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

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

前提条件

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

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

Function App を作成する

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

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

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

    設定 推奨値 説明
    サブスクリプション 該当するサブスクリプション 新しい関数アプリを作成するサブスクリプション。
    リソース グループ myResourceGroup 関数アプリを作成する新しいリソース グループの名前。
    関数アプリ名 グローバルに一意の名前 新しい 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 で、 [リソース グループ] ページに移動します。

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

    関数アプリのページから削除するリソース グループの選択を示すスクリーンショット。

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

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

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

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

次のステップ

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

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