Visual Studio を使用した Azure Functions の始め方

Functions を作成する方法は、Azure ポータルを使ったり Visual Studio を使ったり、いくつかあるが、ここでは一番使われると思われる、Visual Studio を使用した始め方を簡単に記載する。

注:Visual Studio は、基本的に最新の状態で使うこと。Azure Functions 自体が出て間もないサービスと言うこともあり、Visual Studio との統合機能もかなり頻繁に更新されている。使用できる機能や UI なども結構変わるので、ここでの手順も、細かいところは違っている可能性がある。

ここでは、Visual Studio 2017+C# で新規の Functions プロジェクトを従量課金プランで作成してみる。

  1. Visual Studio で新規プロジェクトを作成し、テンプレートは「Azure Functions」を選択する
  2. Functions は関数単位でエントリポイントを作成していく。例えば、GET の REST API を追加するのであれば、ソリューション エクスプローラーで当該プロジェクトを右クリックし、コンテキストメニューから [追加] - [新しい項目] を選んで [Azure 関数] を追加し、関数の種類では Http trigger を選択する。Access rights は関数の呼び出し時にどのような認証を行うかだが、単純なテスト用であれば、誰でも呼ぶことが出来る「Anonymous」で良いと思う
  3. この状態で、ローカルでのデバッグ実行可能。念の為デバッグ実行してみる (デバッグ実行すると、関数実行用の URL が表示されて待ち状態になるので、その URL をブラウザから叩く)
  4. ソリューション エクスプローラーで当該プロジェクトを右クリックし、コンテキストメニューから[発行] をクリックする
  5. [発行] 画面で [Azure 関数アプリ] の新規作成を選択し、[Create Profile] をクリックする (Publish の方でも構わない)
  6. App Service の作成ダイアログが表示されるので、適宜項目を入力する。いくつか入力するところがあるが、重要なのは、「アプリ名」と「App Service プラン」
    • [アプリ名] - この名称が発行先の実際の Function App 名になる。ローカルで作成したプロジェクトの名称は関係ないので、注意。URL にも使用されるので、グローバルで一意である必要がある
    • [App Service プラン] - App Service プランか従量課金プランかを選択する。App Service プランを選ぶ場合は、Basic 以上のプランである必要がある。基本無料で使用できる従量課金プランを選ぶ時は、[新規作成] ボタンをクリックして App Service プランの構成ダイアログを表示し、[サイズ] のドロップダウンで「消費」を選択する必要がある
  7. 項目の入力が終わったら、[作成] ボタンをクリックする。最初に [Create Profile] を選んでいた場合は、この時点で Azure ポータルに入力した Function App 名で枠だけ作成される (中身の関数はまだ)
  8. [発行] ボタンをクリックすると、選択しているプロファイル情報を基に関数が発行される。この時点で、Azure 上での実行が可能な状態となる
  9. Azure ポータルで当該 Function App を選択し、実行したい関数を選択して [実行] ボタンを押すと、関数が実行される。[実行] ボタンの右にある [関数の URL の取得] をクリックすると、URL がコピーできる (Http trigger 関数の場合) f:id:poke_dev:20180430212004p:plain
  10. Visual Studio から発行した場合、Azure ポータル上で関数の修正とかは出来ないので、関数の修正や追加など行う場合は Visual Studio で行った後に、再度発行する

参考 URL