Omówienie zestawów SDK zadań trwałych

Zestawy SDK Durable Task to przenośne biblioteki typu open source do tworzenia trwałych orkiestracji, aktywności i jednostek przy użyciu standardowego kodu. Pracują one na dowolnej platformie obliczeniowej — Azure Container Apps, kubernetes lub maszynach wirtualnych. Każdy zestaw SDK łączy się z usługą Durable Task Scheduler jako zarządzanym zapleczem.

** Użyj SDK rozszerzenia Durable Task, gdy potrzebujesz:

  • Organizowanie wieloetapowych przepływów pracy , które przetrwają ponowne uruchomienia procesu i awarie infrastruktury.
  • Równoległe rozdzielanie zadań i niezawodne agregowanie wyników.
  • Poczekaj na zdarzenia zewnętrzne (zatwierdzenia ludzkie, webhooki, timery) bez zużywania mocy obliczeniowej.
  • Działa na dowolnej platformie obliczeniowej bez ograniczenia do Azure Functions.

Wskazówka

Nie wiesz, czy używać Durable Task SDKs czy Durable Functions? Zobacz Wybieranie struktury aranżacji. Aby zapoznać się z szerszym omówieniem ekosystemu Durable Task, zobacz Co to jest Durable Task?.

Dostępne SDK Durable Task

W poniższej tabeli przedstawiono podsumowanie dostępnych zestawów SDK rozszerzenia Durable Task, ich pakietów oraz lokalizacji znajdowania kodu źródłowego i przykładów.

Język Packages Status Źródło Próbki
.NET Microsoft.DurableTask.Worker.AzureManaged
Microsoft.DurableTask.Client.AzureManaged
ogólna dostępność durabletask-dotnet przykłady .NET
Python durabletask-azuremanaged ogólna dostępność durabletask-python Przykłady języka Python
Java durabletask-client
durabletask-azure-managed
ogólna dostępność durabletask-java Przykłady Java
JavaScript/ TypeScript @microsoft/durabletask-js
@microsoft/durabletask-js-azuremanaged
Preview durabletask-js JS przykłady
Go github.com/microsoft/durabletask-go Beta durabletask-go przykłady Go

Installation

Każde SDK zapewnia worker do prowadzenia orkiestracji, działań i jednostek oraz klienta do planowania i zarządzania instancjami. W zależności od języka te komponenty są dostarczane w osobnych pakietach lub w jednym pakiecie albo module. Zainstaluj pakiety wyświetlone dla Twojego języka.

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

Zestaw SDK .NET współpracuje z dowolnym modelem hostingu .NET: ASP.NET Core, aplikacjami konsoli lub usługami procesów roboczych. Obsługuje ona bezpieczną obsługę typów i definicje aktywności za pomocą generatorów źródłowych oraz integruje się z iniekcją zależności.

Wprowadzenie

Wszystkie zestawy SDK są zgodne z tym samym wzorcem:

  1. Zainstaluj pakiety SDK lub moduł dla swojego języka. Zobacz Instalacja.

  2. Uruchom emulator programowania lokalnego przy użyciu platformy Docker:

    docker run --name dtsemulator -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latest
    
  3. Zdefiniuj aranżacje i działania w kodzie aplikacji.

  4. Uruchom pracownika, aby przetworzyć orkiestrację i elementy pracy związane z działaniami.

  5. Użyj klienta, aby zaplanować nowe wystąpienia orkiestracji i wykonywać zapytania dotyczące ich stanu.

Aby zapoznać się z przewodnikiem z kodem roboczym, zobacz Szybki start: tworzenie aplikacji przy użyciu SDK Durable Task.

Porównanie funkcji

W poniższej tabeli przedstawiono funkcje obsługiwane przez poszczególne zestawy SDK.

Funkcja .NET Python Java JavaScript Go (beta)
Orkiestracje ✅ ✅ ✅ ✅ ✅
Działania ✅ ✅ ✅ ✅ ✅
Orkiestracje podrzędne ✅ ✅ ✅ ✅ ✅
Trwałe czasomierze ✅ ✅ ✅ ✅ ✅
Zdarzenia zewnętrzne ✅ ✅ ✅ ✅ ✅
Jednostki trwałe ✅ ✅ ✅ ✅ ✅
Zasady ponawiania prób ✅ ✅ ✅ ✅ ✅
Rozpocznij jako nowy ✅ ✅ ✅ ✅ ✅
Wstrzymywanie/wznawianie ✅ ✅ ✅ ✅ ✅

Następne kroki