Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Écrire des fonctions avec état dans un environnement serverless à l’aide de Durable Functions, fonctionnalité d’Azure Functions. Les scénarios où Durable Functions est utile incluent l’orchestration des microservices et des flux de travail, des modèles avec état tels que fan-out/fan-in et des tâches de longue durée.
Vous pouvez utiliser le Planificateur de tâches durables comme back-end pour vos Durable Functions afin de stocker l’orchestration et l’état d’exécution de l’entité.
Dans ce guide de démarrage rapide, vous :
- Configurez une application Durable Functions existante pour utiliser le planificateur de tâches durables.
- Configurez l’émulateur Durable Task pour le développement local.
- Déployez votre application sur Azure sur le plan App Service à l’aide de Visual Studio Code.
- Surveillez l’état de votre application et du hub de tâches dans le tableau de bord du Planificateur de tâches durables.
Conditions préalables
Ce guide de démarrage rapide suppose que vous disposez déjà d’un projet Azure Functions sur votre ordinateur local avec :
- Fonctions durables ajoutées à votre projet, notamment :
- Fonction d’orchestrateur.
- Fonction cliente qui déclenche l’application Durable Functions.
- Le projet est configuré pour le débogage local.
Si vous ne remplissez pas ces conditions préalables, nous vous recommandons de commencer par l’un des guides de démarrage rapide suivants pour configurer un projet Functions local :
Vous avez également besoin des éléments suivants :
- Docker installé pour exécuter l’émulateur Durable Task Scheduler.
- Azurite installé.
- Outil de test HTTP qui sécurise vos données.
Ajouter le package Planificateur de tâches durables
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
Remarque
L’extension Durable Task Scheduler nécessite Microsoft.Azure.Functions.Worker.Extensions.DurableTask version 1.2.2 ou ultérieure.
Dans host.json, mettez à jour la extensionBundle propriété pour utiliser la préversion qui contient le package Planificateur de tâches durables :
{
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.29.0, 5.0.0)"
}
}
Mise à jour de host.json
Mettez à jour le host.json comme suit pour utiliser Durable Task Scheduler comme backend.
{
"extensions": {
"durableTask": {
"hubName": "%TASKHUB_NAME%",
"storageProvider": {
"type": "azureManaged",
"connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
}
}
}
}
Configurer local.settings.json
Ajoutez des informations de connexion pour le développement local :
{
"IsEncrypted": false,
"Values": {
"FUNCTIONS_WORKER_RUNTIME": "<DEPENDENT ON YOUR PROGRAMMING LANGUAGE>",
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;Authentication=None",
"TASKHUB_NAME": "default"
}
}
Configurer l’émulateur de tâche durable
Extrayez l’image Docker contenant l’émulateur.
docker pull mcr.microsoft.com/dts/dts-emulator:latestExécutez l’émulateur.
docker run -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latestLa sortie suivante indique que l’émulateur a démarré correctement.
Notez les ports exposés sur le bureau Docker. Le planificateur expose plusieurs ports à des fins différentes :
-
8080: point de terminaison gRPC qui permet à une application de se connecter au planificateur -
8082: point de terminaison pour le tableau de bord du Planificateur de tâches durables
-
Tester localement
Accédez au répertoire racine de votre application et démarrez Azurite.
azurite startExécutez l’application.
func startVous devez voir une liste des fonctions dans votre application. Si vous avez créé votre application en suivant l’un des guides de démarrage rapide Durable Functions, vous devez voir quelque chose de similaire à la sortie suivante :
Démarrez une instance d’orchestration en envoyant une requête HTTP
POSTau point de terminaison d’URL à l’aide de l’outil de test HTTP que vous avez choisi.Copiez la valeur de l’URL pour
statusQueryGetUriet collez-la dans la barre d’adresse de votre navigateur. Vous devriez voir le statut sur l’instance de l’orchestration :{ "name": "DurableFunctionsOrchestrationCSharp1", "instanceId": "b50f8b723f2f44149ab9fd2e3790a0e8", "runtimeStatus": "Completed", "input": null, "customStatus": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2025-02-21T21:09:59Z", "lastUpdatedTime": "2025-02-21T21:10:00Z" }Pour afficher plus d’informations sur l’instance d’orchestration, accédez au http://localhost:8082/ tableau de bord du Durable Task Scheduler.
Cliquez sur le hub de tâches par défaut pour afficher son tableau de bord.
Remarque
En savoir plus sur le tableau de bord planificateur de tâches durables.
L’émulateur Durable Task Scheduler stocke les données d’orchestration en mémoire, ce qui signifie que toutes les données sont perdues lorsqu’elles s’arrêtent.
Avez-vous des problèmes avec le test ? Consultez le guide de résolution des problèmes.
Exécuter l’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.
Accédez au panneau de création de l’application Function.
Dans le panneau Créer une application de fonction (Consommation flexible), renseignez les informations dans l’onglet Informations de base.
Champ Descriptif Abonnement 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. Sélectionnez l’onglet Fonctions durables .
Choisissez Azure managed : Durable Task Scheduler en tant que fournisseur principal pour vos fonctions durables.
Créez une ressource de planificateur. Cette action crée automatiquement un hub de tâches.
Champ Descriptif 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é. 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
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 vers une application de fonction existante remplace toujours le contenu de cette application dans Azure.
Dans la palette de commandes, entrez puis sélectionnez Azure Functions : Déployer sur une application de fonction.
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.
Une fois le déploiement terminé, sélectionnez Afficher la sortie pour voir les résultats de la création et du 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.
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.
Remarque
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.
Accédez à la ressource Planificateur de tâches durables sur le portail.
Cliquez sur un nom de hub de tâches.
Dans le menu de gauche, sélectionnez Contrôle d’accès (IAM) .
Cliquez sur Ajouter pour ajouter une attribution de rôle.
Recherchez et sélectionnez Contributeur de données de tâche durable. Cliquez sur Suivant.
Sous l’onglet Membres, pour Affecter l’accès à, sélectionnez Utilisateur, groupe ou principal du service.
Pour les membres, cliquez sur + Sélectionner des membres.
Dans le volet Sélectionner des membres , recherchez votre nom ou votre adresse e-mail :
Sélectionnez votre e-mail, puis cliquez sur le bouton Sélectionner .
Cliquez sur Vérifier + affecter pour terminer l’attribution du rôle.
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 démarrage rapide, pour éviter les coûts associés dans votre abonnement Azure, supprimez le groupe de ressources et toutes les ressources associées.
Étapes suivantes
- En savoir plus sur le tableau de bord planificateur de tâches durables.
- Résolvez les erreurs que vous pouvez rencontrer lors de l’utilisation du Planificateur de tâches durables.