次の方法で共有


Durable Task Scheduler を使用した開発 (プレビュー)

Durable Task Scheduler は、すぐに使用する 監視ダッシュボードを備えた Durable Functions 向けのパフォーマンスの高いフル マネージド バックエンド プロバイダーです。 Azure には、Durable Functions と連携してアプリを構築する 2 つの開発者向けオーケストレーション フレームワーク (Durable Task SDK と Durable Functions) が用意されています。

この記事では、次の方法について説明します。

  • Durable Task Scheduler エミュレーターを実行する
  • スケジューラとタスク ハブに対して CRUD 操作を実行します。

Durable Task Scheduler の機能サポートされているリージョンプランの詳細について説明します。

Durable Task Scheduler エミュレーター

Durable Task Scheduler エミュレーターは、現在 Docker イメージとしてのみ使用できます。

  1. エミュレーターを含む Docker イメージをプルします。

    docker pull mcr.microsoft.com/dts/dts-emulator:latest
    
  2. エミュレーターを実行します。

    docker run -itP mcr.microsoft.com/dts/dts-emulator:latest
    

    このコマンドは、 defaultという名前の 1 つのタスク ハブを公開します。 複数のタスク ハブが必要な場合は、次のコマンドのように、コンテナーの環境変数 DTS_TASK_HUB_NAMES をタスク ハブ名のコンマ区切りのリストに設定できます。

    docker run -itP -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2,taskhub3 mcr.microsoft.com/dts/dts-emulator:latest
    

[前提条件]

CLI を設定する

  1. Azure CLI にログインし、最新のものがインストールされていることを確認します。

    az login
    az upgrade
    
  2. Durable Task Scheduler CLI 拡張機能をインストールします。

    az extension add --name durabletask
    
  3. Durable Task Scheduler CLI 拡張機能を既にインストールしている場合は、最新バージョンにアップグレードします。

    az extension add --upgrade --name durabletask
    

スケジューラとタスク ハブを作成する

  1. リソース グループを作成する。

    az group create --name YOUR_RESOURCE_GROUP --___location LOCATION
    
  2. durabletask CLI 拡張機能を使用して、スケジューラを作成します。

    az durabletask scheduler create --name "YOUR_SCHEDULER" --resource-group "YOUR_RESOURCE_GROUP" --___location "LOCATION" --ip-allowlist "[0.0.0.0/0]" --sku-name "dedicated" --sku-capacity "1"
    

    作成プロセスが完了するまでに最大 15 分かかる場合があります。

    アウトプット

    {
        "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_SCHEDULER",
        "___location": "northcentralus",
        "name": "YOUR_SCHEDULER",
        "properties": {
            "endpoint": "https://YOUR_SCHEDULER.northcentralus.durabletask.io",
            "ipAllowlist": [
                "0.0.0.0/0"
            ],
            "provisioningState": "Succeeded",
            "sku": {
                "capacity": 1,
                "name": "Dedicated",
                "redundancyState": "None"
            }
        },
        "resourceGroup": "YOUR_RESOURCE_GROUP",
        "systemData": {
            "createdAt": "2025-01-06T21:22:59Z",
            "createdBy": "YOUR_EMAIL@example.com",
            "createdByType": "User",
            "lastModifiedAt": "2025-01-06T21:22:59Z",
            "lastModifiedBy": "YOUR_EMAIL@example.com",
            "lastModifiedByType": "User"
        },
        "tags": {}
    }
    
  3. タスク ハブを作成します。

    az durabletask taskhub create --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
    

    アウトプット

    {
      "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_SCHEDULERS/taskHubs/YOUR_TASKHUB",
      "name": "YOUR_TASKHUB",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "resourceGroup": "YOUR_RESOURCE_GROUP",
      "systemData": {
        "createdAt": "2024-09-18T22:13:56.5467094Z",
        "createdBy": "OBJECT_ID",
        "createdByType": "User",
        "lastModifiedAt": "2024-09-18T22:13:56.5467094Z",
        "lastModifiedBy": "OBJECT_ID",
        "lastModifiedByType": "User"
      },
      "type": "microsoft.durabletask/scheduler/taskhubs"
    }
    
  1. Azure portal で Durable Task Scheduler を検索し、結果から選択します。

    ポータルで Durable Task Scheduler を検索するスクリーンショット。

  2. [ 作成 ] をクリックして、 Azure Functions: Durable Task Scheduler (プレビュー) ウィンドウを開きます。

    Durable Task Scheduler の作成ページのスクリーンショット。

  3. [ 基本 ] タブのフィールドに入力します。[ 確認と作成] をクリックします。 検証に成功したら、[作成] をクリックします。

    デプロイには約 15 ~ 20 分かかる場合があります。

サブスクリプション内のすべての Durable Task Scheduler リソースを表示する

  1. 次のコマンドを実行して、サブスクリプション内のすべてのスケジューラ名の一覧を取得します。

    az durabletask scheduler list --subscription <SUBSCRIPTION_ID>
    
  2. --resource-group フラグを追加することで、特定のリソース グループに結果を絞り込むことができます。

    az durabletask scheduler list --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP_NAME>
    

Azure portal で Durable Task Scheduler を検索し、結果から選択します。

ポータルで Durable Task Scheduler サービスを検索するスクリーンショット。

アクセス権を持つすべてのサブスクリプションで作成されたスケジューラ リソースの一覧を表示できます。

Durable Task Scheduler ですべてのタスク ハブを表示する

  1. 次を実行して、特定のスケジューラ内のタスク ハブの一覧を取得します。

    az durabletask taskhub list --resource-group <RESOURCE_GROUP_NAME> --scheduler-name <SCHEDULER_NAME>
    

スケジューラで作成されたすべてのタスク ハブは、Azure portal のリソースの 概要 で確認できます。

ポータルの Durable Task Scheduler の [概要] タブのスクリーンショット。

スケジューラとタスク ハブを削除する

  1. スケジューラを削除します。

    az durabletask scheduler --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER
    
  2. タスク ハブを削除します。

    az durabletask taskhub delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
    
  1. Azure portal でスケジューラ リソースを開き、[ 削除] をクリックします。

    ポータルの [削除] ボタンが強調表示されているスケジューラ リソースのスクリーンショット。

  2. 削除するタスク ハブを含むスケジューラを見つけて、そのタスク ハブをクリックします。 [ 削除] をクリックします。

    ポータルの [削除] ボタンが強調表示されているタスク ハブ リソースのスクリーンショット。

アプリが Durable Task Scheduler にアクセスするための ID ベースの認証を構成する

Durable Task Scheduler では、ユーザー割り当てまたはシステム割り当てマネージド ID 認証のみがサポートされますユーザー割り当て ID はアプリ のライフサイクルに関連付けられず、アプリのプロビジョニング解除後に再利用できるため、推奨されます。

Durable Task Scheduler での ID ベースのアクセスの詳細について説明します。

Durable Task Scheduler ダッシュボードにアクセスする

Durable Task Scheduler ダッシュボードにアクセスするには、開発者 ID (電子メール) に必要なロールを割り当てます

次のステップ

Durable Functions で永続タスク スケジューラーを使用する場合:

Durable Task Scheduler と Durable Task SDK を使用する場合: