スケジュールに基づいて実行される関数を Azure portal で作成する

Azure portal を使用して、定義したスケジュールに基づき、Azure でサーバーレスに実行される関数を作成する方法について説明します。

前提条件

このチュートリアルを完了するには、以下が必要です。

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

Function App を作成する

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

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

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

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション この新しい Function App が作成されるサブスクリプション。
    リソース グループ myResourceGroup Function App を作成するための新しいリソース グループの名前。
    関数アプリ名 グローバルに一意の名前 新しい Function App を識別する名前。 有効な文字は、a-z (大文字と小文字の区別をしない)、0-9、および -です。
    発行 コード コード ファイルまたは Docker コンテナーの発行オプション。
    ランタイム スタック 優先言語 お気に入りの関数プログラミング言語をサポートするランタイムを選択します。 ポータル内編集は、JavaScript、PowerShell、TypeScript、および C# スクリプトでのみ利用できます。 C# クラス ライブラリ、Java、Python の関数はローカルで開発する必要があります。
    Version バージョン番号 インストールされているランタイムのバージョンを選択します。
    リージョン 優先リージョン ユーザーに近いリージョン、または関数がアクセスする他のサービスの近くのリージョンを選択します。
  4. [次へ :ホスティング] を選択します。 [ホスティング] ページで、次の設定を入力します。

    設定 推奨値 説明
    ストレージ アカウント グローバルに一意の名前 Function App で使用されるストレージ アカウントを作成します。 ストレージ アカウント名は、3 文字から 24 文字までの長さにし、数字と小文字のみを使用する必要があります。 既存のアカウントを使用することもできますが、ストレージ アカウントの要件を満たしている必要があります。
    オペレーティング システム Windows オペレーティング システムは、ランタイム スタックの選択に基づいてあらかじめ選択されますが、必要に応じて設定を変更できます。 ポータルでの編集は Windows でのみサポートされます。
    プラン 従量課金プラン (サーバーレス) Function App にどのようにリソースが割り当てられるかを定義するホスティング プラン。 既定の [従量課金プラン] では、リソースは関数の必要に応じて動的に追加されます。 このサーバーレスのホスティングでは、関数が実行された時間にのみ課金されます。 App Service プランで実行する場合は、関数アプリのスケーリングを管理する必要があります。
  5. [次へ :監視] を選択します。 [監視] ページで、次の設定を入力します。

    設定 推奨値 説明
    Application Insights Default 最も近いサポートされているリージョン内に同じ アプリ名 の Application Insights リソースを作成します。 この設定を展開するか、 [新規作成] を選択することによって、Application Insights 名を変更するか、データを格納する Azure 地理的環境内の別のリージョンを選択することができます。
  6. [確認および作成] を選択して、アプリ構成の選択内容を確認します。

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

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

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

    デプロイの通知

新しい関数アプリを使用する準備ができました。 次に、新しい関数アプリで関数を作成します。

正常に作成された関数アプリ。

タイマーによってトリガーされる関数の作成

  1. 関数アプリで、 [関数] を選択し、 [+ 追加] を選択します。

    Azure portal で関数を追加する。

  2. [タイマー トリガー] テンプレートを選択します。

    Azure portal で [タイマー トリガー] を選択する。

  3. 画像の下の表に示されている設定で新しいトリガーを構成し、 [関数の作成] を選択します。

    タイマー トリガー テンプレートが選択されている新しい関数ページを示すスクリーンショット。

    設定 推奨値 説明
    名前 Default タイマーによってトリガーされる関数の名前を定義します。
    [スケジュール] 0 */1 * * * * 関数を毎分実行するようにスケジュールする 6 つのフィールドの CRON 式

関数をテストする

  1. 関数で、 [コードとテスト] を選択し、ログを展開します。

    Azure portal でタイマー トリガーをテストする。

  2. ログに書き込まれた情報を表示して、実行を確認します。

    Azure portal でタイマー トリガーを表示する。

ここで、1 分ごとではなく 1 時間ごとに実行するように、関数のスケジュールを変更します。

タイマー スケジュールの更新

  1. 関数で、 [統合] を選択します。 ここでは、関数の入力および出力バインドを定義し、スケジュールも設定します。

  2. [タイマー (myTimer)] を選択します。

    Azure portal でタイマー スケジュールを更新する。

  3. [スケジュール] の値を 0 0 */1 * * * に更新し、 [保存] を選択します。

    Azure portal で関数のタイマー スケジュールを更新する。

関数が 1 時間ごと (正時) に実行されるようになりました。

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

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

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

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

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

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

    Function App ページから削除するリソース グループを選択します。

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

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

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

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

次のステップ

スケジュールに基づいて実行する関数を作成しました。 タイマー トリガーの詳細については、Azure Functions を使用したコード実行のスケジュール設定に関するページを参照してください。

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