Azure Functions を使用すると、最初に仮想マシン (VM) を作成したり、Web アプリケーションを発行したりしなくても、サーバーレス環境でコードを実行できます。 この記事では、Azure Functions を使用して Azure portal で "hello world" の HTTP トリガー関数を作成する方法について説明します。
記事の冒頭で、使用するプログラミング言語を選んでください。
注
現在、Azure portal での C# 関数コードの編集は、C# スクリプト (.csx) 関数についてのみサポートされています。 Azure portal での関数コードの編集に関する制限事項の詳細については、「Azure portal での開発制限事項」を参照してください。
かわりに、関数をローカルで開発し、Azure の関数アプリに公開することをお勧めします。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。
注
Azure portal での Java 関数コードの編集は現在サポートされていません。 詳細については、「Azure portal での開発の制限事項」をご覧ください。
かわりに、関数をローカルで開発し、Azure の関数アプリに公開することをお勧めします。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。
注
Azure portal での開発制限事項があるため、代わりに関数をローカルで開発し、Azure の関数アプリに発行する必要があります。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。
注
Azure portal での開発制限事項があるため、代わりに関数をローカルで開発し、Azure の関数アプリに発行する必要があります。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。
注
Azure portal での TypeScript 関数コードの編集は現在サポートされていません。 詳細については、「Azure portal での開発の制限事項」をご覧ください。
かわりに、関数をローカルで開発し、Azure の関数アプリに公開することをお勧めします。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。
注
Azure portal での開発制限事項があるため、代わりに関数をローカルで開発し、Azure の関数アプリに発行する必要があります。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。
Azure portal での Python を使用した Azure Functions の開発に関する既知の問題を確認してください。
[前提条件]
Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
Azure にサインインする
Azure アカウントで Azure Portal にサインインします。
Function App を作成する
関数の実行をホストするための関数アプリが存在する必要があります。 関数アプリを使用すると、リソースの管理、デプロイ、スケーリング、および共有を容易にするための論理ユニットとして関数をグループ化できます。
Azure portal でコードを編集できるかに関わらず、関数アプリとそれに関連する Azure リソースを作成するには次の手順を使用します。
ポータルで編集可能な C# スクリプト アプリを作成できるようにするには、.NET バージョンとして 8 (LTS)、インプロセス モデルを選択します。
Azure portal のメニューまたは [ホーム] ページから [リソースの作成] を選択します。
[ 新規 ] ページで、[ 関数アプリ] を選択します。
[ホスティング オプションを選択する] で、[従量課金]>[選択] を選択して、既定の従量課金プランでアプリを作成します。 このサーバーレスのホスティング オプションでは、関数が実行された時間にのみ課金されます。 Premium プランでは、動的スケーリングも提供されます。 App Service プランで実行する場合は、関数アプリのスケーリングを管理する必要があります。
[基本] ページで、下の表に指定されている関数アプリの設定を使用します。
設定 推奨値 説明 サブスクリプション あなたのサブスクリプション 新しい関数アプリを作成するサブスクリプション。 リソース グループ myResourceGroup 関数アプリを作成する新しいリソース グループの名前。 既存のリソース グループに新しい関数アプリを作成する際の既知の制限があるため、新しいリソース グループを作成する必要があります。 関数アプリ名 グローバルに一意の名前 新しい関数アプリを識別する名前。 有効な文字は、 a-z
(大文字と小文字の区別をしない)、0-9
、および-
です。ランタイム スタック 優先言語 お気に入りの関数プログラミング言語をサポートするランタイムを選択します。 ポータル内編集は、JavaScript、PowerShell、Python、TypeScript、C# スクリプトでのみ利用できます。
ポータル内編集をサポートする C# スクリプト アプリを作成するには、インプロセス モデルをサポートするランタイム バージョンを選択する必要があります。
C# クラス ライブラリ、Java の関数はローカルで開発する必要があります。バージョン バージョン番号 インストールされているランタイムのバージョンを選択します。 リージョン 優先リージョン 自分の近く、または関数がアクセスできる他のサービスの近くのリージョンを選択します。 オペレーティング システム ウィンドウズ オペレーティング システムは、ランタイム スタックの選択に基づいてあらかじめ選択されますが、必要に応じて設定を変更できます。 ポータルでの編集は Windows でのみサポートされます。 残りのタブの既定のオプション ([ストレージ] タブで新しいストレージ アカウントを作成する既定の動作や、[監視] タブの新しい Application Insights インスタンスなど) は、そのまま受け入れます。既存のストレージ アカウントまたは Application Insights インスタンスを使用することもできます。
[確認と作成] を選択して選択したアプリ設定をレビューし、[作成] を選択して関数アプリをプロビジョニングおよびデプロイします。
ポータルの右上隅の [通知] アイコンを選択し、"デプロイメントに成功しました" というメッセージが表示されるまで待ちます。
[リソースに移動] を選択して、新しい関数アプリを確認します。 また、ダッシュボードにピンを固定する を選択することもできます。 ピン留めすると、ダッシュボードからこの関数アプリ リソースに戻るのが容易になります。
次に、新しい関数アプリで関数を作成します。
HTTP トリガー関数を作成する
関数アプリで [概要] を選択し、[関数] で [+ 作成] を選択します。 [+ 作成] ボタンが表示されない場合は、代わりに関数をローカルで作成する必要があります。
[テンプレートの選択] で、下にスクロールして [HTTP トリガー] テンプレートを選択します。
[テンプレートの詳細] で、
HttpExample
に を使用し、[承認レベル] ドロップダウン リストから [匿名] を選択して、[作成] を選択します。Azure によって HTTP トリガー関数が作成されます。 ここで、HTTP 要求を送信することで、新しい関数を実行できます。
関数をローカルで作成する
ポータルで関数コードを作成できない場合は、代わりにローカル プロジェクトを作成し、関数コードを新しい関数アプリに発行できます。
関数アプリで [概要] を選択し、[関数] の下の [Create functions in your preferred environment]\(優先する環境で関数を作成\) を選択します。
優先するローカル開発環境を選択し、リンクされた記事の手順に従って、最初の Azure Functions プロジェクトを作成して発行します。
ヒント
新しいプロジェクトを発行するときは、ここで作成した関数アプリと関連リソースを必ず使用してください。
関数をテストする
ヒント
ポータルの [コードとテスト] 機能は、読み取り専用でポータルで編集できない関数に対しても機能します。
新しい関数アプリの [概要] ページにある [関数] タブで、HTTP によってトリガーされる新しい関数を選択します。
左側のメニューで、[Developer] を展開し、[コードとテスト] を選択して、[テスト/実行] を選択します。
[テスト/実行] ダイアログで、[実行] を選択します。
HTTP POST 要求は、
name
のAzure
値を含むペイロードとともに新しい関数に送信されます。 [HTTP メソッド] に [GET] を選択し、値name
を持つYOUR_NAME
パラメーターを追加することで関数をテストすることもできます。ヒント
外部ブラウザーでテストするには、代わりに [関数の URL を取得] を選択し、既定 (関数キー) 値をコピーし、この URL の末尾にクエリ文字列値
&name=<YOUR_NAME>
を追加して、Web ブラウザーのアドレス バーに URL を送信します。関数が実行されると、ログにトレース情報が書き込まれます。 トレース出力を表示するには、ポータルの [Code + Test](コード + テスト) ページに戻り、ページの下部にある [ログ] 矢印を展開します。 関数を再度呼び出して、ログに書き込まれたトレース出力を確認します。
リソースをクリーンアップする
このコレクションの他のクイックスタートは、このクイックスタートに基づいています。 クイック スタート、チュートリアル、またはこのクイック スタートで作成したサービスのいずれかでの作業を引き続き行う場合は、リソースをクリーンアップしないでください。
Azure の "リソース" とは、関数アプリ、関数、ストレージ アカウントなどのことを指します。 これらは "リソース グループ" に分類されており、グループを削除することでグループ内のすべてのものを削除できます。
これで、これらのクイックスタートを完了するためのリソースが作成されました。 アカウントの状態とサービスの価格によっては、これらのリソースに対して課金される可能性があります。 リソースの必要がなくなった場合にそれらを削除する方法を、次に示します。
Azure Portal で、 [リソース グループ] ページに移動します。
関数アプリ ページからこのページに移動するには、[概要] タブを選択し、[リソース グループ] の下にあるリンクを選択します。
ダッシュボードからこのページに移動するには、 [リソース グループ] を選択してから、この記事用に使用したリソース グループを選択します。
[リソース グループ] ページで、含まれているリソースの一覧を確認し、削除するものであることを確認します。
[リソース グループの削除] を選択し、指示に従います。
削除には数分間かかることがあります。 実行されると、通知が数秒間表示されます。 ページの上部にあるベルのアイコンを選択して、通知を表示することもできます。
次のステップ
最初の関数を作成した後は、メッセージを Storage キューに書き込む出力バインディングをこの関数に追加しましょう。