Durable Task SDK の概要

Durable Task SDK は、通常のコードを使用して永続的なオーケストレーション、アクティビティ、エンティティを構築するための移植可能なオープン ソース ライブラリです。 Azure Container Apps、Kubernetes、VM など、あらゆるコンピューティング プラットフォームで動作します。 各 SDK は、マネージド バックエンドとして Durable Task Scheduler に接続します。

次の作業が必要な場合は、Durable Task SDK を使用します。

  • プロセスの再起動とインフラストラクチャの障害から生き残るマルチステップ ワークフローを調整します。
  • 作業を並行に分散 し、結果を確実に集計します。
  • コンピューティングを使用せずに、外部イベント (人間の承認、Webhook、タイマー) を待ちます。
  • 任意のコンピューティング プラットフォームで実行Azure Functionsにロックされていない。

ヒント

Durable Task SDK と Durable Functions のどちらを使用するかがわからない場合 オーケストレーション フレームワークの選択を参照してください。 Durable Task エコシステムのより広範な概要については、「 Durable Task とは」を参照してください。

使用可能な Durable Task SDK

次の表は、使用可能な Durable Task SDK とそのパッケージ、ソース コードとサンプルの検索場所をまとめたものです。

Language パッケージ 地位 情報源 サンプル
.NET Microsoft.DurableTask.Worker.AzureManaged
Microsoft.DurableTask.Client.AzureManaged
GA durabletask-dotnet .NET サンプル
Python durabletask-azuremanaged GA durabletask-python Python のサンプル
ジャワ durabletask-client
durabletask-azure-managed
GA durabletask-java Java のサンプル
JavaScript/TypeScript @microsoft/durabletask-js
@microsoft/durabletask-js-azuremanaged
プレビュー durabletask-js JS サンプル

Installation

各 SDK には、次の 2 つのパッケージが付属しています。

  • オーケストレーションとアクティビティを定義するための ワーカー パッケージ
  • オーケストレーション インスタンスをスケジュールおよび管理するための クライアント パッケージ。

両方のパッケージをインストールして作業を開始します。

dotnet add package Microsoft.DurableTask.Worker.AzureManaged
dotnet add package Microsoft.DurableTask.Client.AzureManaged

.NET SDK は、ASP.NET Core、コンソール アプリ、worker サービスなど、任意の.NETホスティング モデルで動作します。 ソースジェネレーターを活用した型安全なオーケストレーションとアクティビティ定義をサポートし、依存性注入との統合を実現します。

概要

すべての SDK は同じパターンに従います。

  1. 言語のワーカー パッケージとクライアント パッケージをインストールします。 「インストール」を参照してください。

  2. Docker を使用してローカル開発用のエミュレーターを起動します。

    docker run --name dtsemulator -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latest
    
  3. アプリケーション コードでオーケストレーションとアクティビティを定義します。

  4. オーケストレーション とアクティビティの作業項目を処理するワーカーを開始します。

  5. クライアントを使用して 、新しいオーケストレーション インスタンスをスケジュールし、その状態を照会します。

作業コードのチュートリアルについては、「 クイック スタート: Durable Task SDK を使用してアプリを作成する」を参照してください。

機能の比較

次の表に、各 SDK でサポートされる機能を示します。

特徴 .NET Python Java JavaScript
オーケストレーション
活動
サブオーケストレーション
持続的タイマー
外部イベント
永続エンティティ
再試行ポリシー
新規として続行
中断/再開

次のステップ