Azure でタイマーによってトリガーされる関数を作成するCreate a function in Azure that is triggered by a timer

Azure Functions を使用して、定義したスケジュールに基づいて、実行するサーバーレス関数を作成する方法について説明します。Learn how to use Azure Functions to create a serverless function that runs based on a schedule that you define.

前提条件Prerequisites

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

  • Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.

Azure Function App の作成Create an Azure Function app

  1. Azure portal メニューまたは [ホーム] ページで、 [リソースの作成] を選択します。From the Azure portal menu or the Home page, select Create a resource.

  2. [新規] ページで、 [計算] 、 > [関数アプリ] の順に選択します。In the New page, select Compute > Function App.

  3. [基本] ページで、下の表で指定されている関数アプリの設定を使用します。On the Basics page, use the function app settings as specified in the following table.

    設定Setting 推奨値Suggested value 説明Description
    サブスクリプションSubscription 該当するサブスクリプションYour subscription この新しい Function App が作成されるサブスクリプション。The subscription under which this new function app is created.
    リソース グループResource Group myResourceGroupmyResourceGroup Function App を作成するための新しいリソース グループの名前。Name for the new resource group in which to create your function app.
    関数アプリ名Function App name グローバルに一意の名前Globally unique name 新しい Function App を識別する名前。Name that identifies your new function app. 有効な文字は、a-z (大文字と小文字の区別をしない)、0-9、および -です。Valid characters are a-z (case insensitive), 0-9, and -.
    発行Publish コードCode コード ファイルまたは Docker コンテナーの発行オプション。Option to publish code files or a Docker container.
    ランタイム スタックRuntime stack 優先言語Preferred language お気に入りの関数プログラミング言語をサポートするランタイムを選択します。Choose a runtime that supports your favorite function programming language. C# 関数および F# 関数の場合は、 [.NET Core] を選択します。Choose .NET Core for C# and F# functions.
    VersionVersion バージョン番号Version number インストールされているランタイムのバージョンを選択します。Choose the version of your installed runtime.
    リージョンRegion 優先リージョンPreferred region ユーザーに近いリージョン、または関数がアクセスする他のサービスの近くのリージョンを選択します。Choose a region near you or near other services your functions access.

    基本

  4. [次へ :ホスティング] を選択します。Select Next : Hosting. [ホスティング] ページで、次の設定を入力します。On the Hosting page, enter the following settings.

    設定Setting 推奨値Suggested value 説明Description
    ストレージ アカウントStorage account グローバルに一意の名前Globally unique name Function App で使用されるストレージ アカウントを作成します。Create a storage account used by your function app. ストレージ アカウント名は、3 文字から 24 文字までの長さにし、数字と小文字のみを使用する必要があります。Storage account names must be between 3 and 24 characters in length and can contain numbers and lowercase letters only. 既存のアカウントを使用することもできますが、ストレージ アカウントの要件を満たしている必要があります。You can also use an existing account, which must meet the storage account requirements.
    オペレーティング システムOperating system 優先オペレーティング システムPreferred operating system オペレーティング システムは、ランタイム スタックの選択に基づいてあらかじめ選択されますが、必要に応じて設定を変更できます。An operating system is pre-selected for you based on your runtime stack selection, but you can change the setting if necessary.
    プランPlan 従量課金プラン (サーバーレス)Consumption (Serverless) Function App にどのようにリソースが割り当てられるかを定義するホスティング プラン。Hosting plan that defines how resources are allocated to your function app. 既定の [従量課金プラン] では、リソースは関数の必要に応じて動的に追加されます。In the default Consumption plan, resources are added dynamically as required by your functions. このサーバーレスのホスティングでは、関数が実行された時間にのみ課金されます。In this serverless hosting, you pay only for the time your functions run. App Service プランで実行する場合は、関数アプリのスケーリングを管理する必要があります。When you run in an App Service plan, you must manage the scaling of your function app.

    Hosting

  5. [次へ :監視] を選択します。Select Next : Monitoring. [監視] ページで、次の設定を入力します。On the Monitoring page, enter the following settings.

    設定Setting 推奨値Suggested value 説明Description
    Application InsightsApplication Insights DefaultDefault 最も近いサポートされているリージョン内に同じアプリ名の Application Insights リソースを作成します。Creates an Application Insights resource of the same App name in the nearest supported region. この設定を展開するか、 [新規作成] を選択することによって、Application Insights 名を変更するか、データを格納する Azure 地理的環境内の別のリージョンを選択することができます。By expanding this setting or selecting Create new, you can change the Application Insights name or choose a different region in an Azure geography where you want to store your data.

    監視

  6. [確認および作成] を選択して、アプリ構成の選択内容を確認します。Select Review + create to review the app configuration selections.

  7. [確認および作成] ページで設定を確認して、 [作成] を選択し、関数アプリをプロビジョニングしてデプロイします。On the Review + create page, review your settings, and then select Create to provision and deploy the function app.

  8. ポータルの右上隅の [通知] アイコンを選択し、"デプロイメントに成功しました" というメッセージが表示されるまで待ちます。Select the Notifications icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

  9. [リソースに移動] を選択して、新しい Function App を確認します。Select Go to resource to view your new function app. また、 [ダッシュボードにピン留めする] を選択することもできます。You can also select Pin to dashboard. ピン留めすると、ダッシュボードからこの関数アプリ リソースに戻るのが容易になります。Pinning makes it easier to return to this function app resource from your dashboard.

    デプロイの通知

新しい関数アプリを使用する準備ができました。Your new function app is ready to use. 次に、新しい関数アプリで関数を作成します。Next, you'll create a function in the new function app.

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

タイマーによってトリガーされる関数の作成Create a timer triggered function

  1. 関数アプリで、 [関数] を選択し、 [+ 追加] を選択します。In your function app, select Functions, and then select + Add

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

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

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

  3. 画像の下の表に示されている設定で新しいトリガーを構成し、 [関数の作成] を選択します。Configure the new trigger with the settings as specified in the table below the image, and then select Create Function.

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

    設定Setting 推奨値Suggested value 説明Description
    名前Name DefaultDefault タイマーによってトリガーされる関数の名前を定義します。Defines the name of your timer triggered function.
    [スケジュール]Schedule 0 */1 * * * *0 */1 * * * * 関数を毎分実行するようにスケジュールする 6 つのフィールドの CRON 式A six field CRON expression that schedules your function to run every minute.

関数をテストするTest the function

  1. 関数で、 [コードとテスト] を選択し、ログを展開します。In your function, select Code + Test and expand the logs.

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

  2. ログに書き込まれた情報を表示して、実行を確認します。Verify execution by viewing the information written to the logs.

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

ここで、1 分ごとではなく 1 時間ごとに実行するように、関数のスケジュールを変更します。Now, you change the function's schedule so that it runs once every hour instead of every minute.

タイマー スケジュールの更新Update the timer schedule

  1. 関数で、 [統合] を選択します。In your function, select Integration. ここでは、関数の入力および出力バインドを定義し、スケジュールも設定します。Here, you define input and output bindings for your function and also set the schedule.

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

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

  3. [スケジュール] の値を 0 0 */1 * * * に更新し、 [保存] を選択します。Update the Schedule value to 0 0 */1 * * *, and then select Save.

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

関数が 1 時間ごと (正時) に実行されるようになりました。You now have a function that runs once every hour, on the hour.

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

このコレクションの他のクイックスタートは、このクイックスタートに基づいています。Other quickstarts in this collection build upon this quickstart. クイック スタート、チュートリアル、またはこのクイック スタートで作成したサービスのいずれかでの作業を引き続き行う場合は、リソースをクリーンアップしないでください。If you plan to work with subsequent quickstarts, tutorials, or with any of the services you have created in this quickstart, do not clean up the resources.

Azure の "リソース" とは、関数アプリ、関数、ストレージ アカウントなどのことを指します。Resources in Azure refer to function apps, functions, storage accounts, and so forth. これらは "リソース グループ" に分類されており、グループを削除することでグループ内のすべてのものを削除できます。They're grouped into resource groups, and you can delete everything in a group by deleting the group.

これらのクイックスタートを完了するためにリソースを作成しました。You created resources to complete these quickstarts. これらのリソースには、アカウントの状態サービスの価格に応じて課金される場合があります。You may be billed for these resources, depending on your account status and service pricing. リソースの必要がなくなった場合にそれらを削除する方法を、次に示します。If you don't need the resources anymore, here's how to delete them:

  1. Azure Portal で、 [リソース グループ] ページに移動します。In the Azure portal, go to the Resource group page.

    Function App ページからこのページに移動するには、 [概要] タブを選択してから、 [リソース グループ] の下にあるリンクを選択します。To get to that page from the function app page, select the Overview tab and then select the link under Resource group.

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

    ダッシュボードからこのページに移動するには、 [リソース グループ] を選択してから、このクイックスタート用に使用したリソース グループを選択します。To get to that page from the dashboard, select Resource groups, and then select the resource group that you used for this quickstart.

  2. [リソース グループ] ページで、含まれているリソースの一覧を確認し、削除するものであることを確認します。In the Resource group page, review the list of included resources, and verify that they're the ones you want to delete.

  3. [リソース グループの削除] を選択し、指示に従います。Select Delete resource group, and follow the instructions.

    削除には数分かかることがあります。Deletion may take a couple of minutes. 実行されると、通知が数秒間表示されます。When it's done, a notification appears for a few seconds. ページの上部にあるベルのアイコンを選択して、通知を表示することもできます。You can also select the bell icon at the top of the page to view the notification.

次のステップNext steps

スケジュールに基づいて実行する関数を作成しました。You've created a function that runs based on a schedule. タイマー トリガーの詳細については、Azure Functions を使用したコード実行のスケジュール設定に関するページを参照してください。For more information about timer triggers, see Schedule code execution with Azure Functions.

最初の関数を作成した後は、メッセージを Storage キューに書き込む出力バインディングをこの関数に追加しましょう。Now that you've created your first function, let's add an output binding to the function that writes a message to a Storage queue.