Azure Functionsを使ってみた -Visual Studio Code連携

はじめに

前回はAzure Functionsの実装までやってみました。
今回は、Visual Studio Code(VS Code)とAzureの連携をやってみます。

拡張機能インストール

VS Code拡張機能検索欄に「Azure Functions」と入力し、Azure Functionsの拡張機能をインストールします。
f:id:sublimer:20191118141239p:plain
インストールしたら、「Sign in to Azure...」をクリックして、自分のアカウントでログインします。
f:id:sublimer:20191118141245p:plain
ログインすると「You are signed in now and can close this page.」と表示されるので、VS Codeに戻ります。

プロジェクト作成

「Create New Project...」(フォルダアイコン)をクリックし、プロジェクトのファイルを保存する場所を選択します。
f:id:sublimer:20191118142238p:plain
その後、言語を選択するダイアログが表示されるので、いずれかを選びます。(今回はJavaSctiptにします)
f:id:sublimer:20191118142145p:plain
次に、Azure Functionsのバージョンを選択するダイアログが表示されるので、好きなものを選びます(今回はv2にします)
f:id:sublimer:20191118142403p:plain
次にテンプレートを選択するダイアログが表示されるので、いずれかを選びます。(今回はHTTP triggerを選択します)
f:id:sublimer:20191118142511p:plain
次に、triggerの名前を入力するダイアログが表示されるので、任意の名前を入力します。(今回は「HttpTrigger」(デフォルト)にします)
f:id:sublimer:20191118142648p:plain
次に、承認レベルを選択するダイアログが表示されるので、いずれかのレベルを選択します。(今回はAnonymousとします)
f:id:sublimer:20191118142934p:plain
各レベルは、Function呼び出し時に、どのようなAPIキーが必要なのかで分かれています。詳しくは、以下のドキュメントを参照してください。
docs.microsoft.com
最後に、どのウィンドウで開くかを聞かれるので、好きなものを選んでください。

おわりに

Azureのポータルサイトを開かなくてもプロジェクトの作成ができました。
次回は、VS Codeで作成したプロジェクトのデプロイをやっていきたいと思います。

Azure Functionsを使ってみた -実装

はじめに

前回はAzure Functionsのデプロイまでやってみました。
今回は、実際にコードを書いてAzure Functionsを動かしてみます。

実装

デプロイが完了したら、「リソースに移動」をクリックします。
その後、左側のメニューから「関数」の「+」ボタンをクリックし、「ポータル内」をクリックして「続行」をクリックします。
f:id:sublimer:20191111140704p:plain
次に、「webhook + API」を選択して、「作成」をクリックします。
f:id:sublimer:20191111140810p:plain
そうすると、既にテンプレートが設定された状態になっているので、「▶実行」をクリックして動作確認をします。
f:id:sublimer:20191111141103p:plain
出力に「Hello Azure」と表示されていればOKです。
次に、アクセス元のIPアドレスを返すように変更してみます。
コードを以下のように書き換えて、再度実行してみてください。

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    context.res = {
        // status: 200, /* Defaults to 200 */
        body: "Your IP Address: " + req.headers['client-ip']
    };
};

あなたのグローバルIPアドレスが返されたかと思います。
また、実行ボタンの隣にある「関数の URL の取得」をクリックし、ポップアップからURLをコピーしてブラウザでアクセスしても、同様にメッセージが返されます。

おわりに

今回はブラウザ上でコーディングをしましたが、テキストエディタの方が作業しやすいかと思います。
次回はVisual Studio Codeとの連携機能を使ってみます。

Azure Functionsを使ってみた -デプロイ

はじめに

アドベントカレンダーの時期ということもあり、「何かAzure関連のアウトプットをしないとな…」と思っていたので、入門記事的なものを書いていこうと思います。
とはいえ、Azureを湯水の如く使う経済力は持っていないので、Azure for Studentsの枠内で使えるサービスをいろいろ触っていこうと思います。
最初はAzure Functionsです。

Azure Functionsとは

FaaS(Function as a Service)の一つです。AWSで言うLambda、GCPで言うCloud Functionsです。
各Function(関数)に一意のエンドポイントが作られるので、そこに対してアクセスをすることで、様々な処理を実行させることができます。

使ってみた

Azureのポータル画面から「リソースの作成」→「Compute」→「関数アプリ」を選択すると、以下の画面が表示されます。
f:id:sublimer:20191111134409p:plain
「関数アプリ名」はURLに使われるので、まだ誰にも使われていないものにしてください。「公開」は「コード」でOKです。「ランタイムスタック」は自分が使いたい言語に合わせて選んでください。今回は「Node.js」にしました。「地域」は「Japan East」(東日本)としました。
その後、「次: ホスト中>」をクリックすると、プラン等の設定画面に移動します。基本的にはデフォルトのままでOKですが、プランの設定項目で「SKU とサイズ」を「Free F1」に設定しておけば常に無料枠で使うことができます。
f:id:sublimer:20191111135017p:plain
あとは「確認および作成」をクリックし、最後に「作成」をクリックすればデプロイが行われます。

おわりに

Azure Functionsのデプロイまでやってみました。
次回は、実際にコードを書いていきます。

令和元年度自衛隊観艦式(の代わりに開催された艦艇特別公開)に行ってきました

はじめに

10月14日の「令和元年度自衛隊観艦式」に応募したところ、無事に当選したので行ってきました!!
と言いたかったのですが、台風19号の影響で観艦式は中止になってしまいました。(仕方ないですね)
代わりに艦艇の特別公開が行われたので、行ってきました。

[注意事項]
私は自衛隊護衛艦・艦これetc...に詳しいわけではありません。
どうかお手柔らかに…(予防線)

続きを読む

libwebrtc on Windowsに挑戦してみた

はじめに

先日、インターンで「libwebrtcをWindows上でビルドし、サンプルプログラムを作成する」ということに挑戦しました。本記事では、作成したプログラムの説明と、実行方法を書いておこうと思います。
sublimer.hatenablog.com

続きを読む

NTTコミュニケーションズでインターンシップをしてきました!!

はじめに

9月4日から18日の2週間、NTTコミュニケーションズインターンシップをさせていただきました。この記事では、インターンシップの体験記として、どのようなことをしたのか、職場の環境はどんな感じなのかを紹介したいと思います。

続きを読む

WebAudio APIでMediaStreamを作ろうとしたらつまずいた話

はじめに

mp3ファイルの音声データをWebRTCで送信しようとしたところ、MediaStreamの作成でつまずいたので、どのようなコードを書くと正しく動作するのか、原因は何だったのかをまとめておこうと思います。

続きを読む