Panoramica degli SDK per attività durevoli

Gli SDK durable task sono librerie open source portabili per la creazione di orchestrazioni durevoli, attività ed entità che usano codice ordinario. Funzionano su qualsiasi piattaforma di calcolo, App contenitore di Azure, Kubernetes o VM. Ogni SDK si connette al Durable Task Scheduler, utilizzato come back-end gestito.

Usare gli SDK per le attività permanenti quando è necessario:

  • Orchestrare flussi di lavoro in più passaggi che sopravvivono ai riavvii del processo e agli errori dell'infrastruttura.
  • Eseguire l'operazione di fan-out in parallelo e aggregare i risultati in modo affidabile.
  • Attendere eventi esterni (approvazioni umane, webhook, timer) senza utilizzare il calcolo.
  • Esegui su qualsiasi piattaforma di calcolo senza essere bloccato su Funzioni di Azure.

Suggerimento

Non sei sicuro se utilizzare i Durable Task SDK o le Durable Functions? Vedere Scegliere il framework di orchestrazione. Per una panoramica più ampia dell'ecosistema Durable Task, vedere Che cos'è Durable Task?.

Durable Task SDK disponibili

La tabella seguente riepiloga gli SDK di Durable Task disponibili, i relativi pacchetti e dove trovare il codice sorgente e gli esempi.

Lingua Packages Condizione origine Esempi
.NET Microsoft.DurableTask.Worker.AzureManaged
Microsoft.DurableTask.Client.AzureManaged
GA durabletask-dotnet Esempi .NET
Python durabletask-azuremanaged GA durabletask-python Esempi di Python
Java durabletask-client
durabletask-azure-managed
GA durabletask-java Esempi di Java
JavaScript/TypeScript @microsoft/durabletask-js
@microsoft/durabletask-js-azuremanaged
Preview durabletask-js Esempi JS
Go github.com/microsoft/durabletask-go Versione Beta durabletask-go Esempi Go

Installazione

Ogni SDK fornisce un worker per eseguire orchestrazioni, attività ed entità, e un client per la pianificazione e la gestione delle istanze. A seconda del linguaggio, questi componenti vengono distribuiti in pacchetti separati o in un unico pacchetto o modulo. Installa i pacchetti mostrati per la tua lingua.

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

.NET SDK funziona con qualsiasi modello di hosting .NET: ASP.NET Core, app console o servizi di lavoro. Supporta definizioni di orchestrazione e attività indipendenti dai tipi con i generatori di codice sorgente e si integra con l'inserimento delle dipendenze.

Inizia subito

Tutti gli SDK seguono lo stesso modello:

  1. Installa i pacchetti SDK o il modulo per il tuo linguaggio. Vedere Installazione.

  2. Avviare l'emulatore per lo sviluppo locale con Docker:

    docker run --name dtsemulator -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latest
    
  3. Definire orchestrazioni e attività nel codice dell'applicazione.

  4. Avviare un processo di lavoro per elaborare gli elementi di lavoro di orchestrazione e attività.

  5. Usare il client per pianificare nuove istanze di orchestrazione ed eseguire query sul relativo stato.

Per una procedura dettagliata con codice funzionante, vedere Avvio rapido: Creare un'app con GLI SDK per attività permanenti.

Confronto delle funzionalità

La tabella seguente illustra le funzionalità supportate da ogni SDK.

Feature .NET Python Java JavaScript Go (beta)
Orchestrazioni ✅ ✅ ✅ ✅ ✅
attività ✅ ✅ ✅ ✅ ✅
Orchestrazioni secondarie ✅ ✅ ✅ ✅ ✅
Timer durevoli ✅ ✅ ✅ ✅ ✅
Eventi esterni ✅ ✅ ✅ ✅ ✅
Entità durevoli ✅ ✅ ✅ ✅ ✅
Criteri di ripetizione dei tentativi ✅ ✅ ✅ ✅ ✅
Continuare come nuovo ✅ ✅ ✅ ✅ ✅
Sospensione/ripresa ✅ ✅ ✅ ✅ ✅

Passaggi successivi