Azure Portal で初めての関数を作成する

Azure Functions を使用すると、最初に仮想マシン (VM) を作成したり、Web アプリケーションを発行したりしなくても、サーバーレス環境でコードを実行できます。 この記事では、Azure Functions を使用して Azure portal で "hello world" の HTTP トリガー関数を作成する方法について説明します。

記事の冒頭で、使用するプログラミング言語を選んでください。

Note

現在、Azure portal での C# 関数コードの編集は、C# スクリプト (.csx) 関数についてのみサポートされています。 Azure portal での関数コードの編集に関する制限事項の詳細については、「Azure portal での開発制限事項」を参照してください。

かわりに、関数をローカルで開発し、Azure の関数アプリに公開することをお勧めします。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。

Note

Azure portal での Java 関数コードの編集は現在サポートされていません。 詳細については、「Azure portal での開発の制限事項」をご覧ください。

かわりに、関数をローカルで開発し、Azure の関数アプリに公開することをお勧めします。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。

Note

Azure portal での開発制限事項があるため、代わりに関数をローカルで開発し、Azure の関数アプリに発行する必要があります。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。

Note

Azure portal での TypeScript 関数コードの編集は現在サポートされていません。 詳細については、「Azure portal での開発の制限事項」をご覧ください。

かわりに、関数をローカルで開発し、Azure の関数アプリに公開することをお勧めします。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。

Note

Azure portal での開発制限事項があるため、代わりに関数をローカルで開発し、Azure の関数アプリに発行する必要があります。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。

Note

Azure portal での Python 関数の開発は、現在、従量課金プランで実行されている場合にのみサポートされています。 詳細については、「Azure portal での開発の制限事項」をご覧ください。

かわりに、関数をローカルで開発し、Azure の関数アプリに公開することをお勧めします。 次のいずれかのリンクを使用して、選択したローカル開発環境で作業を開始します。

Azure portal での Python を使用した Azure Functions の開発に関する既知の問題を確認してください。

前提条件

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

Azure へのサインイン

Azure アカウントで Azure Portal にサインインします。

Function App を作成する

関数の実行をホストするための関数アプリが存在する必要があります。 関数アプリを使用すると、リソースの管理、デプロイ、スケーリング、および共有を容易にするための論理ユニットとして関数をグループ化できます。

Azure portal でコードを編集できるかに関わらず、関数アプリとそれに関連する Azure リソースを作成するには次の手順を使用します。

ポータルで編集可能な C# スクリプト アプリを作成できるようにするには、.NET バージョンとして 6 (LTS) を選択する必要があります。

  1. Azure portal のメニューまたは [ホーム] ページから [リソースの作成] を選択します。

  2. [新規] ページで、 [計算]>、 [関数アプリ] の順に選択します。

  3. [基本] ページで、下の表に指定されている関数アプリの設定を使用します。

    設定 提案された値 説明
    サブスクリプション 該当するサブスクリプション 新しい関数アプリを作成するサブスクリプション。
    リソース グループ myResourceGroup 関数アプリを作成する新しいリソース グループの名前。 既存のリソース グループに新しい関数アプリを作成する際の既知の制限があるため、新しいリソース グループを作成する必要があります。
    関数アプリ名 グローバルに一意の名前 新しい関数アプリを識別する名前。 有効な文字は、a-z (大文字と小文字の区別をしない)、0-9、および -です。
    コードまたはコンテナー イメージをデプロイしますか? コード コード ファイルまたは Docker コンテナーの発行オプション。
    ランタイム スタック 優先言語 お気に入りの関数プログラミング言語をサポートするランタイムを選択します。 ポータル内編集は、JavaScript、PowerShell、Python、TypeScript、C# スクリプトでのみ利用できます。 C# クラス ライブラリ、Java の関数はローカルで開発する必要があります。
    バージョン バージョン番号 インストールされているランタイムのバージョンを選択します。
    リージョン 優先リージョン 自分の近く、または関数がアクセスできる他のサービスの近くのリージョンを選択します。
    オペレーティング システム Windows オペレーティング システムは、ランタイム スタックの選択に基づいてあらかじめ選択されますが、必要に応じて設定を変更できます。 ポータルでの編集は Windows でのみサポートされます。 コンテナーの発行は Linux でのみサポートされています。
    ホスティング オプションとプラン 従量課金プラン (サーバーレス) 関数アプリにどのようにリソースが割り当てられるかを定義するホスティング プラン。 既定の [従量課金プラン] では、リソースは関数の必要に応じて動的に追加されます。 このサーバーレスのホスティングでは、関数が実行された時間にのみ課金されます。 Premium プランでは、動的スケーリングも提供されます。 App Service プランで実行する場合は、関数アプリのスケーリングを管理する必要があります。
  4. [ストレージ] タブで新しいストレージ アカウントを作成し、[監視] タブで新しい Application Insight インスタンスを作成する既定のオプションを受け入れます。既存のストレージ アカウントまたは Application Insights インスタンスを使用することもできます。

  5. [確認と作成] を選択して選択したアプリ設定をレビューし、[作成] を選択して関数アプリをプロビジョニングおよびデプロイします。

  6. ポータルの右上隅の [通知] アイコンを選択し、"デプロイメントに成功しました" というメッセージが表示されるまで待ちます。

  7. [リソースに移動] を選択して、新しい関数アプリを確認します。 また、 [ダッシュボードにピン留めする] を選択することもできます。 ピン留めすると、ダッシュボードからこの関数アプリ リソースに戻るのが容易になります。

    Screenshot of deployment notification.

次に、新しい関数アプリで関数を作成します。

HTTP トリガー関数を作成する

  1. 関数アプリで [概要] を選択し、[関数][+ 作成] を選択します。 [+ 作成] ボタンが表示されない場合は、代わりにローカルで関数を作成できます。

  2. [テンプレートの選択] で、下にスクロールして [HTTP トリガー] テンプレートを選択します。

  3. [テンプレートの詳細] で、[新しい関数]HttpExample を使用し、[承認レベル] ドロップダウン リストから [匿名] を選択して、[作成] を選択します。

    Azure によって HTTP トリガー関数が作成されます。 ここで、HTTP 要求を送信することで、新しい関数を実行できます。

関数をローカルで作成する

ポータルで関数コードを作成できない場合は、代わりにローカル プロジェクトを作成し、関数コードを新しい関数アプリに発行できます。

  1. 関数アプリで [概要] を選択し、[関数] の下の [Create functions in your preferred environment]\(優先する環境で関数を作成\) を選択します。

  2. 優先するローカル開発環境を選択し、リンクされた記事の手順に従って、最初の Azure Functions プロジェクトを作成して発行します。

    ヒント

    新しいプロジェクトを発行するときは、ここで作成した関数アプリと関連リソースを必ず使用してください。

関数をテストする

ヒント

ポータルの [コードとテスト] 機能は、読み取り専用でポータルで編集できない関数に対しても機能します。

  1. ポータルで、新しい関数アプリで HTTP によってトリガーされる関数を見つけ、左側のメニューから [コード + テスト] を選択し、上部のメニューから [関数 URL の取得] を選択します。

    Screenshot of Get function URL window.

  2. [関数の URL の取得] ダイアログで、ドロップダウン リストから [デフォルト] を選択し、[クリップボードにコピー] アイコンを選択します。

    Screenshot of Copy the function URL window from the Azure portal.

  3. 関数 URL をブラウザーのアドレス バーに貼り付けます。 この URL の末尾にクエリ文字列の値 ?name=<your_name> を追加し、Enter キーを押して要求を実行します。 ブラウザーに、クエリ文字列値をエコー バックする応答メッセージが表示されます。

    要求 URL にアクセス キー (?code=...) が含まれていた場合、関数を作成するときに [匿名] アクセス レベルではなく [Function] を選択したことを示します。 この場合、代わりに &name=<your_name> を追加する必要があります。

  4. 関数が実行されると、ログにトレース情報が書き込まれます。 トレース出力を表示するには、ポータルの [Code + Test](コード + テスト) ページに戻り、ページの下部にある [ログ] 矢印を展開します。 関数を再度呼び出して、ログに書き込まれたトレース出力を確認します。

    Screenshot of Functions log viewer in the Azure portal.

リソースをクリーンアップする

このコレクションの他のクイックスタートは、このクイックスタートに基づいています。 クイック スタート、チュートリアル、またはこのクイック スタートで作成したサービスのいずれかでの作業を引き続き行う場合は、リソースをクリーンアップしないでください。

Azure の "リソース" とは、関数アプリ、関数、ストレージ アカウントなどのことを指します。 これらは "リソース グループ" に分類されており、グループを削除することでグループ内のすべてのものを削除できます。

これで、これらのクイックスタートを完了するためのリソースが作成されました。 アカウントの状態サービスの価格によっては、これらのリソースに対して課金される可能性があります。 リソースの必要がなくなった場合にそれらを削除する方法を、次に示します。

  1. Azure Portal で、 [リソース グループ] ページに移動します。

    関数アプリ ページからこのページに移動するには、[概要] タブを選択し、[リソース グループ] の下にあるリンクを選択します。

    Screenshot that shows select the resource group to delete from the function app page.

    ダッシュボードからこのページに移動するには、 [リソース グループ] を選択してから、この記事用に使用したリソース グループを選択します。

  2. [リソース グループ] ページで、含まれているリソースの一覧を確認し、削除するものであることを確認します。

  3. [リソース グループの削除] を選択し、指示に従います。

    削除には数分間かかることがあります。 実行されると、通知が数秒間表示されます。 ページの上部にあるベルのアイコンを選択して、通知を表示することもできます。

次のステップ

最初の関数を作成した後は、メッセージを Storage キューに書き込む出力バインディングをこの関数に追加しましょう。