Démarrage rapide : Configurer une application Durable Functions pour utiliser Durable Task Scheduler

Utilisez le planificateur de tâches Durable en tant que back-end pour vos applications Durable Functions pour stocker l’orchestration et l’état du runtime d’entité. Dans ce guide de démarrage rapide, vous clonez un exemple Hello Cities déjà configuré pour utiliser le planificateur de tâches durables, exécutez-le localement avec l'émulateur, puis déployez-le sur Azure.

  • Clonez l’exemple Hello Cities préconfiguré pour Durable Task Scheduler.
  • Configurez l’émulateur Durable Task Scheduler pour le développement local.
  • Exécutez l’exemple et vérifiez la sortie de l’orchestration.
  • Déployez votre application pour Azure et surveillez-la via le tableau de bord Du planificateur de tâches durable.

Prerequisites

Tip

Une fois l’émulateur en cours d’exécution, vous pouvez accéder au tableau de bord Durable Task Scheduler à l’adresse http://localhost:8082 pour surveiller les orchestrations.

Exécuter l’exemple de démarrage rapide

Installez la dernière version du package Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged à l’aide de la commande dotnet add package :

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged --prerelease

Note

L’extension Durable Task Scheduler nécessite Microsoft.Azure.Functions.Worker.Extensions.DurableTask version 1.2.2 ou ultérieure.

  1. Générez et démarrez l’application de fonction :

    dotnet build
    func start
    

Dans host.json, mettez à jour la propriété pour utiliser la extensionBundle version 4.32.0 ou ultérieure, qui inclut la prise en charge du Planificateur de tâches durables :

{
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.32.0, 5.0.0)"
  }
}
  1. Démarrez l’application de fonctions :

    func start
    
  1. Générez et démarrez l’application de fonction :

    mvn clean package
    mvn azure-functions:run
    
  1. Dans un terminal distinct, déclenchez une orchestration :

    $response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/DurableFunctionsOrchestrationCSharp1_HttpStart
    $response
    
  1. Dans un terminal distinct, déclenchez une orchestration :

    $response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/StartChaining
    $response
    
  1. La réponse contient des URL d’état pour l’instance d’orchestration. Interrogez le statusQueryGetUri pour vérifier le résultat :

    Invoke-RestMethod -Uri $response.statusQueryGetUri
    

    Lorsque le runtimeStatus de l’orchestration est Completed, la sortie contient des résultats de salutation. Si runtimeStatus affiche Running ou Pending, attendez un instant et interrogez à nouveau.

  2. Consultez plus d’informations sur l’instance d’orchestration dans le tableau de bord planificateur de tâches durables à l’adresse http://localhost:8082.

Comprendre la configuration du planificateur de tâches durables

La configuration clé qui permet à ces exemples d’utiliser le Durable Task Scheduler se trouve dans deux fichiers.

host.json

La section storageProvider indique Durable Functions d’utiliser le planificateur de tâches durables (azureManaged) au lieu du back-end par défaut stockage Azure :

{
  "extensions": {
    "durableTask": {
      "hubName": "default",
      "storageProvider": {
        "type": "azureManaged",
        "connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
      }
    }
  }
}

local.settings.json

Le chaîne de connexion pointe vers l’émulateur local pour le développement :

{
  "Values": {
    "DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"
  }
}

Note

Pour migrer une application Durable Functions existante, mettez à jour ces deux fichiers et ajoutez le package d’extension approprié pour votre langue. Pour .NET, installez la Microsoft.Azure. Functions.Worker.Extensions.DurableTask.AzureManaged package NuGet. Pour les autres langues, mettez à jour le bundle d’extensions dans host.json vers la version [4.32.0, 5.0.0).

Exécuter votre application dans Azure

Créer les ressources nécessaires

Créez une instance Durable Task Scheduler et une application Azure Functions sur Azure en suivant le flux de création intégré de l’application de fonction. Cette expérience configure automatiquement l’accès basé sur l’identité et configure les variables d’environnement requises pour que l’application accède au planificateur.

  1. Accédez au panneau de création de l’application Function.

    Capture d’écran des options d’hébergement pour les applications de fonction.

  2. Dans le panneau Créer une application de fonction (Consommation flexible), renseignez les informations dans l’onglet Informations de base.

    Capture d’écran de l’onglet « Informations de base » pour la création d’une application de fonction avec un plan de consommation flexible.

    Champ Description
    Subscription Sélectionnez votre abonnement Azure.
    Groupe de ressources Sélectionnez un groupe de ressources existant ou cliquez sur Créer pour en créer un.
    Nom de l’application de fonction Créez un nom unique pour votre application de fonction.
    Voulez-vous déployer du code ou une image conteneur ? Conservez l’option Code sélectionnée.
    Région Sélectionnez l’une des régions prises en charge.
    Pile d’exécution Sélectionnez le runtime que vous utilisez pour ce guide de démarrage rapide.
    Version Sélectionnez la version de votre pile d’exécution.
    Taille de l’instance Sélectionnez une taille d’instance ou utilisez la sélection par défaut. En savoir plus sur les tailles d’instance.
    Redondance de zone Conservez le paramètre Désactivé par défaut.
  3. Sélectionnez l’onglet Durable Functions.

  4. Choisissez Azure managed : Durable Task Scheduler en tant que fournisseur principal pour vos fonctions durables.

  5. Créez une ressource de planificateur. Cette action crée automatiquement un hub de tâches.

    Capture d’écran de la création d’une application de fonction Flex Consumption.

    Champ Description
    Back-end de stockage Sélectionnez Azure managed : Planificateur de tâches durable.
    Région Vérifiez que les régions du planificateur et de l’application de fonction sont identiques.
    Planificateur de tâches durables Utilisez le nom du planificateur proposé ou cliquez sur Créer pour créer un nom personnalisé.
    Plan Sélectionnez le plan tarifaire qui correspond le mieux à votre projet. Consultez le guide de choix d’un framework d’orchestration pour déterminer quel plan est le mieux adapté à l’utilisation de la production.
    Unités de capacité Applicable uniquement lorsque le plan tarifaire « Dédié » est sélectionné. Vous pouvez sélectionner jusqu’à 3 unités de capacité.
  6. Cliquez sur Vérifier + créer pour passer en revue la création de la ressource.

    Une identité managée affectée par l’utilisateur avec l’autorisation de contrôle d’accès en fonction du rôle (RBAC) requise est créée automatiquement et ajoutée à l’application de fonction. Vous trouverez dans la vue récapitulative les informations relatives à la ressource d’identité managée, telles que :

    • Le rôle qui lui est attribué (Contributeur de données de tâche durable)

    • L’affectation est délimitée au niveau du hub de tâches

      Capture d’écran des champs et propriétés choisis et en révision sous l’onglet Vérifier + créer.

  7. Cliquez sur Créer une fois la validation réussie.

Le déploiement de ressources peut prendre environ 15 à 20 minutes. Une fois cette opération terminée, vous pouvez déployer votre application sur Azure.

Déployer votre application de fonction sur Azure

Important

Le déploiement sur une application de fonction existante remplace toujours le contenu de cette application dans Azure.

  1. Dans la palette de commandes, entrez, puis sélectionnez Azure Functions : Déployer sur l’application de fonction.

  2. Sélectionnez l’application de fonction que vous venez de créer. Quand vous êtes invité à remplacer les déploiements précédents, sélectionnez Déployer pour déployer le code de votre fonction sur la nouvelle ressource de l’application de fonction.

  3. Une fois le déploiement terminé, sélectionnez View Output pour afficher les résultats de création et de déploiement, y compris les ressources Azure que vous avez créées. Si vous manquez la notification, sélectionnez l’icône de la cloche dans le coin inférieur droit pour la voir à nouveau.

    Capture d’écran de la fenêtre Afficher la sortie.

Applications sur le plan Functions Premium

Si votre application est en cours d’exécution sur le plan Functions Premium, activez le paramètre Runtime Scale Monitoring après le déploiement pour vous assurer que vos mises à l’échelle automatiques d’application sont basées sur la charge :

az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites

Tester votre application de fonction

Exécutez la commande suivante pour obtenir l’URL de votre fonction :

az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME>  --query '[].{Function:name, URL:invokeUrlTemplate}' --output json

Vérifier l’état de l’orchestration

Vérifiez l’état de l’instance d’orchestration et les détails de l’activité dans le tableau de bord du Planificateur de tâches durables. L’accès au tableau de bord nécessite que vous vous connectiez.

Note

L’instruction suivante montre une attribution de rôle délimitée à un hub de tâches spécifique. Si vous avez besoin d’accéder à tous les hubs de tâches dans un planificateur, effectuez l’affectation au niveau du planificateur.

  1. Accédez à la ressource Planificateur de tâches durables sur le portail.

  2. Cliquez sur un nom de hub de tâches.

  3. Dans le menu de gauche, sélectionnez Contrôle d’accès (IAM) .

  4. Cliquez sur Ajouter pour ajouter une attribution de rôle.

    Capture d’écran de l’ajout de l’attribution de rôle dans le volet Contrôle d’accès dans le portail.

  5. Recherchez et sélectionnez Contributeur de données de tâche durable. Cliquez sur Suivant.

    Capture d’écran de la sélection du rôle de Contributeur de données pour les tâches durables dans le portail.

  6. Sous l’onglet Membres, pour Affecter l’accès à, sélectionnez Utilisateur, groupe ou principal du service.

  7. Pour les membres, cliquez sur + Sélectionner des membres.

  8. Dans le volet Sélectionner des membres , recherchez votre nom ou votre adresse e-mail :

    Capture d’écran de la sélection du type d’identité managée affectée par l’utilisateur dans le portail.

  9. Sélectionnez votre e-mail, puis cliquez sur le bouton Sélectionner .

  10. Cliquez sur Vérifier + affecter pour terminer l’attribution du rôle.

  11. Une fois le rôle attribué, cliquez sur Vue d’ensemble dans le menu de gauche de la ressource du hub de tâches, puis accédez à l’URL du tableau de bord située dans la section Éléments essentiels en haut.

Nettoyer les ressources

Si vous n’avez plus besoin des ressources que vous avez créées pour suivre le guide de démarrage rapide, pour éviter les coûts associés dans votre abonnement Azure, delete le groupe de ressources et toutes les ressources associées.

Étapes suivantes