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.

Azure Portal での Function App の作成

前提条件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, select Create a resource.

    Azure portal メニューを使用してリソースを追加します

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

  3. 図の下にある表に指定されている関数アプリの設定を使用します。Use the function app settings as specified in the table below the image.

    基本

    SettingSetting 推奨値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] を選択します。Choose .NET for C# and F# functions.
    [リージョン]Region 優先リージョンPreferred region ユーザーに近いリージョン、または関数がアクセスする他のサービスの近くのリージョンを選択します。Choose a region near you or near other services your functions access.

    [Next : Hosting >](次へ: ホスティング>) ボタンを選択します。Select the Next : Hosting > button.

  4. ホスティングに関する次の設定を入力します。Enter the following settings for hosting.

    Hosting

    SettingSetting 推奨値Suggested value 説明Description
    ストレージ アカウントStorage account グローバルに一意の名前Globally unique name 関数アプリで使用されるストレージ アカウントを作成します。Create a storage account used by your function app. ストレージ アカウント名の長さは 3 ~ 24 文字で、数字と小文字のみを使用できます。Storage account names must be between 3 and 24 characters in length and may 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 plan 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 only pay 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.

    [Next : Monitoring >](次へ: 監視>) ボタンを選択します。Select the Next : Monitoring > button.

  5. 監視に関する次の設定を入力します。Enter the following settings for monitoring.

    監視

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

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

  6. [作成] を選択して、Function App をプロビジョニングし、デプロイします。Select Create to provision and deploy the function app.

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

    デプロイの通知

  8. [リソースに移動] を選択して、新しい関数アプリを確認します。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.

Function App が正常に作成されました。

次に、新しい Function App で関数を作成します。Next, you create a function in the new function app.

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

  1. Function App を展開し、 [関数] の横にある [+] ボタンをクリックします。Expand your function app and click the + button next to Functions. これが関数アプリの初めての関数の場合は、 [ポータル内][続行] の順に選択します。If this is the first function in your function app, select In-portal then Continue. それ以外の場合は、手順 3 に進みます。Otherwise, go to step 3.

    Azure Portal での関数のクイック スタート ページ

  2. [その他のテンプレート][Finish and view templates](終了してテンプレートを表示) の順に選択します。Choose More templates then Finish and view templates.

    Functions のクイック スタート: [その他のテンプレート] を選択する

  3. 検索フィールドに「timer」と入力し、次の画像の下の表に示されている設定で新しいトリガーを構成します。In the search field, type timer and configure the new trigger with the settings as specified in the table below the image.

    タイマーによってトリガーされる関数を Azure Portal で作成する。

    SettingSetting 推奨値Suggested value DescriptionDescription
    NameName 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.
  4. Create をクリックしてください。Click Create. 選択した言語で、毎分実行する関数が作成されます。A function is created in your chosen language that runs every minute.

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

    Azure Portal の関数ログ ビューアー。

ここで、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. 関数を展開し、 [統合] をクリックします。Expand your function and click Integrate. ここでは、関数の入力および出力バインドを定義し、スケジュールも設定します。This is where you define input and output bindings for your function and also set the schedule.

  2. 0 0 */1 * * * の新しい 1 時間ごとの [スケジュール] 値を入力し、 [保存] をクリックします。Enter a new hourly Schedule value of 0 0 */1 * * * and then click Save.

関数が、Azure Portal のタイマー スケジュールを更新します。

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

リソースのクリーンアップClean up resources

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

Azure のリソースとは、Function App、関数、ストレージ アカウントなどのことを指します。Resources in Azure refers to function apps, functions, storage accounts, and so forth. これらはリソース グループに分類されており、グループを削除することでグループ内のすべてのものを削除できます。They are 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 are 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 have 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 have created your first function, let's add an output binding to the function that writes a message to a Storage queue.