Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Durable Functions a Azure Functions és Azure WebJobs bővítménye, amellyel állapotalapú függvényeket írhat kiszolgáló nélküli környezetben. A bővítmény automatikusan kezeli az állapotokat, az ellenőrzőpontokat és az újraindításokat. Ha még nem ismeri a Durable Functions, tekintse meg a overview dokumentációját.
Verzió összefoglalása
| Változat | Status | Főbb változások |
|---|---|---|
| v3.x | Aktuális (ajánlott) | Frissített Azure Storage SDK, jobb költséghatékonyság, kódmódosítás nélkül frissíthető a 2.x-ről. |
| v2.x | Karbantartás (csak biztonsági és hibajavítások) | Megbízható entitások, Megbízható HTTP |
| v1.x | Támogatás megszűnése 2026. szeptember | Legacy |
A v3.x újdonságai
A Microsoft.Azure. A WebJobs.Extensions.DurableTask v3 csomag (a következő szakaszokban WebJobs.Extensions.DurableTask néven) az aktuálisan ajánlott verzió. A v2.x-ről való frissítéshez nincs szükség kódmódosításra – csak a csomagfüggőségeket kell frissítenie. Ez a frissítés csak a folyamatban lévő modellt használó Durable C#-alkalmazásokat futtató ügyfelek számára jelent kompatibilitástörő változást.
Note
A Durable Functions .NET folyamatfüggetlen csomag, a Microsoft.Azure.Functions.Worker.Extensions.DurableTask, a Microsoft.Azure.WebJobs.Extensions.DurableTaskot használja alapul szolgáló szerelvényként. Ennek következtében ez a frissítés a Microsoft.Azure.Functions.Worker.Extensions.DurableTask-ra is vonatkozik, a 1.2.x verziótól kezdve.
Frissített Azure Storage SDK
Alapértelmezés szerint Durable Functions Azure Storage tárterületként használja az alkalmazás állapotának tartós mentéséhez. A WebJobs.Extensions.DurableTask v3-ban a Azure Storage háttérrendszer a Azure Storage SDK-k legújabb verzióinak használatára lett frissítve: Azure. Data.Tables, Azure. Storage.Blobs és Azure. Storage.Queues. Ezek az SDK-k fokozott támogatást nyújtanak a felügyelt identitáshoz, jobb teljesítményt, hatékonyabb adatkezelést és nagyobb biztonságot nyújtanak a v2.x-ben használt örökölt Microsoft.Azure.Storage.* csomagokhoz képest.
Továbbfejlesztett költséghatékonyság (a Azure Storage szolgáltató számára)
A Azure Storage háttérrendszerben a Partíciókezelő feladata a partitions/control queues elosztása a feldolgozók között. A WebJobs.Extensions.DurableTask v3 csomag alapértelmezés szerint a Partition Manager V3-at használja, amely egy új kialakítás, amely Azure Táblák használatával kezeli a partíció-hozzárendeléseket Azure Blob-bérletek helyett. Ez a kialakítás jelentősen csökkentheti a tárolási költségeket, miközben megkönnyíti a hibakeresést. A Partition Manager V3 használata esetén a tárfiókban létrejön egy új, névvel ellátott Partitionstábla, amely lehetővé teszi a partícióadatok egyszerű ellenőrzését.
A Azure Functions v1-futtatókörnyezet támogatása megszűnt
A WebJobs.Extensions.DurableTask v3 már nem támogatja az Azure Functions futtatókörnyezet 1.x-es verzióját, amelynek támogatása 2026 szeptemberében ér véget. Ha kénytelen a Functions futtatókörnyezet 1-es verzióját használni, kérjük, hogy a Durable Functions bővítmény v2.11.0-nál alacsonyabb verzióját használja. Ne feledje, hogy amikor az ütemezett támogatás megszűnik, Durable Functions a futtatókörnyezet 1-es verziójának támogatását is elveti.
.NET futtatókörnyezeti célfrissítés
A WebJobs.Extensions.DurableTask v3 .NET Core 3.1-ről .NET 6-ra frissíti a cél futtatókörnyezetet, így jobb teljesítményt és jobb kompatibilitást biztosít a modern .NET funkciókkal és kódtárakkal. Ez a frissítés igazodik a Azure Functions bővítménycsomagok jövőbeli kiadásaihoz.
Migrálás v2.x-ről v3.x-be
A v2.x-ről v3.x-re való migráláshoz nem szükséges kódmódosítás – egyszerűen frissítse a függőségeket az új funkciók használatának megkezdéséhez.
- Folyamatmodell: Frissítés Microsoft.Azure.WebJobs.Extensions.DurableTask 3.0.0 vagy újabb verzióra.
- Elkülönített munkavállalói modell: Frissítse a Microsoft.Azure.Functions.Worker.Extensions.DurableTask 1.2.0 vagy újabb verzióra.
Frissítsen Azure Functions bővítménycsomag 4.22.0 vagy újabb verziójára.
Lefelé kompatibilitás (v3.x-ről v2.x-re)
A WebJobs.Extensions.DurableTask v3 a Azure Storage SDK -hoz (Base64) eltérő szövegkódolást használ a 2-es verzióhoz képest (UTF-8). Ha vissza kell térnie a v3.x-ről a v2.x-re, használja a következő minimális verziókat a visszamenőleges kompatibilitás biztosításához:
Térjen vissza a bővítménycsomag 4.22.0-snál korábbi verziójára.
A v2.x támogatása és karbantartása
A WebJobs.Extensions.DurableTask v2.x továbbra is megkapja a biztonsági frissítéseket és hibajavításokat, biztosítva, hogy a meglévő alkalmazások biztonságosak és stabilak maradjanak. Az összes új funkció és fejlesztés azonban kizárólag a v3.x-hez lesz hozzáadva. Emiatt a WebJobs.Extensions.DurableTask v3 verzióra kell frissítenie, amint kihasználhatja a legújabb képességeket és a folyamatban lévő fejlesztéseket.
A 2.x verzióban bevezetett funkciók
Az alábbi funkciók Durable Functions 2.x és újabb verziókban érhetők el az összes támogatott nyelven.
Note
A .NET folyamatban lévő API-részletek ebben a szakaszban nem vonatkoznak az izolált feldolgozói modellre. Az izolált feldolgozói útmutatásért tekintse meg az Durable Functions izolált folyamatok áttekintését.
Tartós entitások
Durable Functions támogatja a entitásfüggvényeket kis állapotrészletek olvasásához és frissítéséhez, az úgynevezett tartós entitások. A vezénylő függvényekhez hasonlóan az entitásfüggvények is speciális triggertípusú függvények, entitás-eseményindítók. A vezénylő függvényekkel ellentétben az entitásfüggvények nem rendelkeznek konkrét kódkorlátozásokkal. Az entitásfüggvények explicit módon is kezelik az állapotot, nem pedig implicit módon jelölik az állapotot a vezérlési folyamaton keresztül.
További információért tekintse meg a tartós entitásokról szóló cikket.
Tartós HTTP
Durable Functions tartalmaz egy Durable HTTP funkciót, amely lehetővé teszi a következőket:
- HTTP API-k meghívása közvetlenül a vezénylési függvényekből (néhány dokumentált korlátozással).
- Automatikus ügyféloldali HTTP 202-állapot-lekérdezés implementálása.
- Használja a beépített támogatást az Azure Managed Identities-hez.
További információkért tekintse meg a HTTP-szolgáltatásokról szóló cikket.
Migrálás 1.x-ről 2.x-re
Important
A Azure Functions futtatókörnyezet 1.x-es verziója megszűnik a támogatás September 2026. Ha továbbra is az 1.x verziót használja, tervezze meg a migrálást.
Ez a szakasz azt ismerteti, hogyan migrálhatja a meglévő 1.x Durable Functions a 2.x verzióra az új funkciók előnyeinek kihasználásához.
A Durable Functions bővítmény frissítése
Telepítse a Durable Functions kötések bővítmény legújabb 2.x verzióját a projektben.
Durable Functions 2.x a Azure Functions bővítménycsomag 2.x-es verziójától kezdve érhető el.
Python Durable Functions támogatásához 2.x vagy újabb Durable Functions szükséges.
A bővítménycsomag verziójának frissítéséhez nyissa meg a host.json, és frissítse a szakaszt a extensionBundle 4.x ([4.*, 5.0.0)) verzió használatára.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Durable Functions 2.x a Azure Functions bővítménycsomag 2.x-es verziójától kezdve érhető el.
A bővítménycsomag verziójának frissítéséhez nyissa meg a host.json, és frissítse a szakaszt a extensionBundle 4.x ([4.*, 5.0.0)) verzió használatára.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Note
Ha Visual Studio Code nem jeleníti meg a megfelelő sablonokat a bővítménycsomag verziójának módosítása után, töltse be újra az ablakot a Developer: Reload Window parancs futtatásával (Ctrl+R Windows és Linux rendszeren, Command+R macOS rendszeren).
Durable Functions 2.x a Azure Functions bővítménycsomag 2.x-es verziójától kezdve érhető el.
A bővítménycsomag verziójának frissítéséhez nyissa meg a host.json, és frissítse a szakaszt a extensionBundle 4.x ([4.*, 5.0.0)) verzió használatára.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Frissítse a .NET projektet a Durable Functions kötések bővítmény legújabb verziójának használatára.
További információért lásd: Azure Functions kötések bővítményeinek regisztrálása.
A Durable Functions kód frissítése
Durable Functions 2.x számos kompatibilitástörő változást vezet be. Durable Functions 1.x alkalmazások nem kompatibilisek a Durable Functions 2.x verzióval kódmódosítások nélkül. Ez a szakasz felsorol néhány módosítást, amit az 1.x-es verziójú függvények 2.x-re való frissítésekor végre kell hajtania.
Host.json séma
Durable Functions 2.x egy új host.json sémát használ. Az 1.x fő változásai a következők:
-
"storageProvider"(és az"azureStorage"alszakasz) a tárolóspecifikus konfigurációhoz. -
"tracing"nyomkövetési és naplózási konfigurációhoz. -
"notifications"(az"eventGrid"alszakaszával együtt) az Event Grid értesítési konfigurációjához.
Részletekért tekintse meg a Durable Functions host.json referenciadokumentációt.
Alapértelmezett tevékenységközpont-névváltozások
Az 1.x verzióban, ha a tevékenységközpont neve nem volt megadva a host.json-ban, akkor az alapértelmezés szerint "DurableFunctionsHub" volt. A 2.x verzióban az alapértelmezett feladatközpont neve mostantól a függvényalkalmazás nevéből származik. Emiatt, ha nem adott meg feladatközpont nevet a 2.x verzióra való frissítéskor, a kód új feladatközponttal fog működni, és az összes folyamatban lévő vezérlésnél már nem lesz alkalmazás, amely azt feldolgozza. Ennek megkerüléséhez explicit módon beállíthatja a feladathub nevét a "DurableFunctionsHub" v1.x alapértelmezett nevére, vagy a futás közbeni orkestrációkat érintő kompatibilitástörő változások kezelésének részleteiért kövesse a leállási idő nélküli üzembe helyezési útmutatót.
A nyilvános felület változásai a Durable Functions
Az 1.x verzióban a Durable Functions által támogatott különböző kontext objektumok absztrakt alaposztályokkal rendelkeznek, amelyek az egységteszteléshez használhatók. A 2.x Durable Functions részeként ezeket az absztrakt alaposztályokat interfészek váltják fel.
Az alábbi táblázat a főbb változásokat mutatja be:
| 1.x | 2.x |
|---|---|
DurableOrchestrationClientBase |
IDurableOrchestrationClient vagy IDurableClient |
DurableOrchestrationContext vagy DurableOrchestrationContextBase |
IDurableOrchestrationContext |
DurableActivityContext vagy DurableActivityContextBase |
IDurableActivityContext |
OrchestrationClientAttribute |
DurableClientAttribute |
Abban az esetben, ha egy absztrakt alaposztály virtuális metódusokat tartalmazott, ezeket a virtuális metódusokat a következőben DurableContextExtensionsdefiniált kiterjesztési metódusok helyettesítették.
function.json módosítások
Az 1.x-es Durable Functions vezénylési klienskötése használ egy type a orchestrationClient közül. A 2.x-es verziót használja durableClient helyette.
Eseményváltozások kezdeményezése
A Durable Functions 1.x-ben a raise event API hívása és egy nem létező példány megadása láthatatlan hibát okozott. 2.x-től kezdve, ha egy eseményt nem létező orkesztációra indítunk, az kivételt eredményez.