5分でわかる!Azure Functions の使い方

5分でわかる!Azure Functions の使い方
あぱーブログ
2018年12月6日  カテゴリー:WEB  タグ: , ,
Pocket
LINEで送る

Azure Functions(アジュール ファンクションズ)は、サーバーの構築や保守を必要することなく、プログラムコードを実行してくれるマイクロソフトが提供するクラウドサービスのひとつです。必要に応じてスケーリングもしてくれるのでサーバの管理が一切不要になるため「サーバーレスコンピューティング」と呼ばれることもあります。そこで今回は、Azure Functions の簡単な使い方をまとめてみました。

リソースグループの作成

まずはじめにリソースグループを作成します。Azure のリソースグループは、GCPで言うところのプロジェクトに該当するものです。リソースグループを削除すれば所属しているリソースをまとめて削除することができるので、片付けを簡単にすることができます。

Azure Portal にログインしたら「リソースグループ」を選択して「+追加」をクリックします。

適当なリソースグループ名を入力して、リソースグループの場所を選択したら「作成」をクリックします。

以上でリソースグループが作成されます。

Function App の作成

続いて Function App を作成します。

「+リソースの作成」>「Compute」>「Function App」をクリックします。

適当なアプリ名を入力して、先ほど作成したリソーズグループを選択します。(次に続きます)

場所とお好みのランタイムスタック(プログラム言語)を選択して、Application Insights の場所も選択したら「作成」をクリックするとデプロイが開始します。

2〜3分でデプロイが完了します。左メニューの「Function App」をクリックすれば、アプリが作成されていることが確認できます。

関数の作成

本題の関数(Functions)を作成します。

作成したアプリを選択して関数の「+」をクリックします。

開発環境は「ポータル内」を選択し「続行」をクリックします。

関数のトリガーとなる「webhook + API」を選択し「作成」をクリックします。

下のようなコードの関数が作成されます。そのまま実行してみますので「関数のURLの取得」をクリックします。

URLをコピーします。クエリパラメータ「code」の値が APIキーに該当するもので、Azure Functions では「関数キー」と呼ばれます。

余談ですが関数キーは「管理」の画面でも確認することができます。

コピーしたURLにリクエストを実行して、下のようなレスポンスが返ってくればOKです。

curl "https://sample-20181203.azurewebsites.net/api/HttpTrigger1?code=<関数キー>"
 
Please pass a name on the query string or in the request body

オリジナルの関数の作成

今回はサンプルとして、クエリパラメータ「string」に指定した文字列を返すだけの関数「echo」を作ってみます。

 

関数の「+」をクリックします。

テンプレート「HTTP trigger」をクリックします。

作成する関数名を入力して「作成」をクリックします。

関数のコードを入力して「保存」をクリックします。

右にスクロールして「テスト」タブを選択します。

HTTPメソッド「GET」を選択し、クエリパラメータ「string」を追加してなにかしら値を入力したら、ページ下部の「実行」をクリックします。

出力にクエリパラメータ「string」の値が表示されていればOKです。

プログラムにエラーがある場合は、「ログ」ウィンドウにエラーの詳細を出力してくれるので、デバックすることもできます。

最後に作成した関数「echo」を実行します。(赤字が先ほどのURLから変更した部分です)

curl "https://sample-20181203.azurewebsites.net/api/echo?string=HelloWorld&code=<関数キー>"
 
HelloWorld

おわりに

はじめて Microsoft Azure を使ってみたのですが、ランタイムのデフォルト値が「.NET」になっているところに Microsoft らしさを感じました(^^) こんなところがこれまで Windows を中心にサーバー構築や開発をされてきた方には、安心して使えるクラウドサービスなのかもしれませんね。

スポンサーリンク
Pocket
LINEで送る

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です