Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Durable Functions je rozšíření Azure Functions a Azure WebJobs , které umožňuje psát stavové funkce v bezserverovém prostředí. Toto rozšíření za vás spravuje stav, kontrolní body a restartování. Pokud ještě nejste obeznámeni s Durable Functions, prohlédněte si přehledovou dokumentaci.
Microsoft.Azure.WebJobs.Extensions.DurableTask v3.x
Tato část představuje nový balíček Microsoft.Azure.WebJobs.Extensions.DurableTask v3 (označovaný jako WebJobs.Extensions.DurableTask v dalších částech) a poskytuje podrobnosti o aktualizacích a změnách. Tato aktualizace se považuje pouze za zásadní změnu pro zákazníky, kteří používají aplikace Durable C#, které používají model v procesu.
Poznámka:
Balíček Durable Functions .NET, který běží mimo proces, Microsoft.Azure.Functions.Worker.Extensions.DurableTask, odkazuje na Microsoft.Azure.WebJobs.Extensions.DurableTask jako základní knihovnu. Proto se tato aktualizace vztahuje také na Microsoft.Azure.Functions.Worker.Extensions.DurableTask počínaje verzí 1.2.x.
Nová sada SDK služby Azure Storage
Durable Functions ve výchozím nastavení používá Azure Storage jako back-end úložiště k trvalému uložení stavu aplikace. Ve službě WebJobs.Extensions.DurableTask v3 se back-end služby Azure Storage upgradoval tak, aby používal nejnovější verze sad SDK služby Azure Storage: Azure.Data.Tables, Azure.Storage.Blobs a Azure.Storage.Queues. Nové sady SDK služby Azure Storage jsou bezpečnější a nabízejí rozšířenou podporu pro spravovanou identitu. Nabízejí také lepší výkon, efektivnější zpracování dat a další nejnovější funkce úložiště.
Vylepšená nákladová efektivita back-endu služby Azure Storage
V back-endu služby Azure Storage je Správce oddílů zodpovědný za distribuci oddílů a kontrolních front mezi pracovníky. Balíček WebJobs.Extensions.DurableTask v3 používá ve výchozím nastavení Správce oddílů V3, což je nový návrh, který využívá tabulky Azure ke správě přiřazení oddílů místo zapůjčení objektů blob Azure. Tento návrh může výrazně snížit náklady na úložiště a usnadnit ladění. Když se použije Správce oddílů V3, vytvoří se v účtu úložiště nová tabulka s názvem Partitions, která vám umožní snadno zkontrolovat informace o oddílu.
Odebraná podpora pro běhové prostředí Functions v1
WebJobs.Extensions.DurableTask v3 už nepodporuje verzi 1.x modulu runtime Azure Functions, což je naplánované na ukončení v září 2026. Pokud musíte použít modul runtime služby Functions v1, použijte verzi rozšíření Durable Functions nižší než verze 2.11.0. Mějte na paměti, že jakmile přijde naplánovaný konec podpory, Durable Functions také ukončí podporu modulu runtime v1.
Aktualizace rozhraní .NET Framework
WebJobs.Extensions.DurableTask v3 aktualizuje rozhraní .NET Framework z .NET Core 3.1 na .NET 6 a nabízí vylepšený výkon a vylepšenou kompatibilitu s moderními funkcemi a knihovnami .NET. Tato aktualizace odpovídá budoucím verzím sad rozšíření Azure Functions.
Migrace z WebJobs.Extensions.DurableTask v2.x na v3.x
Migrace z WebJobs.Extensions.DurableTask v2.x na v3.x je navržená tak, aby byla jednoduchá bez nutnosti změn kódu, protože změny jsou na pozadí. Jednoduše aktualizujte závislosti, abyste mohli začít využívat nové funkce a vylepšení v 3.x.
- Pro uživatele v procesu .NET: Aktualizace na Microsoft.Azure.WebJobs.Extensions.DurableTask verze 3.0.0 nebo novější.
- Pro izolované uživatele .NET: Aktualizujte na Microsoft.Azure.Functions.Worker.Extensions.DurableTask verze 1.2.0 nebo novější.
- Pro uživatele jiných jazyků s sadami rozšíření: Podpora Durable Functions v3 v sadách rozšíření bude k dispozici od verze 4.22.0.
Poznámka:
WebJobs.Extensions.DurableTask v3 používá nejnovější verzi sady AZURE Storage SDK, která má jiné kódování textu (Base64) v porovnání s verzí 2 (UTF-8). Pokud potřebujete downgradovat z verze 3.x na verzi 2.x, abyste zajistili zpětnou kompatibilitu, použijte alespoň verzi 2.13.5. Pro uživatele mimo proces .NET s Microsoft.Azure.Functions.Worker.Extensions.DurableTask, downgrade na verzi 1.1.5 nebo vyšší, pokud se vrátíte z verze 1.2.x nebo vyšší.
Podpora a údržba v2.x
WebJobs.Extensions.DurableTask v2.x nadále přijímá aktualizace zabezpečení a opravy chyb a zajišťuje, aby vaše stávající aplikace zůstaly zabezpečené a stabilní. Všechny nové funkce a vylepšení se ale přidávají výhradně do verze 3.x. Z tohoto důvodu byste měli upgradovat na WebJobs.Extensions.DurableTask v3, jakmile budete moct využívat nejnovější funkce a průběžné vylepšení.
Nové funkce v Microsoft.Azure.WebJobs.Extensions.DurableTask v2.x
Tato část popisuje funkce Durable Functions, které jsou přidány ve verzi 2.x.
Poznámka:
Tato část se nevztahuje na Durable Functions v izolovaném pracovním procesu dotnet. Podívejte se, prosím, na přehled trvalých funkcí v izolovaném procesu.
Odolné entity
V Durable Functions 2.x jsme představili nový koncept funkcí entity .
Funkce entit definují operace pro čtení a aktualizaci malých částí stavu, označované jako odolné entity. Podobně jako funkce orchestrátoru jsou funkce entit se speciálním typem triggeru, triggerem entity. Na rozdíl od funkcí orchestrátoru nemají funkce entit žádná specifická omezení kódu. Funkce entit také explicitně spravují stav místo implicitního znázornění stavu prostřednictvím toku řízení.
Další informace najdete v článku o trvalých entitách .
Odolný HTTP
V Durable Functions 2.x jsme zavedli novou funkci Durable HTTP , která umožňuje:
- Volání rozhraní API HTTP přímo z funkcí orchestrace (s některými zdokumentovanými omezeními)
- Implementujte automatické dotazování stavu HTTP 202 na straně klienta.
- Integrovaná podpora spravovaných identit Azure
Další informace najdete v článku o funkcích HTTP .
Migrace z 1.x na 2.x
Tato část popisuje, jak migrovat stávající verzi 1.x Durable Functions na verzi 2.x, abyste mohli využívat nové funkce.
Aktualizujte rozšíření
Nainstalujte do projektu nejnovější verzi rozšíření Durable Functions bindings verze 2.x.
JavaScript, Python a PowerShell
Durable Functions 2.x je k dispozici od verze 2.x sady rozšíření Azure Functions.
Podpora Pythonu v Durable Functions vyžaduje Durable Functions 2.x nebo vyšší.
Pokud chcete aktualizovat verzi sady rozšíření v projektu, otevřete host.json a aktualizujte extensionBundle oddíl tak, aby používal verzi 4.x ([4.*, 5.0.0)).
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Poznámka:
Pokud Visual Studio Code po změně verze sady rozšíření nezobrazuje správné šablony, znovu načtěte okno spuštěním příkazu Developer: Reload Window (Ctrl+R ve Windows a Linuxu, Command+R v macOS).
Java
Durable Functions 2.x je k dispozici od verze 4.x sady rozšíření Azure Functions. Ke spouštění funkcí Java musíte použít modul runtime Azure Functions 4.0.
Pokud chcete aktualizovat verzi sady rozšíření v projektu, otevřete host.json a aktualizujte extensionBundle oddíl tak, aby používal verzi 4.x ([4.*, 5.0.0)).
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
.SÍŤ
Aktualizujte projekt .NET tak, aby používal nejnovější verzi rozšíření vazeb Durable Functions.
Další informace naleznete v tématu Registrace rozšíření vazeb Azure Functions.
Aktualizace kódu
Durable Functions 2.x zavádí několik zásadních změn. Aplikace Durable Functions 1.x nejsou kompatibilní s Durable Functions 2.x bez změn kódu. Tato část uvádí některé změny, které musíte provést při upgradu funkcí verze 1.x na verzi 2.x.
schéma Host.json
Durable Functions 2.x používá nové schéma host.json. Mezi hlavní změny z verze 1.x patří:
-
"storageProvider"(a"azureStorage"pododdíl) pro konfiguraci specifickou pro úložiště. -
"tracing"pro trasování a konfiguraci zaznamenávání. -
"notifications"(a"eventGrid"pododdíl) pro konfiguraci oznámení Event Gridu.
Podrobnosti najdete v referenční dokumentaci k Durable Functions host.json .
Změny názvu výchozího centra úloh
Pokud ve verzi 1.x nebyl v host.jsonzadán název centra úloh , byl ve výchozím nastavení nastaven na DurableFunctionsHub. Ve verzi 2.x je výchozí název centra úloh odvozený od názvu aplikace funkcí. Z tohoto důvodu, pokud jste při upgradu na verzi 2.x nezadali název centra úloh, bude váš kód fungovat s novým centrem úloh a všechny probíhající orchestrace už nebudou mít aplikaci, která je zpracovává. Pokud chcete tento problém obejít, můžete buď explicitně nastavit název centra úloh na výchozí hodnotu v1.x DurableFunctionsHub, nebo můžete postupovat podle našich pokynů k nasazení bez výpadků s podrobnostmi o tom, jak zpracovat breaking changes pro probíhající orchestrace.
Změny veřejného rozhraní (pouze .NET)
Ve verzi 1.x mají různé kontextové objekty podporované Durable Functions abstraktní základní třídy určené k použití při testování jednotek. V rámci Durable Functions 2.x jsou tyto abstraktní základní třídy nahrazeny rozhraními.
Následující tabulka představuje hlavní změny:
| 1.x | 2.x |
|---|---|
DurableOrchestrationClientBase |
IDurableOrchestrationClient nebo IDurableClient |
DurableOrchestrationContext nebo DurableOrchestrationContextBase |
IDurableOrchestrationContext |
DurableActivityContext nebo DurableActivityContextBase |
IDurableActivityContext |
OrchestrationClientAttribute |
DurableClientAttribute |
V případě, že abstraktní základní třída obsahovala virtuální metody, tyto virtuální metody byly nahrazeny rozšiřujícími metodami definovanými v DurableContextExtensions.
function.json změny
V Durable Functions 1.x vazba klienta orchestrace používá typeorchestrationClient. Místo toho se používá durableClient verze 2.x.
Vyvolání změn událostí
V Durable Functions 1.x volání rozhraní API pro vyvolání událostí a určení instance, která neexistuje, způsobila tiché selhání. Od verze 2.x vyvolání události na neexistující orchestraci způsobí výjimku.