Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Durable Functions ist eine Erweiterung von Azure Functions und Azure WebJobs, mit der Sie zustandsbehaftete Funktionen in einer serverlosen Umgebung schreiben können. Die Erweiterung verwaltet Status, Prüfpunkte und Neustarts für Sie. Wenn Sie nicht bereits mit Durable Functions vertraut sind, lesen Sie die Übersichtsdokumentation.
In diesem Abschnitt werden die Features von Durable Functions beschrieben, die in Version 2.x hinzugefügt wurden.
Hinweis
Dieser Abschnitt gilt nicht für Durable Functions im isolierten Dotnet-Worker. Informationen hierzu finden Sie unter Übersicht über isolierte Prozesse für dauerhafte Funktionen.
In Durable Functions 2.x haben wir ein neues Konzept für Entitätsfunktionen eingeführt.
Entitätsfunktionen definieren Vorgänge zum Lesen und Aktualisieren kleinerer Zustandsteile, bekannt als dauerhafte Entitäten. Wie Orchestratorfunktionen besitzen Entitätsfunktionen einen speziellen Triggertyp, den Entitätstrigger. Im Gegensatz zu Orchestratorfunktionen besitzen Entitätsfunktionen keine spezifischen Codeeinschränkungen. Entitätsfunktionen verwalten Zustände auch explizit, statt Zustände implizit durch die Ablaufsteuerung darzustellen.
Weitere Informationen finden Sie im Artikel Dauerhafte Entitäten.
In Durable Functions 2.x haben wir ein neues Feature Durable HTTP eingeführt, das Folgendes ermöglicht:
Weitere Informationen finden Sie im Artikel zu den HTTP-Funktionen.
In diesem Abschnitt wird beschrieben, wie Sie Ihre vorhandene Durable Functions-Version 1.x zu Version 2.x migrieren, um die neuen Funktionen zu nutzen.
Installieren Sie neueste 2.x-Version der Durable Functions-Bindungserweiterung in Ihrem Projekt.
Durable Functions 2.x ist ab Version 2.x des Azure Functions-Erweiterungspakets verfügbar.
Die Python-Unterstützung in Durable Functions setzt Durable Functions 2.x oder höher voraus.
Um die Version des Erweiterungspakets in Ihrem Projekt zu aktualisieren, öffnen Sie „host.json“ und aktualisieren den Abschnitt extensionBundle
, um Version 4.x ([4.*, 5.0.0)
) zu verwenden.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Hinweis
Wenn Visual Studio Code nicht die richtigen Vorlagen anzeigt, nachdem Sie die Erweiterungspaketversion geändert haben, laden Sie das Fenster erneut durch Ausführen des Befehls Entwickler: Fenster erneut laden (STRG+R unter Windows und Linux, Command+R unter macOS).
Durable Functions 2.x ist ab Version 4.x des Azure Functions-Erweiterungspakets verfügbar. Sie müssen die Azure Functions 4.0-Runtime verwenden, um Java-Funktionen auszuführen.
Um die Version des Erweiterungspakets in Ihrem Projekt zu aktualisieren, öffnen Sie „host.json“ und aktualisieren den Abschnitt extensionBundle
, um Version 4.x ([4.*, 5.0.0)
) zu verwenden.
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.*, 5.0.0)"
}
}
Aktualisieren Sie Ihr .NET-Projekt, um die neueste Version der Durable Functions Bindingserweiterung zu verwenden.
Siehe hierzu Registrieren von Bindungserweiterungen von Azure Functions.
In Durable Functions 2.x werden verschiedene Breaking Changes eingeführt. Vorhandene Durable Functions 1.x-Anwendungen sind ohne Codeänderungen mit Durable Functions 2.x nicht kompatibel. In diesem Abschnitt werden einige der Änderungen aufgeführt, die Sie beim Upgrade Ihrer Funktionen der Version 1.x auf die Version 2.x vornehmen müssen.
Durable Functions 2.x verwendet ein neues host.json-Schema. Zu den wichtigsten Änderungen gegenüber 1.x gehören:
"storageProvider"
(und Unterabschnitt "azureStorage"
) für die speicherspezifische Konfiguration"tracing"
für die Konfiguration von Nachverfolgung und Protokollierung"notifications"
(und Unterabschnitt "eventGrid"
) für die Konfiguration von Event Grid-BenachrichtigungenAusführliche Informationen finden Sie in der Referenzdokumentation für die host.json-Datei von Durable Functions.
Wenn in Version 1.x in der Datei „host.json“ kein Aufgabenhubname angegeben wurde, wurde standardmäßig „DurableFunctionsHub“ verwendet. In Version 2.x wird der Standardname für Aufgabenhubs jetzt vom Namen der Funktions-App abgeleitet. Aus diesem Grund gilt Folgendes: Wenn Sie beim Upgrade auf 2.x keinen Aufgabenhubnamen angegeben haben, wird für Ihren Code ein neuer Aufgabenhub verwendet, und alle ausgeführten Orchestrierungen verfügen nicht mehr über eine Anwendung für die Verarbeitung. Als Problemumgehung können Sie entweder Ihren Aufgabenhubnamen explizit auf den Standardnamen „DurableFunctionsHub“ aus v1.x festlegen, oder Sie können sich an die Anleitung in unserem Leitfaden zur Bereitstellung ohne Ausfallzeit halten, um wichtige Änderungen für ausgeführte Orchestrierungen zu verarbeiten.
In Version 1.x umfassen die verschiedenen context-Objekte, die von Durable Functions unterstützt werden, abstrakte Basisklassen für die Verwendung bei Komponententests. In Durable Functions 2.x werden diese abstrakten Basisklassen durch Schnittstellen ersetzt.
In der folgenden Tabelle werden die Hauptänderungen dargestellt:
1.x | 2.x |
---|---|
DurableOrchestrationClientBase |
IDurableOrchestrationClient oder IDurableClient |
DurableOrchestrationContext oder DurableOrchestrationContextBase |
IDurableOrchestrationContext |
DurableActivityContext oder DurableActivityContextBase |
IDurableActivityContext |
OrchestrationClientAttribute |
DurableClientAttribute |
In dem Fall, wo eine abstrakte Basisklasse virtuelle Methoden enthielt, wurden diese virtuellen Methoden durch Erweiterungsmethoden ersetzt, die in DurableContextExtensions
definiert sind.
In Durable Functions 1.x verwendet die Clientorchestrierungsbindung einen type
von orchestrationClient
. Version 2.x verwendet stattdessen durableClient
.
In Durable Functions 1.x führten der Aufruf der API zur Ereignisauslösung und das Angeben einer nicht vorhandenen Instanz zu einem Fehler ohne Fehlermeldung. Ab 2.x führt das Auslösen eines Ereignisses für eine nicht vorhandene Orchestrierung zu einer Ausnahme.
Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenTraining
Modul
Erstellen eines zeitintensiven serverlosen Workflows mit Durable Functions - Training
Erfahren Sie, wie Sie einen zeitintensiven Workflow als Sammlung von Aktivitäten mithilfe von skalierbaren und kostengünstigen Durable Functions orchestrieren.
Zertifizierung
Microsoft Certified: Azure Developer Associate - Certifications
Erstellen von End-to-End-Lösungen in Microsoft Azure zum Erstellen von Azure Functions-Lösungen, Implementieren und Verwalten von Web-Apps, Entwickeln von Lösungen mit Azure Storage u. v. m.