Entwickeln mit dauerhaftem Aufgabenplaner

Der Durable Task Scheduler ist ein hochperformanter, vollständig verwalteter Backend-Anbieter für Durable Task mit einem out-of-the-box Monitoring-Dashboard. Azure bietet zwei entwicklerorientierte Orchestrierungsframeworks, die mit Durable Task Scheduler arbeiten, um Apps zu erstellen: Durable Task SDKs und Durable Functions.

In diesem Artikel lernen Sie Folgendes:

  • Den Emulator "Durable Task Scheduler" ausführen
  • Führen Sie CRUD-Vorgänge für einen Planer und einen Aufgabenhub aus.

Erfahren Sie mehr über die Features des Dauerhaften Aufgabenplaners, unterstützte Regionen und Pläne.

Emulator für dauerhafte Aufgabenplanung

Der Emulator "Durable Task Scheduler" ist heute nur noch als Docker-Image verfügbar.

  1. Ziehen Sie das Docker-Image, das den Emulator enthält.

    docker pull mcr.microsoft.com/dts/dts-emulator:latest
    
  2. Führen Sie den Emulator aus.

    docker run -itP mcr.microsoft.com/dts/dts-emulator:latest
    

    Mit diesem Befehl wird ein einzelner Aufgabenhub mit dem Namen default verfügbar gemacht. Wenn Sie mehr als einen Aufgabenhub benötigen, können Sie die Umgebungsvariable DTS_TASK_HUB_NAMES für den Container auf eine durch Trennzeichen getrennte Liste der Aufgabenhubnamen festlegen, z. B. im folgenden Befehl:

    docker run -itP -e DTS_TASK_HUB_NAMES=taskhub1,taskhub2,taskhub3 mcr.microsoft.com/dts/dts-emulator:latest
    

Voraussetzungen

Einrichten der CLI

  1. Melden Sie sich bei Azure an, und stellen Sie sicher, dass Sie über die neueste CLI-Version verfügen.

    az login
    az upgrade
    
  2. Installieren Sie die Cli-Erweiterung "Durable Task Scheduler".

    az extension add --name durabletask
    
  3. Wenn Sie die Cli-Erweiterung "Durable Task Scheduler" bereits installiert haben, führen Sie ein Upgrade auf die neueste Version durch.

    az extension update --name durabletask
    
  4. Überprüfen Sie Ihre installierte Version:

    az extension show --name durabletask
    

Erfahren Sie mehr über die az durabletask Befehle.

Erstellen eines Planers und eines Aufgabenhubs

  1. Erstellen Sie eine Ressourcengruppe.

    az group create --name YOUR_RESOURCE_GROUP --location LOCATION
    
  2. Erstellen Sie mit der durabletask CLI-Erweiterung einen Scheduler.

    az durabletask scheduler create --name "YOUR_SCHEDULER" --resource-group "YOUR_RESOURCE_GROUP" --location "LOCATION" --ip-allowlist "[0.0.0.0/0]" --sku-name "dedicated" --sku-capacity "1"
    

    Der Erstellungsprozess kann bis zu 15 Minuten dauern.

    Output

    {
        "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_SCHEDULER",
        "location": "northcentralus",
        "name": "YOUR_SCHEDULER",
        "properties": {
            "endpoint": "https://YOUR_SCHEDULER.northcentralus.durabletask.io",
            "ipAllowlist": [
                "0.0.0.0/0"
            ],
            "provisioningState": "Succeeded",
            "sku": {
                "capacity": 1,
                "name": "Dedicated",
                "redundancyState": "None"
            }
        },
        "resourceGroup": "YOUR_RESOURCE_GROUP",
        "systemData": {
            "createdAt": "2025-01-06T21:22:59Z",
            "createdBy": "YOUR_EMAIL@example.com",
            "createdByType": "User",
            "lastModifiedAt": "2025-01-06T21:22:59Z",
            "lastModifiedBy": "YOUR_EMAIL@example.com",
            "lastModifiedByType": "User"
        },
        "tags": {}
    }
    
  3. Erstellen Sie einen Aufgabenhub.

    az durabletask taskhub create --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
    

    Output

    {
      "id": "/subscriptions/YOUR_SUBSCRIPTION_ID/resourceGroups/YOUR_RESOURCE_GROUP/providers/Microsoft.DurableTask/schedulers/YOUR_SCHEDULERS/taskHubs/YOUR_TASKHUB",
      "name": "YOUR_TASKHUB",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "resourceGroup": "YOUR_RESOURCE_GROUP",
      "systemData": {
        "createdAt": "2024-09-18T22:13:56.5467094Z",
        "createdBy": "OBJECT_ID",
        "createdByType": "User",
        "lastModifiedAt": "2024-09-18T22:13:56.5467094Z",
        "lastModifiedBy": "OBJECT_ID",
        "lastModifiedByType": "User"
      },
      "type": "microsoft.durabletask/scheduler/taskhubs"
    }
    
  1. Suchen Sie im Azure-Portal nach "Durable Task Scheduler ", und wählen Sie ihn aus den Ergebnissen aus.

    Screenshot der Suche nach dem

  2. Wählen Sie "Erstellen" aus, um den Bereich " Dauerhafter Vorgangsplaner " zu öffnen.

    Screenshot: Seite „Erstellen“ für den langlebigen Aufgabenplaner

  3. Füllen Sie die Felder auf der Registerkarte " Grundlagen " aus. Wählen Sie "Überprüfen" und "Erstellen" aus.

  4. Nachdem die Überprüfung bestanden wurde, wählen Sie "Erstellen" aus.

    Die Bereitstellung kann etwa 15 bis 20 Minuten dauern.

Alle Ressourcen des Durable Task Scheduler in einem Abonnement anzeigen

  1. Rufen Sie eine Liste aller Scheduler-Namen innerhalb eines Abonnements ab, indem Sie den folgenden Befehl ausführen.

    az durabletask scheduler list --subscription <SUBSCRIPTION_ID>
    
  2. Sie können Ergebnisse auf eine bestimmte Ressourcengruppe eingrenzen, indem Sie das --resource-group Flag hinzufügen.

    az durabletask scheduler list --subscription <SUBSCRIPTION_ID> --resource-group <RESOURCE_GROUP_NAME>
    

Suchen Sie im Azure-Portal nach "Durable Task Scheduler ", und wählen Sie ihn aus den Ergebnissen aus.

Screenshot der Suche nach dem Dienst für dauerhafte Aufgabenplanung im Portal.

Sie können die Liste der Planerressourcen anzeigen, die in allen Abonnements erstellt wurden, auf die Sie Zugriff haben.

Anzeigen aller Aufgabenhubs in einem langlebigen Aufgabenplaner

Rufen Sie eine Liste von Aufgabenhubs in einem bestimmten Scheduler ab, indem Sie Folgendes ausführen:

az durabletask taskhub list --resource-group <RESOURCE_GROUP_NAME> --scheduler-name <SCHEDULER_NAME>

Sie können alle Aufgabenhubs, die in einem Scheduler erstellt wurden, im Overview der Ressource im Azure Portal anzeigen.

Screenshot der Registerkarte

Löschen eines Planers und eines Aufgaben-Hubs

  1. Löschen Sie zuerst den Aufgabenhub:

    az durabletask taskhub delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
    
  2. Löschen Sie den Zeitplaner:

    az durabletask scheduler delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER
    
  1. Öffnen Sie die Schedulerressource im Azure-Portal, und wählen Sie Delete aus:

    Screenshot der Scheduler-Ressource im Portal mit hervorgehobener Schaltfläche

  2. Suchen Sie den Zeitplan mit dem Aufgabenhub, den Sie löschen möchten, und wählen Sie dann diesen Aufgabenhub aus. Wählen Sie "Löschen" aus:

    Screenshot der Task Hub-Ressource im Portal mit hervorgehobener Schaltfläche

Konfigurieren der identitätsbasierten Authentifizierung für Ihre App für den Zugriff auf den dauerhaften Aufgabenplaner

Der dauerhafte Aufgabenplaner unterstützt nur die verwaltete Identitätsauthentifizierung mithilfe von vom Benutzer zugewiesenen oder vom System zugewiesenen Identitäten. Vom Benutzer zugewiesene Identitäten werden empfohlen, da sie nicht an den Lebenszyklus der App gebunden sind und nach der Deprovisionierung der App wiederverwendet werden können.

Um Ihrer App Zugriff zu gewähren, weisen Sie der verwalteten Identität die Rolle "Durable Task Data Contributor" zu. Vollständige Einrichtungsschritte finden Sie unter Konfigurieren des identitätsbasierten Zugriffs in durable Task Scheduler.For full setup steps, see Configure identity-based access in Durable Task Scheduler.

Zugreifen auf das Dashboard für dauerhafte Aufgabenplanung

Um auf das Durable Task Scheduler-Dashboard zuzugreifen, weisen Sie Ihrer Entwickleridentität die Rolle "Durable Task-Dashboard-Viewer" zu. Ausführliche Informationen finden Sie im Dashboard "Durable Task Scheduler".