Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie den Durable Task Scheduler als Back-End für Ihre Durable Functions-Apps zum Speichern des Orchestrierungs- und Entitätslaufzeitzustands. In dieser Schnellstartanleitung klonen Sie ein Hello Cities-Beispiel, das bereits für die Verwendung des Durable Task Scheduler konfiguriert ist, führen Sie es lokal mit dem Emulator aus, und stellen Sie es dann für Azure bereit.
- Klonen Sie das für Durable Task Scheduler vorkonfigurierte Beispielprojekt „Hello Cities“.
- Richten Sie den Emulator "Durable Task Scheduler" für die lokale Entwicklung ein.
- Führen Sie das Beispiel aus, und überprüfen Sie die Orchestrierungsausgabe.
- Stellen Sie Ihre App für Azure bereit, und überwachen Sie sie über das Dashboard "Durable Task Scheduler".
Voraussetzungen
Tip
Sobald der Emulator ausgeführt wird, können Sie auf das Dashboard http://localhost:8082 "Durable Task Scheduler" zugreifen, um Orchestrierungen zu überwachen.
Ausführen des Schnellstartbeispiels
Installieren Sie die neueste Version des Pakets Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged mithilfe des Befehls dotnet add package:
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged --prerelease
Hinweis
Für die Erweiterung "Durable Task Scheduler" ist Microsoft.Azure.Functions.Worker.Extensions.DurableTask-Version 1.2.2 oder höher erforderlich.
Erstellen und Starten der Funktions-App:
dotnet build func start
Aktualisieren Sie in host.json die extensionBundle-Eigenschaft, um Version 4.32.0 oder höher zu verwenden, die die Unterstützung für den Durable Task Scheduler umfasst.
{
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.32.0, 5.0.0)"
}
}
Starten Sie die Funktions-App:
func start
Erstellen und Starten der Funktions-App:
mvn clean package mvn azure-functions:run
Lösen Sie in einem separaten Terminal eine Orchestrierung aus:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/DurableFunctionsOrchestrationCSharp1_HttpStart $response
Lösen Sie in einem separaten Terminal eine Orchestrierung aus:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/StartChaining $response
Die Antwort enthält Status-URLs für die Orchestrierungsinstanz. Fragen Sie das Ergebnis über
statusQueryGetUriab, um es zu überprüfen:Invoke-RestMethod -Uri $response.statusQueryGetUriWenn
runtimeStatusder OrchestrierungCompletedist, enthält die Ausgabe Begrüßungsergebnisse. WennruntimeStatusRunningoderPendinganzeigt, warten Sie einen Moment und fragen Sie erneut ab.Weitere Details zur Orchestrierungsinstanz im Durable Task Scheduler-Dashboard unter
http://localhost:8082anzeigen.
Verstehen der Konfiguration des Durable Task Scheduler
Die Schlüsselkonfiguration, mit der diese Beispiele den Durable Task Scheduler verwenden, sind in zwei Dateien enthalten.
host.json
Der Abschnitt "storageProvider" weist Durable Functions an, den Durable Task Scheduler (azureManaged) anstelle des standardmäßigen Azure Storage Back-End zu verwenden:
{
"extensions": {
"durableTask": {
"hubName": "default",
"storageProvider": {
"type": "azureManaged",
"connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
}
}
}
}
local.settings.json
Die Verbindungszeichenfolge verweist auf den lokalen Emulator für die Entwicklung:
{
"Values": {
"DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"
}
}
Hinweis
Um eine vorhandene Durable Functions-App zu migrieren, aktualisieren Sie diese beiden Dateien, und fügen Sie das entsprechende Erweiterungspaket für Ihre Sprache hinzu. Installieren Sie für .NET die Microsoft.Azure. Functions.Worker.Extensions.DurableTask.AzureManaged NuGet-Paket. Für andere Sprachen aktualisieren Sie das Erweiterungspaket in host.json auf Version [4.32.0, 5.0.0).
Ausführen Ihrer App in Azure
Erstellen der erforderlichen Ressourcen
Erstellen Sie eine Instanz des langlebigen Aufgabenplaners und eine Azure Functions-App in Azure, indem Sie dem integrierten Ablauf zur Erstellung von Funktions-Apps folgen. Diese Oberfläche richtet automatisch identitätsbasierten Zugriff ein und konfiguriert die erforderlichen Umgebungsvariablen für die App für den Zugriff auf den Scheduler.
Navigieren Sie zum Blade für die Erstellung von Apps.
Im Blade Funktions-App erstellen (Flex-Verbrauch) geben Sie die Informationen auf der Registerkarte Grundlagen ein.
Feld Beschreibung Subscription Wählen Sie Ihr Azure-Abonnement. Ressourcengruppe Wählen Sie eine vorhandene Ressourcengruppe aus, oder klicken Sie auf "Neu erstellen", um eine neue zu erstellen. Name der Funktions-App Erstellen Sie einen eindeutigen Namen für Ihre Funktions-App. Möchten Sie Code oder ein Containerimage bereitstellen? Lassen Sie die Option "Code " ausgewählt. Region Wählen Sie eine der unterstützten Regionen aus. Runtime-Stack Wählen Sie die Laufzeit aus, die Sie für diese Schnellstartanleitung verwenden. Version Wählen Sie Ihre Version des Runtimestapels aus. Instanzgröße Wählen Sie eine Instanzgröße aus, oder verwenden Sie die Standardauswahl. Weitere Informationen zu Instanzengrößen. Zonenredundanz Verlassen Sie die Standardeinstellung "Deaktiviert ". Wählen Sie die Registerkarte "Dauerhafte Funktionen" aus .
Wählen Sie Azure managed: Durable Task Scheduler als Back-End-Anbieter für Ihre Durable Functions aus.
Erstellen Sie eine Scheduler-Ressource. Diese Aktion erstellt automatisch einen Aufgabenhub.
Feld Beschreibung Speicher-Back-End Wählen Sie Azure managed: Durable Task Scheduler aus. Region Stellen Sie sicher, dass die Bereiche der Planer- und Funktions-App identisch sind. Dauerhafter Aufgabenplaner Verwenden Sie den angebotenen Zeitplannamen, oder klicken Sie auf "Neu erstellen", um einen benutzerdefinierten Namen zu erstellen. Plan Wählen Sie den Preisplan aus, der ihrem Projekt am besten entspricht. Überprüfen Sie das Handbuch zum Auswählen eines Orchestrierungsframeworks , um zu ermitteln, welcher Plan für die Produktionsverwendung am besten geeignet ist. Kapazitätseinheiten Gilt nur, wenn der Tarifplan "Dediziert" ausgewählt ist. Sie können bis zu 3 Kapazitätseinheiten auswählen. Klicken Sie auf "Überprüfen" und "Erstellen ", um die Ressourcenerstellung zu überprüfen.
Eine vom Benutzer zugewiesene verwaltete Identität mit der erforderlichen rollenbasierten Zugriffssteuerungsberechtigung (RBAC) wird automatisch erstellt und der Funktions-App hinzugefügt. In der Zusammenfassungsansicht finden Sie Informationen zur verwalteten Identitätsressource, z. B.:
Die zugewiesene Rolle (Mitwirkende an langlebigen Aufgabendaten)
Die Zuordnung, die sich auf die Ebene des Aufgabenhubs bezieht
Klicken Sie auf "Erstellen ", nachdem die Überprüfung bestanden wurde.
Die Ressourcenbereitstellung kann etwa 15 bis 20 Minuten dauern. Sobald dies abgeschlossen ist, können Sie Ihre App für Azure bereitstellen.
Bereitstellen Ihrer Funktions-App in Azure
Von Bedeutung
Die Bereitstellung in einer vorhandenen Funktions-App überschreibt immer den Inhalt dieser App in Azure.
Geben Sie in der Befehlspalette Azure Functions: Deploy to Function App ein und wählen Sie dann.
Wählen Sie die eben erstellte Funktions-App aus. Wenn Sie aufgefordert werden, vorherige Bereitstellungen zu überschreiben, wählen Sie Bereitstellen aus, um Ihren Funktionscode in der neuen Funktions-App-Ressource bereitzustellen.
Wenn die Bereitstellung abgeschlossen ist, wählen Sie View Output aus, um die Erstellungs- und Bereitstellungsergebnisse anzuzeigen, einschließlich der Azure Ressourcen, die Sie erstellt haben. Wenn Sie die Benachrichtigung übersehen haben, wählen Sie unten rechts das Glockensymbol aus, um sie erneut anzuzeigen.
Apps im Functions Premium-Plan
Wenn Ihre App im Functions Premium-Plan ausgeführt wird, aktivieren Sie nach der Bereitstellung die Einstellung zur Laufzeitskalierungsüberwachung, um sicherzustellen, dass Ihre App basierend auf der Last automatisch skaliert wird.
az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites
Testen Ihrer Funktionsanwendung
Führen Sie den folgenden Befehl aus, um die URL Ihrer Funktion abzurufen:
az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME> --query '[].{Function:name, URL:invokeUrlTemplate}' --output json
Orchestrierungsstatus überprüfen
Überprüfen Sie den Status der Orchestrierungsinstanz und der Aktivitätsdetails im Dashboard "Durable Task Scheduler". Für den Zugriff auf das Dashboard müssen Sie sich anmelden.
Hinweis
Die folgende Anweisung zeigt eine Rollenzuweisung, die auf einen bestimmten Aufgabenhub festgelegt ist. Wenn Sie Zugriff auf alle Aufgabenhubs in einem Planer benötigen, führen Sie die Zuordnung auf der Planerebene aus.
Navigieren Sie im Portal zur Ressource "Durable Task Scheduler".
Wählen Sie einen Aufgabenhubnamen aus.
Wählen Sie im linken Menü Zugriffssteuerung (IAM) aus.
Klicken Sie auf "Hinzufügen" , um eine Rollenzuweisung hinzuzufügen.
Suchen Sie Mitwirkender an langlebigen Aufgabendaten, und wählen Sie die Rolle aus. Klicke auf Weiter.
Wählen Sie auf der Registerkarte " Mitglieder " für "Zugriff zuweisen"die Option "Benutzer", "Gruppe" oder "Dienstprinzipal" aus.
Klicken Sie für Mitglieder auf +Mitglieder auswählen.
Suchen Sie im Bereich "Mitglieder auswählen " nach Ihrem Namen oder Ihrer E-Mail:
Wählen Sie Ihre E-Mail aus, und klicken Sie auf die Schaltfläche " Auswählen ".
Klicken Sie auf "Überprüfen" und "Zuweisen ", um die Zuweisung der Rolle abzuschließen.
Nachdem die Rolle zugewiesen wurde, klicken Sie im linken Menü der Task Hub-Ressource auf "Übersicht ", und navigieren Sie zur Dashboard-URL im oberen Essentials-Abschnitt .
Bereinigen von Ressourcen
Wenn Sie die Ressourcen, die Sie zur Ausführung des Schnellstarts erstellt haben, nicht mehr benötigen, löschen Sie die Ressourcengruppe und alle zugehörigen Ressourcen, um Kosten in Ihrem Azure-Abonnement zu vermeiden.
Nächste Schritte
- Erfahren Sie mehr über das Dashboard "Durable Task Scheduler".
- Beheben Sie fehler, die beim Verwenden des durable Task Scheduler auftreten können.