Durable Task Scheduler は、すぐに使用する監視ダッシュボードを備えた Durable Task のパフォーマンスが高く、フル マネージドのバックエンド プロバイダーです。 Azureには、Durable Task Scheduler と連携してアプリをビルドする 2 つの開発者向けオーケストレーション フレームワーク (Durable Task SDK と Durable Functions) が用意されています。
この記事では、次の方法について説明します。
- Durable Task Scheduler エミュレーターを実行する
- スケジューラとタスク ハブに対して CRUD 操作を実行します。
Durable Task Scheduler の機能、 サポートされているリージョン、 プランの詳細について説明します。
Durable Task Scheduler エミュレーター
Durable Task Scheduler エミュレーターは、現在 Docker イメージとしてのみ使用できます。
エミュレーターを含む Docker イメージをプルします。
docker pull mcr.microsoft.com/dts/dts-emulator:latestエミュレーターを実行します。
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 を設定する
Azureにサインインし、最新の CLI バージョンがあることを確認します。
az login az upgradeDurable Task Scheduler CLI 拡張機能をインストールします。
az extension add --name durabletaskDurable Task Scheduler CLI 拡張機能を既にインストールしている場合は、最新バージョンにアップグレードします。
az extension update --name durabletaskインストールされているバージョンを確認します。
az extension show --name durabletask
スケジューラとタスク ハブを作成する
リソース グループを作成する。
az group create --name YOUR_RESOURCE_GROUP --location LOCATIONdurabletaskCLI 拡張機能を使用して、スケジューラを作成します。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": {} }タスク ハブを作成します。
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" }
Azure portal で Durable Task Scheduler を検索し、結果から選択します。
[ 作成 ] を選択して、[ Durable Task Scheduler ] ウィンドウを開きます。
[ 基本 ] タブのフィールドに入力します。[ 確認と作成] を選択します。
検証に合格したら、[ 作成] を選択します。
デプロイには約 15 ~ 20 分かかる場合があります。
サブスクリプション内のすべての Durable Task Scheduler リソースを表示する
次のコマンドを実行して、サブスクリプション内のすべてのスケジューラ名の一覧を取得します。
az durabletask scheduler list --subscription <SUBSCRIPTION_ID>--resource-groupフラグを追加することで、特定のリソース グループに結果を絞り込むことができます。az durabletask scheduler list --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP_NAME>
Azure portal で Durable Task Scheduler を検索し、結果から選択します。
アクセス権を持つすべてのサブスクリプションで作成されたスケジューラ リソースの一覧を表示できます。
Durable Task Scheduler ですべてのタスク ハブを表示する
次を実行して、特定のスケジューラ内のタスク ハブの一覧を取得します。
az durabletask taskhub list --resource-group <RESOURCE_GROUP_NAME> --scheduler-name <SCHEDULER_NAME>
スケジューラで作成されたすべてのタスク ハブは、Azure portal のリソースの 概要 で確認できます。
スケジューラとタスク ハブを削除する
最初にタスク ハブを削除します。
az durabletask taskhub delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUBスケジューラを削除します。
az durabletask scheduler delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER
Azure ポータルでスケジューラ リソースを開き、
Delete
削除するタスク ハブを含むスケジューラを見つけて、そのタスク ハブを選択します。 [ 削除] を選択します。
アプリが Durable Task Scheduler にアクセスするための ID ベースの認証を構成する
Durable Task Scheduler では、ユーザー割り当て ID またはシステム割り当て ID を使用したマネージド ID 認証のみがサポートされます。 ユーザー割り当て ID はアプリのライフサイクルに関連付けられていないため、アプリのプロビジョニング解除後に再利用できるため、推奨されます。
アプリにアクセス権を付与するには、 Durable Task Data Contributor ロールをマネージド ID に割り当てます。 完全なセットアップ手順については、「 Durable Task Scheduler で ID ベースのアクセスを構成する」を参照してください。
Durable Task Scheduler ダッシュボードにアクセスする
Durable Task Scheduler ダッシュボードにアクセスするには、 Durable Task Dashboard Viewer ロールを開発者 ID に割り当てます。 詳細については、「 Durable Task Scheduler ダッシュボード」を参照してください。