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.
Dans ce didacticiel, vous découvrirez comment configurer une fonction Python utilisant une file d’attente de stockage comme déclencheur en réalisant les étapes suivantes.
- Utiliser Visual Studio Code pour créer un projet de fonction Python.
- Utiliser Visual Studio Code pour exécuter la fonction en local.
- Utiliser l’Azure CLI afin de créer une connexion entre Azure Functions et Storage Queue à l’aide de Service Connector.
- Utiliser Visual Studio pour déployer la fonction.
Présentation des composants du projet de fonction abordés dans ce didacticiel :
| Composant du projet | Sélection / Solution |
|---|---|
| Service source | Fonction Azure |
| Service cible | File d’attente de stockage Azure |
| Liaison de fonction | File d’attente de stockage utilisée comme déclencheur |
| Type d’authentification du projet local | Chaîne de connexion |
| Type d’authentification de la fonction dans le cloud | Chaîne de connexion |
Avertissement
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d’authentification décrit dans cette procédure nécessite un degré élevé de confiance dans l’application et comporte des risques qui ne sont pas présents dans d’autres flux. Utilisez ce flux seulement si d’autres flux plus sécurisés, tels que les identités managées, ne sont pas viables.
Prérequis
- Installer Visual Studio Code sur l’une des plateformes prises en charge.
- l’interface de ligne de commande Azure. Vous pouvez l’utiliser dans Azure Cloud Shell ou l’installer localement.
- Un compte Azure Storage ainsi qu’une file d’attente de stockage. Si aucun stockage Azure n’est disponible, veuillez en créer un.
- Ce guide part du principe que vous maîtrisez les notions fondamentales décrites dans le guide du développeurAzure Functions et que vous savez établir des connexions aux services dans Functions.
Créer un projet de fonction Python
Suivez le tutoriel pour créer un projet Azure Functions local. Quand vous y êtes invité, indiquez les informations suivantes :
| Prompt | Sélection |
|---|---|
| Sélectionnez une langue | Choisissez Python. (modèle de langage de programmation v1) |
| Sélectionner un interpréteur Python pour créer un environnement virtuel | Choisissez votre interpréteur Python préféré. Si une option n’est pas affichée, tapez le chemin complet de votre fichier binaire Python. |
| Sélectionner un modèle pour la première fonction de votre projet | Choisissez Azure Queue Storage trigger. |
| Fournir un nom de fonction | Entrez QueueStorageTriggerFunc. |
| Sélectionnez un paramètre dans « local.setting.json » | Sélectionnez Create new local app settings, qui permet de choisir le compte de stockage et de renseigner le nom de la file d’attente servant de déclencheur. |
Avec ces informations, Visual Studio Code génère un projet de fonction Python avec la file d’attente stockage Azure comme déclencheur. Le projet local se connecte à Azure Storage à l’aide de la chaîne de connexion enregistrée dans le fichier local.settings.json. Enfin, la fonction main définie dans le fichier __init__.py peut exploiter cette chaîne de connexion via la liaison de fonction configurée dans le fichier function.json.
Exécuter la fonction localement
Suivez le didacticiel afin d’exécuter la fonction localement et de valider le fonctionnement du déclencheur.
- Si vous êtes invité à vous connecter au stockage, sélectionnez le compte de stockage que vous avez choisi lors de la création de la ressource de fonction Azure. Cette valeur est utilisée par le runtime Azure Functions et peut différer du compte de stockage utilisé pour le déclencheur.
- Pour lancer la fonction en local, appuyez sur
<kbd>F5</kbd>ou sélectionnez l’icône Exécuter et déboguer dans la barre d’activité située à gauche. - Pour vérifier que le déclencheur fonctionne correctement, conservez la fonction en cours d’exécution localement et ouvrez le volet File d’attente de stockage dans le portail Azure. Sélectionnez Ajouter un message et fournissez un message de test. La fonction doit alors se déclencher et traiter l’élément de file d’attente, avec les informations affichées dans le terminal de Visual Studio Code.
Créer une connexion à l’aide du connecteur de service
Lors de la dernière étape, vous avez vérifié le projet de fonction localement. Ensuite, vous allez apprendre à configurer la connexion entre la fonction Azure et la file d’attente stockage Azure. Une fois que votre fonction est déployée dans le cloud, cette connexion permet à votre fonction de recevoir des déclencheurs à partir de la file d’attente de stockage.
- Ouvrez le fichier
function.jsondans votre projet local et modifiez la valeur de la propriétéconnectiondansbindingspour qu'elle devienneAZURE_STORAGEQUEUE_CONNECTIONSTRING. - Exécutez la commande Azure CLI suivante afin de créer une connexion entre votre fonction Azure et votre compte Azure Storage.
az functionapp connection create storage-queue --source-id "<your-function-resource-id>" --target-id "<your-storage-queue-resource-id>" --secret
-
--source-idformat :/subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.Web/sites/{site} -
--target-idformat :/subscriptions/{subscription}/resourceGroups/{target_resource_group}/providers/Microsoft.Storage/storageAccounts/{account}/queueServices/default
Cette étape génère une ressource de connecteur de service qui configure une variable AZURE_STORAGEQUEUE_CONNECTIONSTRING dans les paramètres d’application de la fonction. Le runtime de liaison de fonction utilise cette variable pour établir la connexion au stockage, permettant ainsi à la fonction de recevoir les déclencheurs de la file d’attente de stockage. Pour plus de détails, consultez la section expliquant comment le connecteur de service facilite la connexion d’Azure Functions aux services.
Déployer votre fonction sur Azure
Vous pouvez désormais déployer la fonction sur Azure et vérifier le bon fonctionnement du déclencheur de file d’attente de stockage.
- Suivez ce didacticiel Azure Functions afin de publier la fonction sur Azure.
- Ouvrez le volet File d’attente de stockage dans le portail Azure. Sélectionnez Ajouter un message et fournissez un message de test. La fonction doit se déclencher et traiter l’élément de file d’attente, avec les événements visibles dans les journaux d’activité.
Dépanner
Si des erreurs liées à l’hôte de stockage, telles que No such host is known (<account-name>.queue.core.windows.net:443), surviennent, vérifiez que la chaîne de connexion utilisée pour Azure Storage inclut bien le point de terminaison de la file d’attente. Dans le cas contraire, ouvrez Azure Storage dans le portail Azure, copiez la chaîne de connexion depuis le volet Access keys et remplacez les valeurs existantes.
Si cette erreur apparaît lors du démarrage du projet en local, vérifiez le fichier local.settings.json.
Si cette erreur survient lors du déploiement de la fonction dans le cloud, ce qui entraîne généralement un échec du déploiement sur Syncing triggers), contrôlez les paramètres de l’application de fonction.
Nettoyer les ressources
Si vous ne prévoyez plus d’utiliser ce projet, supprimez la ressource d’application de fonction créée précédemment.
- Dans le portail Azure, ouvrez la ressource de l’application de fonction et sélectionnez Supprimer.
- Saisissez le nom de l’application puis sélectionnez Supprimer afin de confirmer.
Étapes suivantes
Lisez les articles suivants pour en savoir plus sur les concepts de Service Connector et comment il aide Azure Functions à se connecter aux services.