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

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

Note

ポータル内編集は、JavaScript、PowerShell、および C# スクリプト関数でのみサポートされます。 Python のポータル内編集は、従量課金プランで実行されている場合にのみサポートされます。 可能であれば、関数をローカルで開発する必要があります

Azure portal での関数コードの編集に関する制限事項の詳細については、Azure portal での開発の制限事項に関するページを参照してください

前提条件

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

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

Function App を作成する

  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.

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

Screenshot showing successful creation of the function app.

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

  1. 関数アプリで [概要] を選択し、[関数] で [+ 作成] を選択します。

    Screenshot of adding a function in the Azure portal.

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

    Screenshot of select the timer trigger page in the Azure portal.

  3. テンプレートの詳細、イメージの下の表で指定されている設定で新しいトリガーを構成し、[作成] を選択します

    Screenshot that shows the New Function page with the Timer Trigger template selected.

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

関数をテストする

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

    Screenshot of the Test the timer trigger page in the Azure portal.

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

    Screenshot showing the View the timer trigger page in the Azure portal.

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

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

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

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

    Screenshot of Update the timer schedule page in the Azure portal.

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

    Screenshot of the Update function timer schedule page in the Azure portal.

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

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

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

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

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

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

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

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

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

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

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

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

次のステップ

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

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