はじめに
とりあえずAzure Function動かしてえ、という人向けに書きました
説明は最小限にとどめてありますが、環境構築ができるところまで書いたのでお役に立てればうれしいです
1. ローカルでの関数作成
1-1. Azure Functions Core Tools のインストール
こちらからローカル環境での開発に必要なFunctions Core Toolsをインストールしてください
インストール完了後に、ターミナルなどでfunc
と入力して使い方が表示されればOKです
1-2. プロジェクト作成
先ほどインストールしたFunctions Core Toolsを使いAzure Functionのプロジェクトを作成します
任意のフォルダをVS Codeを開き、ターミナルから以下のコマンドを実行します
> func init
矢印キーを使って使用するランタイム(今回はpython)を選択します
python
が青色になっている状態でEnter
を押します
いろいろファイルが作成されますね、とりあえず以下の認識で大丈夫です
1-3. 関数の作成
プロジェクトができたので関数を作成します、1つのプロジェクトの中で複数の関数を作ることができます。
以下のコマンドを実行します
> func new
今回はHTTPリクエストをトリガーとして実行される関数を作るのでHTTP trigger
を選択します
トリガーの種類を選択したら、関数の名前を聞かれます
そのままEnterを押せばHttpTrigger
という名前になります(今回はそのままEnterを押します)
__init__.py
はプログラムの本体にあたります、HTTPリクエストがあったらmain
関数の処理が走ります
簡単にソースコードを解説すると、name
クエリがあれば19行目、なければ21行目を返すようになっています
1-4. プログラムの実行
実はこの状態でこの関数を実行することができます
ターミナルに以下のコマンドを実行し、関数を実行します
> func start
起動したようです、表示されているURLを叩けば、関数が実行されます
1-5. 動作確認
ブラウザにURLを入力してリクエストを飛ばしてみましょう、画像のようなレスポンスが返ってくれば正常に動作しています!
name
クエリを指定しなかったので__init__.py
の22行目の文字列が返ってきています
次はname
クエリを指定してみましょう
URLの末尾に?name=YOSHIDA
を追記してみます
http://localhost:7071/api/HttpTrigger?name=YOSHIDA
name
クエリを指定したので__init__.py
の19行目の文字列が返ってきました!
2. アプリをデプロイする
2-1. リソースの作成
いよいよAzureの出番です、Azureポータルにアクセスます
「関数アプリ」に移動し、「+作成」をクリックします
リソースの設定は以下の画像のようにして、リソースを作成してください
リソースグループ名・関数アプリ名はなんでもいいです
注意点
-
リソースグループは新規で作成することをお勧めます、最後にリソースグループごと削除します
-
ランタイムスタックとホスティングオプションとプランは間違えないようにしてください
作成したリソースグループを見てみましょう
関数アプリを作成すると、関数アプリを運用するために必要なリソース・監視するためのリソースも同時に作成されます
2-2. ローカルで作成したアプリのデプロイ
VS CodeからAzure Funtionsの拡張機能をインストールします
インストールが完了すると、右側にAzureのアイコンが表示されます
Sign in to Azure...
をクリックしサインインします
VS CodeでF1キーを入力し、deploy to function app
と入力しFunctions Appにデプロイを行うコマンドを選択します
対象のフォルダを聞かれるので、デプロイしたいフォルダを選択してください
現在開いているフォルダーをデプロイしたければ(recently used)
の方を選択してください
対象のサブスクリプション・関数アプリ名も聞かれるので、対象のものを選択してください
このタイミングで、プロジェクトを初期化するかか聞かれることがありますので「Yes」を選択してください
「python」を選択してください
(初期化には少し時間がかかります)
本当にデプロイしてよいか聞かれます
対象のリソース名が間違いないか確認ができたら「Deploy」をクリックしてください
2-3. 動作確認
Azureポータルから、対象のアプリにアクセスします
「関数」タブに先ほどデプロイした関数が表示されているのでクリックしてください
この画面では、関数の実行ログの確認や関数のテストを行うことができます
「関数のURLの取得」をクリックし、URLをコピーしてください
ローカルの動作確認と同様に、ブラウザにURLを張り付けてみましょう
見覚えのあるメッセージが返ってくれば成功です!
3. リソースの削除
関数アプリを作成したリソースグループに移動します
「リソースグループの削除」からリソースを削除してください
(※リソースを残しておくと、少額ですが課金されてしまいますので削除をお勧めします)