Overzicht duurzame taak-SDK's

De Durable Task SDK's zijn draagbare, opensource-bibliotheken voor het bouwen van duurzame indelingen, activiteiten en entiteiten met behulp van gewone code. Ze werken op elk rekenplatform: Azure Container Apps, Kubernetes of VM's. Elke SDK maakt verbinding met de Durable Task Scheduler als de beheerde back-end.

Gebruik de SDK's voor duurzame taken wanneer u het volgende moet doen:

  • Werkstromen met meerdere stappen coördineren die herstarten van processen en infrastructuurstoringen overleven.
  • Werk parallel verspreiden en de resultaten op betrouwbare wijze aggregeren.
  • Wacht op externe gebeurtenissen (menselijke goedkeuringen, webhooks, timers) zonder rekenkracht te verbruiken.
  • Draai op elk rekenplatform zonder beperkt te zijn tot Azure Functions.

Aanbeveling

Weet u niet zeker of u de DURABLE Task SDK's of Durable Functions wilt gebruiken? Zie Orkestratieframework kiezen. Zie Wat is Durable Task? voor een breder overzicht van het duurzame taakecosysteem.

Beschikbare duurzame taak-SDK's

De volgende tabel bevat een overzicht van de beschikbare Durable Task SDK's, hun pakketten en waar u broncode en voorbeelden kunt vinden.

Language Pakketten Status bron Voorbeelden
.NET Microsoft.DurableTask.Worker.AzureManaged
Microsoft.DurableTask.Client.AzureManaged
GA durabletask-dotnet .NET voorbeelden
Python durabletask-azuremanaged GA durabletask-python Python-voorbeelden
Java durabletask-client
durabletask-azure-managed
GA durabletask-java Java-voorbeelden
JavaScript/TypeScript @microsoft/durabletask-js
@microsoft/durabletask-js-azuremanaged
Preview durabletask-js JS-voorbeelden
Go github.com/microsoft/durabletask-go Bèta durabletask-go Go-voorbeelden

Installation

Elke SDK biedt een worker voor het uitvoeren van orkestraties, activiteiten en entiteiten, en een client voor het plannen en beheren van instanties. Afhankelijk van de taal worden deze componenten geleverd in aparte pakketten of in één pakket of module. Installeer de pakketten die voor jouw taal worden getoond.

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

De .NET SDK werkt met elk .NET hostingmodel: ASP.NET Core, console-apps of werkrolservices. Het biedt ondersteuning voor typeveilige indeling en activiteitsdefinities met brongeneratoren en kan worden geïntegreerd met afhankelijkheidsinjectie.

Aan de slag

Alle SDK's volgen hetzelfde patroon:

  1. Installeer de SDK-pakketten of module voor jouw taal. Zie de installatie.

  2. Start de emulator voor lokale ontwikkeling met behulp van Docker:

    docker run --name dtsemulator -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latest
    
  3. Definieer orchestraties en activiteiten in uw toepassingscode.

  4. Start een worker voor het verwerken van orkestratie- en activiteitswerkitems.

  5. Gebruik de client om nieuwe orchestratie-instanties in te plannen en hun status op te vragen.

Zie quickstart: Een app maken met Durable Task SDK's voor een overzicht met werkende code.

Vergelijking van functies

In de volgende tabel ziet u de functies die elke SDK ondersteunt.

Feature .NET Python Java JavaScript Go (beta)
Orchestrationen ✅ ✅ ✅ ✅ ✅
activiteiten ✅ ✅ ✅ ✅ ✅
Suborkestraties ✅ ✅ ✅ ✅ ✅
Duurzame timers ✅ ✅ ✅ ✅ ✅
Externe gebeurtenissen ✅ ✅ ✅ ✅ ✅
Duurzame entiteiten ✅ ✅ ✅ ✅ ✅
Beleid opnieuw proberen ✅ ✅ ✅ ✅ ✅
Doorgaan als nieuw ✅ ✅ ✅ ✅ ✅
Onderbreken/hervatten ✅ ✅ ✅ ✅ ✅

Volgende stappen