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 イメージとしてのみ使用できます。
エミュレーターを含む 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 upgrade
Durable Task Scheduler CLI 拡張機能をインストールします。
az extension add --name durabletask
Durable Task Scheduler CLI 拡張機能を既にインストールしている場合は、最新バージョンにアップグレードします。
az extension add --upgrade --name durabletask
スケジューラとタスク ハブを作成する
リソース グループを作成する。
az group create --name YOUR_RESOURCE_GROUP --___location LOCATION
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": {} }
タスク ハブを作成します。
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 を検索し、結果から選択します。
[ 作成 ] をクリックして、 Azure Functions: 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 scheduler --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER
タスク ハブを削除します。
az durabletask taskhub delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
Azure portal でスケジューラ リソースを開き、[ 削除] をクリックします。
削除するタスク ハブを含むスケジューラを見つけて、そのタスク ハブをクリックします。 [ 削除] をクリックします。
アプリが 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 を使用する場合: