Développer avec le Planificateur de tâches durables

Le planificateur de tâches durables est un fournisseur de backend hautement performant et entièrement géré pour Durable Task avec un tableau de bord de supervision clé en main. Azure propose deux frameworks d’orchestration orientés développeur qui fonctionnent avec le Durable Task Scheduler pour créer des applications : Durable Task SDKs et Durable Functions.

Dans cet article, vous allez apprendre à :

  • Exécuter l’émulateur Planificateur de tâches durables
  • Effectuez des opérations CRUD sur un planificateur et un hub de tâches.

En savoir plus sur les fonctionnalités durables du planificateur de tâches, les régions prises en charge et les plans.

Émulateur de Planificateur de Tâches Durable

L’émulateur Durable Task Scheduler est disponible uniquement en tant qu’image Docker aujourd’hui.

  1. Extrayez l’image Docker contenant l’émulateur.

    docker pull mcr.microsoft.com/dts/dts-emulator:latest
    
  2. Exécutez l’émulateur.

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

    Cette commande expose un hub de tâches unique nommé default. Si vous avez besoin de plusieurs hubs de tâches, vous pouvez définir la variable DTS_TASK_HUB_NAMES d’environnement sur le conteneur sur une liste délimitée par des virgules de noms de hub de tâches comme dans la commande suivante :

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

Prerequisites

Configurer l’interface CLI

  1. Connectez-vous à Azure et vérifiez que vous disposez de la dernière version de l’interface CLI.

    az login
    az upgrade
    
  2. Installez l’extension CLI Durable Task Scheduler.

    az extension add --name durabletask
    
  3. Si vous avez déjà installé l’extension CLI Durable Task Scheduler, effectuez une mise à niveau vers la dernière version.

    az extension update --name durabletask
    
  4. Vérifiez votre version installée :

    az extension show --name durabletask
    

En savoir plus sur les az durabletask commandes.

Créer un planificateur et un hub de tâches

  1. Créez un groupe de ressources.

    az group create --name YOUR_RESOURCE_GROUP --location LOCATION
    
  2. À l’aide de l’extension durabletask CLI, créez un planificateur.

    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"
    

    Le processus de création peut prendre jusqu’à 15 minutes.

    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. Créez un hub de tâches.

    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. Dans le portail Azure, recherchez Durable Task Scheduler et sélectionnez-le dans les résultats.

    Capture d’écran de la recherche du planificateur de tâches durables dans le portail.

  2. Sélectionnez Créer pour ouvrir le volet Planificateur de tâches durable .

    Capture d’écran de la page de création du planificateur de tâches durables.

  3. Renseignez les champs sous l’onglet Informations de base . Sélectionnez Vérifier + créer.

  4. Une fois la validation réussie, sélectionnez Créer.

    Le déploiement peut prendre environ 15 à 20 minutes.

Afficher toutes les ressources durables du planificateur de tâches dans un abonnement

  1. Obtenez la liste de tous les noms du planificateur au sein d’un abonnement en exécutant la commande suivante.

    az durabletask scheduler list --subscription <SUBSCRIPTION_ID>
    
  2. Vous pouvez limiter les résultats à un groupe de ressources spécifique en ajoutant l’indicateur --resource-group .

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

Dans le portail Azure, recherchez Durable Task Scheduler et sélectionnez-le dans les résultats.

Capture d’écran de la recherche du service Planificateur de tâches durables dans le portail.

Vous pouvez voir la liste des ressources du planificateur créées dans tous les abonnements auxquels vous avez accès.

Afficher tous les hubs de tâches dans un planificateur de tâches durable

Récupérez une liste de hubs de tâches dans un planificateur spécifique en exécutant :

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

Vous pouvez voir tous les hubs de tâches créés dans un planificateur dans la vue d’ensemble de la ressource sur le portail Azure.

Capture d’écran de l’onglet Vue d’ensemble du Planificateur de tâches durables dans le portail.

Supprimer un planificateur et un hub de tâches

  1. Supprimez d’abord le hub de tâches :

    az durabletask taskhub delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER --name YOUR_TASKHUB
    
  2. Supprimez le planificateur :

    az durabletask scheduler delete --resource-group YOUR_RESOURCE_GROUP --scheduler-name YOUR_SCHEDULER
    
  1. Ouvrez la ressource du planificateur dans le portail Azure, puis sélectionnez Delete :

    Capture d’écran de la ressource du planificateur dans le portail mettant en surbrillance le bouton Supprimer.

  2. Recherchez le planificateur avec le hub de tâches que vous souhaitez supprimer, puis sélectionnez ce hub de tâches. Sélectionnez Supprimer :

    Capture d’écran de la ressource du hub de tâches dans le portail mettant en surbrillance le bouton Supprimer.

Configurer l’authentification basée sur l’identité pour votre application afin d’accéder au planificateur de tâches durables

Durable Task Scheduler prend uniquement en charge l’authentification d’identité managée à l’aide d’identités affectées par l’utilisateur ou affectées par le système . Les identités affectées par l’utilisateur sont recommandées, car elles ne sont pas liées au cycle de vie de l’application et peuvent être réutilisées une fois l’application déprovisionnée.

Pour accorder l’accès à votre application, attribuez le rôle Contributeur aux données des tâches durables à l’identité managée. Pour connaître les étapes d’installation complètes, consultez Configurer l’accès basé sur l’identité dans Durable Task Scheduler.

Accéder au tableau de bord du planificateur de tâches durables

Pour accéder au tableau de bord du Planificateur de tâches durables, attribuez le rôle Visionneuse du tableau de bord de Tâche durable à votre identité de développeur. Pour plus d’informations, consultez le tableau de bord du planificateur de tâches durable.