Développer Azure Functions avec Visual Studio Code

L’extension Azure Functions pour Visual Studio Code vous permet de développer localement des fonctions, et de les déployer sur Azure. S’il s’agit de votre première expérience avec Azure Functions, vous pouvez en apprendre davantage dans l’article Présentation d’Azure Functions.

L’extension Azure Functions présente ces avantages :

  • Modifier, générer et exécuter des fonctions sur votre ordinateur de développement local.
  • Publier votre projet Azure Functions directement sur Azure.
  • Écrire vos fonctions dans différents langages tout en bénéficiant des avantages du développement Visual Studio Code.

L’extension peut être utilisée avec les langages suivants, qui sont pris en charge par le runtime Azure Functions à partir de la version 2.x :

*Nécessite que vous définissiez C# script comme langage de projet par défaut.

Dans cet article, des exemples sont disponibles uniquement pour les fonctions de bibliothèque de classes JavaScript (Node.js) et C#.

Cet article fournit des informations sur le développement et la publication sur Azure de fonctions, à l’aide de l’extension Azure Functions. Avant de lire cet article, vous devez créer votre première fonction en utilisant Visual Studio Code.

Important

Ne mélangez pas un développement local avec un développement de portail pour une même application de fonction. Quand vous publiez à partir d’un projet local dans une application de fonction, le processus de déploiement remplace toutes les fonctions que vous avez développées dans le portail.

Prérequis

Conditions requises pour une exécution locale

Ces conditions préalables sont requises uniquement pour exécuter et déboguer vos fonctions localement. Elles ne sont pas requises pour créer ou publier des projets dans Azure Functions.

  • Azure Functions Core Tools version 2.x ou ultérieure. Le package Core Tools est téléchargé et installé automatiquement lorsque vous démarrez le projet en local. Ce package inclut l’intégralité du runtime Azure Functions. Par conséquent, son téléchargement et son installation peuvent prendre un certain temps.

  • Extension C# pour Visual Studio Code.

  • Outils CLI .NET Core.

Créer un projet Azure Functions

L’extension Functions vous permet de créer un projet d’application de fonction, ainsi que votre première fonction. Les étapes suivantes expliquent comment créer une fonction déclenchée via HTTP dans un nouveau projet Functions. Le Déclencheur HTTP est le modèle de déclencheur de fonction le plus simple à expliquer.

    1. Choisissez l’icône Azure dans la barre d’activité, puis dans la zone Espace de travail (local), sélectionnez le bouton +, choisissez Créer une fonction dans la liste déroulante. À l’invite, choisissez Créer un nouveau projet.

    Capture d’écran de la fenêtre de création d’un projet.

  1. Choisissez l’emplacement de répertoire pour votre espace de travail de projet et optez pour Sélectionner. Vous devez créer un dossier ou choisir un dossier vide pour l’espace de travail du projet. Ne choisissez pas de dossier de projet qui fait déjà partie d’un espace de travail.

  2. Lorsque vous y êtes invité, sélectionnez un langage pour votre projet et, si nécessaire, choisissez une version de langage spécifique.

  3. Sélectionnez le modèle de fonction Déclencheur HTTP, sinon vous pouvez sélectionner Ignorer pour le moment et créer un projet sans fonction. Vous pourrez toujours ajouter une fonction à votre projet ultérieurement.

    Capture d’écran de la sélection du déclencheur H T T P.

  4. Tapez HttpExample comme nom de fonction. Sélectionnez ensuite Entrée, puis l’autorisation Fonction. Avec ce niveau d’autorisation, vous devez fournir une clé de fonction lorsque vous appelez le point de terminaison de la fonction.

    Capture d’écran de la création d’une autorisation de fonction.

  5. Dans la liste déroulante, sélectionnez Ajouter à l’espace de travail.

    Capture d’écran de la sélection de Ajouter à l’espace de travail.

  6. Dans la fenêtre Faites-vous confiance aux auteurs des fichiers de ce dossier ?, sélectionnez Oui.

    Capture d’écran de la confirmation de confiance accordée aux auteurs des fichiers.

  7. Une fonction est créée dans le langage que vous avez choisi, et dans le modèle d’une fonction déclenchée via HTTP.

    Capture d’écran du modèle de fonction déclenchée via H T T P dans Visual Studio Code.

Fichiers projet générés

Le modèle de projet crée un projet dans le langage choisi, et installe les dépendances voulues. Pour tous les langages, le nouveau projet comporte ces fichiers :

  • host.json : vous permet de configurer l’hôte Functions. Ces paramètres s’appliquent lorsque vous exécutez des fonctions localement, et lorsque vous les exécutez dans Azure. Pour plus d’informations, consultez l’article de référence sur host.json.

  • local.settings.json : maintient à jour les paramètres utilisés lorsque vous exécutez des fonctions localement. Ces paramètres sont utilisés uniquement lorsque vous exécutez des fonctions localement. Pour en savoir plus, voir Fichier de paramètres locaux.

    Important

    Étant donné que le fichier local.settings.json peut contenir des secrets, vous devez l’exclure du contrôle de code source du projet.

Selon votre langage de programmation, ces autres fichiers sont créés :

À ce stade, vous pouvez ajouter des liaisons d’entrée et de sortie à votre fonction. Vous pouvez également ajouter une fonction à votre projet.

Installer des extensions de liaison

À l’exception des déclencheurs HTTP et de minuteur, les liaisons sont implémentées dans des packages d’extension. Vous devez installer les packages d’extension pour les déclencheurs et les liaisons qui en ont besoin. La façon dont vous devez installer les extensions de liaison dépend du langage de votre projet.

Exécutez la commande dotnet add package dans la fenêtre de terminal pour installer les packages d’extension dont vous avez besoin dans votre projet. L’exemple suivant montre comment ajouter une liaison pour une bibliothèque de classes in-process :

dotnet add package Microsoft.Azure.WebJobs.Extensions.<BINDING_TYPE_NAME> --version <TARGET_VERSION>

L’exemple suivant montre comment ajouter une liaison pour une bibliothèque de classes à processus isolé :

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.<BINDING_TYPE_NAME> --version <TARGET_VERSION>

Dans les deux cas, remplacez <BINDING_TYPE_NAME> par le nom du package qui contient la liaison dont vous avez besoin. Vous trouverez l’article de référence de la liaison souhaitée dans la liste des liaisons prises en charge.

Remplacez <TARGET_VERSION> dans l’exemple par une version spécifique du package, comme 3.0.0-beta5. Les versions valides sont répertoriées sur les pages de chaque package sur NuGet.org. Les versions majeures qui correspondent aux runtime Functions 1.x ou 2.x sont spécifiées dans l’article de référence pour la liaison.

Ajouter une fonction à votre projet

Vous pouvez ajouter une nouvelle fonction à un projet existant à l’aide de l’un des modèles de déclencheur Functions prédéfinis. Pour ajouter un nouveau déclencheur de fonction, sélectionnez F1 pour ouvrir la palette de commandes, puis recherchez et exécutez la commande Azure Functions: Create Function. Suivez les invites pour choisir le type de déclencheur et définir les attributs requis de ce dernier. Si votre déclencheur nécessite une clé d’accès ou une chaîne de connexion pour se connecter à un service, préparez-la avant de créer le déclencheur de fonction.

Les résultats de cette action varient selon le langage de votre projet :

Un nouveau fichier de bibliothèque de classes C# (.cs) est ajouté à votre projet.

Se connecter à des services

Vous pouvez connecter votre fonction à d’autres services Azure en utilisant des liaisons d’entrée et de sortie. Les liaisons connectent votre fonction à d’autres services sans avoir à écrire le code de connexion. La façon dont vous devez ajouter les liaisons dépend du langage de votre projet. Pour en savoir plus sur les liaisons, consultez Concepts des déclencheurs et liaisons Azure Functions.

Les exemples suivants permettent de se connecter à une file d’attente de stockage nommée outqueue, où la chaîne de connexion pour le compte de stockage est définie le paramètre d’application MyStorageConnection du fichier local.settings.json.

Mettez à jour la méthode de la fonction et ajoutez le paramètre suivant à la définition de la méthode Run :

[Queue("outqueue"),StorageAccount("AzureWebJobsStorage")] ICollector<string> msg,

Le paramètre msg est un type ICollector<T>, qui représente une collection de messages écrits dans une liaison de sortie quand la fonction se termine. Le code suivant ajoute un message à la collection :

// Add a message to the output collection.
msg.Add(name);

Ces messages sont envoyés à la file d’attente lorsque la fonction se termine.

Pour en savoir plus, consultez l’article de référence Liaison de sortie de stockage de file d’attente. Pour en savoir plus sur les liaisons qui peuvent être ajoutées à une fonction, consultez Ajouter des liaisons à une fonction existante dans Azure Functions.

Connexion à Azure

Avant de pouvoir publier votre application, vous devez vous connecter à Azure.

  1. Si vous n’êtes pas déjà connecté, choisissez l’icône Azure dans la barre d’activité. Puis, dans la zone Ressources, choisissez Se connecter à Azure....

    Capture d’écran de la connexion à la fenêtre Azure dans VS Code.

    Si vous êtes déjà connecté et que vous pouvez voir vos abonnements existants, accédez à la section suivante. Si vous n’avez pas encore de compte Azure, choisissez Créer et compte Azure.... Les étudiants peuvent choisir Créer et compte Azure for Students....

  2. Quand vous y êtes invité dans le navigateur, choisissez votre compte Azure, puis connectez-vous à l’aide de vos informations d’identification de compte Azure. Si vous créez un compte, vous pouvez vous connecter une fois votre compte créé.

  3. Une fois la connexion réussie, vous pouvez fermer la nouvelle fenêtre de navigateur. Les abonnements qui font partie de votre compte Azure sont affichés dans la barre latérale.

Créer des ressources Azure

Avant de pouvoir publier votre projet Functions sur Azure, vous devez disposer d’une application de fonction et de ressources associées dans votre abonnement Azure pour exécuter votre code. L’application de fonction fournit un contexte d'exécution pour vos fonctions. Lorsque vous publiez sur une application de fonction dans Azure à partir de Visual Studio Code, le projet est empaqueté et déployé sur l’application de fonction sélectionnée dans votre abonnement Azure.

Lorsque vous créez application de fonction dans Azure, vous pouvez choisir un chemin de création d’application de fonction rapide à l’aide des paramètres par défaut ou un chemin avancé. De cette façon, vous aurez plus de contrôle sur les ressources distantes créées.

Création d’application de fonction rapide

Dans cette section, vous créez une application de fonction et les ressources associées dans votre abonnement Azure.

  1. Sélectionnez l’icône Azure dans la barre Activité. Ensuite, dans la zone Ressources, sélectionnez l’icône + et choisissez l’option Créer une application de fonction dans Azure.

    Créer une ressource dans votre abonnement Azure

  2. Quand vous y êtes invité, indiquez les informations suivantes :

    Prompt Sélection
    Sélectionner un abonnement choisissez l’abonnement à utiliser. Vous ne verrez pas cette invite si vous n’avez qu’un abonnement visible sous Ressources.
    Entrer un nom global unique pour l’application de fonction Tapez un nom valide dans un chemin d’URL. Le système vérifie que le nom que vous tapez est unique dans Azure Functions.
    Sélectionner une pile d’exécution Choisissez la version du langage que vous avez exécutée localement.
    Sélectionnez un emplacement pour les nouvelles ressources Pour de meilleures performances, choisissez une région proche de vous.

    L’extension montre l'état des ressources individuelles au fur et à mesure qu’elles sont créées dans Azure, dans le panneau Azure : journal d’activité.

    Journal de création de ressource Azure

  3. Quand la création est terminée, les ressources Azure suivantes sont créées dans votre abonnement. Les ressources sont nommées en fonction du nom de votre application de fonction :

    • Un groupe de ressources, qui est un conteneur logique pour les ressources associées.
    • Un compte Stockage Azure standard, qui conserve l’état et d’autres informations spécifiques à vos projets.
    • Une application de fonction, qui fournit l’environnement d’exécution de votre code de fonction. Une application de fonction vous permet de regrouper des fonctions en une unité logique pour faciliter la gestion, le déploiement et le partage des ressources au sein du même plan d’hébergement.
    • Un plan App Service, qui définit l’hôte sous-jacent pour votre application de fonction.
    • Une instance Application Insights connectée à l’application de fonction, qui suit l’utilisation de vos fonctions dans l’application.

    Une notification s’affiche après que votre application de fonction a été créée et que le package de déploiement a été appliqué.

    Conseil

    Par défaut, les ressources Azure nécessaires à votre application de fonction sont créées d’après le nom d’application de fonction que vous indiquez. Par défaut, elles sont également créées dans le même nouveau groupe de ressources avec l’application de fonction. Si vous souhaitez personnaliser les noms de ces ressources ou réutiliser des ressources existantes, vous devez plutôt publier le projet à l’aide des options de création avancées.

Publier un projet sur une nouvelle application de fonction dans Azure à l’aide des options avancées

Les étapes suivantes permettent de publier votre projet dans une nouvelle application de fonction créée avec les options de création avancées.

  1. Dans la palette de commandes, entrez Azure Functions : Créer une application de fonction dans Azure... (Avancé).

  2. Si vous n’êtes pas connecté, vous êtes invité à le faire avec Se connecter à Azure. Vous pouvez également créer un compte Azure gratuit. Une fois la connexion établie à partir du navigateur, revenez à Visual Studio Code.

  3. Suivez les invites et fournissez ces informations :

    Prompt Sélection
    Entrez un nom globalement unique pour la nouvelle application de fonction. Tapez un nom global unique identifiant votre nouvelle application de fonction et sélectionnez Entrée. Les caractères valides pour un nom d’application de fonction sont a-z, 0-9 et -.
    Sélectionnez une pile de runtime. Choisissez la version du langage que vous avez exécutée localement.
    Sélectionnez un système d’exploitation. Choisissez Linux ou Windows. Les applications Python doivent s’exécuter sur Linux.
    Sélectionnez un groupe de ressources pour les nouvelles ressources. Choisissez Créer un groupe de ressources et tapez un nom de groupe de ressources, par exemple myResourceGroup, puis sélectionnez Entrée. Vous pouvez également sélectionner un groupe de ressources existant.
    Sélectionnez un emplacement pour les nouvelles ressources. Sélectionnez un emplacement dans une région proche de chez vous, ou proche d’autres services auxquels vos fonctions ont accès.
    Sélectionnez un plan d’hébergement. Choisissez Consommation pour l’hébergement du plan consommation serverless, où vous n’êtes facturé que lorsque vos fonctions s’exécutent.
    Sélectionnez un compte de stockage. Choisissez Créer un nouveau compte de stockage ; à l’invite suivante, tapez le nom global unique du nouveau compte de stockage utilisé par votre application de fonction et sélectionnez Entrée. Les noms des comptes de stockage doivent comporter entre 3 et 24 caractères, et contenir uniquement des lettres minuscules et des chiffres. Vous pouvez également sélectionner un compte existant.
    Sélectionnez une ressource Application Insights pour votre application. Choisissez Créer une ressource Application Informations et, à l’invite, tapez un nom pour l’instance utilisée pour stocker les données d’exécution à partir de vos fonctions.

    Une notification s’affiche après que votre application de fonction a été créée et que le package de déploiement a été appliqué. Sélectionnez Afficher la sortie de dans cette notification pour afficher les résultats de la création et du déploiement, y compris les ressources Azure que vous avez créées.

Récupérer l’URL d’une fonction déclenchée via HTTP dans Azure

Pour appeler une fonction déclenchée via HTTP à partir d’un client, vous avez besoin de l’URL de la fonction lorsqu’elle est déployée dans votre application de fonction. Cette URL inclut les clés de fonction requises. Vous pouvez utiliser l’extension pour obtenir les URL de vos fonctions déployées. Si vous souhaitez simplement exécuter la fonction distante dans Azure, utilisez la fonctionnalité « Exécuter la fonction maintenant » de l’extension.

  1. Sélectionnez F1 pour ouvrir la palette de commandes, puis recherchez et exécutez la commande Azure Functions : Copier l’URL de la fonction.

  2. Suivez les invites pour sélectionner votre application de fonction dans Azure, puis le déclencheur HTTP particulier que vous souhaitez appeler.

L’URL de la fonction est copiée dans le Presse-papiers, ainsi que les clés éventuelles exigées, transmises par le paramètre de requête code. Utilisez un outil HTTP pour envoyer des requêtes POST, ou un navigateur pour les requêtes GET envoyées à la fonction à distance.

Lorsque l’extension obtient l’URL des fonctions dans Azure, elle utilise votre compte Azure pour récupérer automatiquement les clés dont elle a besoin pour démarrer la fonction. En savoir plus sur les clés d’accès aux fonctions. Le démarrage de fonctions non déclenchées via HTTP requiert l’utilisation de la clé administrateur.

Déployer des fichiers de projet

Nous recommandons de configurer le déploiement continupour que votre application de fonction dans Azure soit mise à jour lorsque vous mettez à jour les fichiers sources à l’emplacement source connecté. Vous pouvez également déployer vos fichiers projet à partir de Visual Studio Code.

En publiant à partir de Visual Studio code, vous bénéficiez de la technologie Zip deploy.

Important

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

  1. Choisissez l’icône Azure dans la barre d’activité, puis, dans la zone Espace de travail, sélectionnez votre dossier de projet, puis sélectionnez le bouton Déployer...

    Déployer le projet à partir de l’espace de travail de Visual Studio Code

  2. Sélectionnez Déployer sur Function App..., choisissez l’application de fonction que vous venez de créer, puis sélectionnez Déployer.

  3. Une fois le déploiement terminé, sélectionnez Afficher la sortie pour afficher 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 cloche dans le coin inférieur droit pour la voir de nouveau.

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

Exécuter des fonctions

L’extension Azure Functions vous permet d’exécuter des fonctions individuelles. Vous pouvez exécuter des fonctions dans votre projet sur votre ordinateur de développement local ou dans votre abonnement Azure.

Pour les fonctions déclenchées via HTTP, l’extension appelle le point de terminaison HTTP. Pour les autres types de déclencheurs, elle appelle les API d’administrateur pour démarrer la fonction. Le corps du message de la demande envoyée à la fonction dépend du type de déclencheur. Lorsqu’un déclencheur requiert des données de test, vous êtes invité à entrer des données dans un format JSON spécifique.

Exécuter des fonctions dans Azure.

Pour exécuter une fonction dans Azure à partir de Visual Studio Code :

  1. Dans la palette de commandes, entrez Azure Functions : Exécuter la fonction maintenant et choisissez votre abonnement Azure.

  2. Dans la liste, choisissez votre application de fonction dans Azure. Si vous ne voyez pas votre application de fonction, assurez-vous que vous êtes connecté au bon abonnement.

  3. Choisissez la fonction que vous souhaitez exécuter dans la liste et saisissez le corps du message de la demande dans Entrez le corps de la demande. Appuyez sur Entrée pour envoyer ce message de demande à votre fonction. Le texte par défaut dans Entrez le corps de la demande doit indiquer le format du corps. Si votre application de fonction n’a pas de fonctions, une notification d’erreur s’affiche avec cette erreur.

  4. Quand la fonction s’exécute dans Azure et retourne une réponse, une notification est générée dans Visual Studio Code.

Vous pouvez également exécuter votre fonction à partir de la zone Azure : Fonctions en cliquant avec le bouton droit (Ctrl + clic sur Mac) sur la fonction que vous souhaitez exécuter à partir de votre application de fonction dans votre abonnement Azure et en choisissant Exécuter la fonction maintenant…

Lorsque vous exécutez des fonctions dans Azure à partir de Visual Studio Code, l’extension utilise votre compte Azure pour récupérer automatiquement les clés dont elle a besoin pour démarrer la fonction. En savoir plus sur les clés d’accès aux fonctions. Le démarrage de fonctions non déclenchées via HTTP requiert l’utilisation de la clé administrateur.

Exécuter des fonctions localement

Le runtime local est le même runtime que celui qui héberge votre application de fonction dans Azure. Les paramètres locaux sont lus à partir du fichier local.settings.json. Pour exécuter votre projet Functions localement, vous devez vous conformer à des exigences supplémentaires.

Configurer le projet pour une exécution locale

Le runtime Functions utilise un compte de stockage Azure en interne pour tous les types de déclencheurs autres que HTTP et webhooks. Autrement dit, vous devez définir la clé Values.AzureWebJobsStorage sur une chaîne de connexion de compte de stockage Azure valide.

Cette section utilise l’extension Stockage Azure pour Visual Studio Code avec l’Explorateur Stockage Azure pour vous connecter à la chaîne de connexion de stockage et la récupérer.

Pour définir la chaîne de connexion de compte de stockage :

  1. Dans Visual Studio, ouvrez Cloud Explorer, développez Compte de stockage>Votre compte de stockage, puis sélectionnez Propriétés et copiez la valeur de Chaîne de connexion principale.

  2. Dans votre projet, ouvrez le fichier local.settings.json et définissez la valeur de la clé AzureWebJobsStorage sur la chaîne de connexion que vous avez copiée.

  3. Répétez l’étape précédente pour ajouter des clés uniques au tableau Valeurs pour les autres connexions requises par vos fonctions.

Pour en savoir plus, voir Fichier de paramètres locaux.

Déboguer les fonctions localement

Pour déboguer vos fonctions, sélectionnez F5. Si vous n’avez pas encore téléchargé Core Tools, vous êtes invité à le faire. Lorsque Core Tools est installé et en cours d’exécution, la sortie est affichée dans le terminal. Cette étape revient à exécuter la commande Core Tools func start dans le terminal, mais avec des tâches de génération supplémentaires et un débogueur attaché.

Lorsque le projet est en cours d’exécution, vous pouvez utiliser la fonctionnalité Exécuter la fonction maintenant… de l’extension pour déclencher vos fonctions comme vous le feriez dans le projet déployé sur Azure. Lorsque le projet s’exécute en mode débogage, les points d’arrêt sont atteints dans Visual Studio Code comme prévu.

  1. Dans la palette de commandes, entrez Azure Functions : Exécuter la fonction maintenant et choisissez Projet local.

  2. Choisissez la fonction que vous souhaitez exécuter dans votre projet et saisissez le corps du message de la demande dans Entrez le corps de la demande. Appuyez sur Entrée pour envoyer ce message de demande à votre fonction. Le texte par défaut dans Entrez le corps de la demande doit indiquer le format du corps. Si votre application de fonction n’a pas de fonctions, une notification d’erreur s’affiche avec cette erreur.

  3. Lorsque la fonction s’exécute localement et après la réception de la réponse, une notification est générée dans Visual Studio Code. Les informations relatives à l’exécution de la fonction s’affichent dans le panneau Terminal.

L’exécution locale des fonctions ne nécessite pas l’utilisation de clés.

Paramètres locaux

Lors de l’exécution dans une application de fonction dans Azure, les paramètres requis par vos fonctions sont stockés de manière sécurisée dans les paramètres de l’application. Lors du développement local, ces paramètres sont, à la place, ajoutés à l'Valuesobjet dans le fichier local.settings.json. Le fichier local.settings.json stocke également les paramètres utilisés par les outils de développement locaux.

Étant donné que le fichier local.settings.json peut contenir des secrets, tels que des chaînes de connexion, vous ne devez jamais le stocker dans un référentiel distant. Pour en savoir plus sur les paramètres locaux, consultez le Fichier de paramètres locaux.

Par défaut, ces paramètres ne sont pas migrés automatiquement lorsque le projet est publié dans Azure. Une fois la publication terminée, vous pouvez publier les paramètres du fichier local.settings.json sur votre application de fonction dans Azure. Pour plus d’informations, consultez Publier les paramètres de l’application.

Les valeurs dans ConnectionStrings ne sont jamais publiées.

Ces valeurs de paramètres d’application de fonction peuvent aussi être lues dans votre code en tant que variables d’environnement. Pour plus d’informations, consultez les sections Variables d’environnement de ces rubriques de référence propres à un langage :

Paramètres d’application dans Azure

Les paramètres du fichier local.settings.json de votre projet doivent être les mêmes que les paramètres de l’application de fonction dans Azure. Les paramètres que vous ajoutez au fichier local.settings.json doivent être également ajoutés à l’application de fonction dans Azure. Ces paramètres ne sont pas chargés automatiquement quand vous publiez le projet. De même, tous les paramètres que vous créez dans votre application de fonction dans le portail doivent être téléchargés dans votre projet local.

Publier les paramètres de l’application

Le moyen le plus simple de publier les paramètres obligatoires sur votre application de fonction dans Azure consiste à utiliser le lien Charger les paramètres qui apparaît une fois votre projet publié :

Capture d’écran du chargement des paramètres d'application.

Vous pouvez également publier des paramètres au moyen de la commande Azure Functions : Upload Local Setting dans la palette de commandes. Vous pouvez ajouter des paramètres individuels aux paramètres de l’application dans Azure en utilisant la commande Azure Functions: Add New Setting.

Conseil

Veillez à enregistrer votre fichier local.settings.json avant de le publier.

Si le fichier local est chiffré, il est déchiffré, publié et chiffré à nouveau. Si des paramètres comportent des valeurs conflictuelles dans les deux emplacements, vous êtes invité à choisir la procédure à suivre.

Affichez les paramètres d’une application existante dans la zone Azure : Functions en développant votre abonnement, votre application de fonction et Paramètres de l’application.

Capture d’écran de l’affichage des paramètres de l’application de fonction dans Visual Studio Code.

Télécharger les paramètres depuis Azure

Si vous avez créé des paramètres d’application dans Azure, vous pouvez les télécharger dans votre fichier local.settings.json au moyen de la commande Azure Functions: Télécharger les paramètres distants.

Tout comme dans le cas du chargement, si le fichier local est chiffré, il est déchiffré, publié et chiffré à nouveau. Si des paramètres comportent des valeurs conflictuelles dans les deux emplacements, vous êtes invité à choisir la procédure à suivre.

Surveillance des fonctions

En cas d’exécution locale de fonctions, les données de journal sont diffusées en continu vers la console de terminal. Vous pouvez également obtenir les données de journal lorsque votre projet Functions est en cours d’exécution dans une application de fonction sur Azure. Vous pouvez vous connecter aux journaux de diffusion en continu dans Azure pour voir les données de journal en quasi temps réel. Vous devez activer Application Insights pour une compréhension plus complète des comportements de votre application.

Diffusion de journaux d’activité

Lorsque vous développez une application, il est souvent utile de visualiser des informations de journalisation en temps quasi réel. Vous pouvez afficher le flux de fichiers journaux générés par vos fonctions. Cette sortie est un exemple de journaux diffusés en continu pour une requête faite à une fonction déclenchée via HTTP :

Capture d’écran de la sortie des journaux diffusés en continu pour le déclencheur H T T P.

Pour en savoir plus, consultez la section Journaux en continu.

Pour activer les journaux de diffusion en continu pour votre Function App dans Azure :

  1. Sélectionnez F1 pour ouvrir la palette de commandes, puis recherchez et exécutez la commande Azure Functions : Démarrer le streaming des journaux.

  2. Sélectionnez votre Function App dans Azure, puis sélectionnez Oui pour activer la journalisation d’application de votre Function App.

  3. Déclenchez vos fonctions dans Azure. Notez que les données de journal sont affichées dans la fenêtre de résultats de Visual Studio Code.

  4. Quand vous avez terminé, n’oubliez pas d’exécuter la commande Azure Functions : Arrêter le streaming des journaux pour désactiver la journalisation pour l’application de fonction.

Notes

Les journaux de diffusion en continu ne prennent en charge qu'une seule instance de l’hôte Functions. Lorsque votre fonction est mise à l’échelle sur plusieurs instances, les données des autres instances ne s’affichent pas dans le flux du journal. Dans Application Insights, le Flux de métriques temps réel prend en charge plusieurs instances. Également en quasi temps réel, l’analytique de diffusion en continue repose sur des données échantillonnées.

Application Insights

Nous vous conseillons de superviser l’exécution de vos fonctions en intégrant votre application de fonction à Application Insights. Lorsque vous créez une application de fonction dans le portail Azure, cette intégration s’effectue par défaut. Lorsque vous créez votre application de fonction pendant la publication de Visual Studio, vous devez intégrer Application Insights vous-même. Pour découvrir comment, consultez Activer l’intégration à Application Insights.

Pour en savoir plus sur la surveillance à l’aide d’Application Insights, consultez Surveiller l’exécution des fonctions Azure.

Projets de script en C#

Par défaut, tous les projets C# sont créés sous forme de projets de bibliothèque de classes C# compiled. Si vous préférez travailler sur des projets C# script, vous devez sélectionner C# script comme langage par défaut dans les paramètres d’extension Azure Functions :

  1. Sélectionnez Fichier>Préférences>Paramètres.

  2. Accédez à Paramètres utilisateur>Extensions>Azure Functions.

  3. Sélectionnez C#Script dans Azure Function : Langage du projet.

Après avoir effectué ces étapes, les appels émis vers le package Core Tools sous-jacent incluent l’option --csx qui génère et publie les fichiers de projet C# script (.csx). Lorsque vous avez précisé ce langage par défaut, tous les projets que vous créez sont des projets C# script par défaut. Vous n’êtes pas invité à choisir un langage de projet lorsqu’une valeur par défaut est définie. Pour créer des projets dans d’autres langages, vous devez modifier ce paramètre ou le supprimer du fichier utilisateur settings.json. Une fois ce paramètre supprimé, vous êtes de nouveau invité à choisir votre langage lors de la création d’un projet.

Référence pour la palette de commandes

L’extension Azure Functions fournit une interface graphique utile dans la zone pour interagir avec vos applications de fonction dans Azure. La même fonctionnalité est également disponible sous forme de commande dans la palette de commandes (F1). Ces commandes Azure Functions sont disponibles :

Commande Azure Functions Description
Add New Settings Crée un nouveau paramètre d’application dans Azure. Pour plus d’informations, consultez Publier les paramètres de l’application. Vous devrez peut-être également télécharger ce paramètre dans vos paramètres locaux.
Configure Deployment Source Connecte votre application de fonction dans Azure à un dépôt Git local. Pour plus d’informations, consultez Déploiement continu pour Azure Functions.
Connect to GitHub Repository Connecte votre application de fonction à un dépôt GitHub.
Copy Function URL Obtient l’URL distante d’une fonction déclenchée via HTTP qui est exécutée dans Azure. Pour plus d’informations, consultez Obtenir l’URL de la fonction déployée.
Create function app in Azure Crée une application de fonction sur votre abonnement dans Azure. Pour plus d’informations, consultez la section sur la façon de Publier vers une nouvelle application de fonction dans Azure.
Decrypt Settings Déchiffre les paramètres locaux qui ont été chiffrés par Azure Functions: Encrypt Settings.
Delete Function App Supprime une application de fonction de votre abonnement dans Azure. Lorsqu’il n’y a aucune autre application dans le plan App Service, vous avez la possibilité de le supprimer également. Les autres ressources, comme les comptes de stockage et les groupes de ressources, ne sont pas supprimées. Pour supprimer toutes les ressources, vous devez utiliser la commande Supprimer le groupe de ressources. Votre projet local n’est pas affecté.
Delete Function Supprime une fonction existante à partir d’une application de fonction dans Azure. Étant donné que cette suppression n’affecte pas votre projet local, envisagez de supprimer la fonction en local, puis republiez votre projet.
Delete Proxy Supprime un proxy d’Azure Functions de votre application de fonction dans Azure. Pour en savoir plus sur les proxys, consultez Utilisation d’Azure Functions Proxies.
Delete Setting Supprime un paramètre d’application de fonction dans Azure. Cette suppression n’affecte pas les paramètres de votre fichier local.settings.json.
Disconnect from Repo Supprime la connexion de déploiement continu entre une application de fonction dans Azure et un dépôt de contrôle de code source.
Download Remote Settings Télécharge les paramètres de l’application de fonction choisie dans Azure dans votre fichier local.settings.json. Si le fichier local est chiffré, il est déchiffré, mis à jour et chiffré à nouveau. Si des paramètres comportent des valeurs conflictuelles dans les deux emplacements, vous êtes invité à choisir la procédure à suivre. Veillez à enregistrer les modifications dans votre fichier local.settings.json avant d’exécuter cette commande.
Edit settings Modifie la valeur d’un paramètre d’application de fonction existant dans Azure. Cette commande n’affecte pas les paramètres de votre fichier local.settings.json.
Encrypt settings Chiffre les éléments individuels du tableau Values des paramètres locaux. Dans ce fichier, IsEncrypted est également défini sur true, ce qui indique que le runtime local déchiffre les paramètres avant de les utiliser. Chiffrez les paramètres locaux pour réduire le risque de fuite d’informations précieuses. Dans Azure, les paramètres d’application sont toujours stockés chiffrés.
Execute Function Now Démarre manuellement une fonction à l’aide des API d’administrateur. Cette commande est utilisée à des fins de test, à la fois localement pendant le débogage et sur les fonctions qui s’exécutent dans Azure. Lors du démarrage d’une fonction dans Azure, l’extension obtient d’abord automatiquement une clé d’administrateur, qu’elle utilise pour appeler les API d’administrateur distante qui démarrent les fonctions dans Azure. Le corps du message envoyé à l’API dépend du type de déclencheur. Les déclencheurs de minuteur ne vous obligent pas à transmettre de données.
Initialize Project for Use with VS Code Ajoute les fichiers de projet Visual Studio Code requis à un projet Functions existant. Cette commande permet de travailler sur un projet que vous avez créé à l’aide du package Core Tools.
Install ou Update Azure Functions Core Tools Installe ou met à jour Azure Functions Core Tools qui est utilisé pour l’exécution de fonctions en local.
Redeploy Vous permet de redéployer les fichiers de projet à partir d’un référentiel Git connecté, vers un déploiement spécifique dans Azure. Pour republier les mises à jour locales à partir de Visual Studio Code, republiez votre projet.
Rename Settings Modifie le nom de clé d’un paramètre d’application de fonction existant dans Azure. Cette commande n’affecte pas les paramètres de votre fichier local.settings.json. Après avoir renommé les paramètres dans Azure, vous devez télécharger ces modifications dans le projet local.
Restart Redémarre l’application de fonction dans Azure. Le déploiement de mises à jour entraîne également le redémarrage de l’application de fonction.
Set AzureWebJobsStorage Définit la valeur du paramètre d’application AzureWebJobsStorage. Ce paramètre est exigé par Azure Functions. Il est défini lorsqu’une application de fonction est créée dans Azure.
Start Démarre une application de fonction arrêtée dans Azure.
Start Streaming Logs Démarre les journaux de diffusion en continu pour l’application de fonction dans Azure. Utilisez ces journaux lors de la résolution de problèmes à distance dans Azure si vous avez besoin d’afficher des informations de journalisation en temps quasi réel. Pour en savoir plus, consultez la section Journaux en continu.
Stop Arrête une application de fonction qui s’exécute dans Azure.
Stop Streaming Logs Arrête les journaux de diffusion en continu pour l’application de fonction dans Azure.
Toggle as Slot Setting Lorsque cette option est activée, elle permet de s’assurer qu’un paramètre d’application persiste pour un emplacement de déploiement donné.
Uninstall Azure Functions Core Tools Supprime Azure Functions Core Tools, ce qui est exigé par l’extension.
Upload Local Settings Charge les paramètres de votre fichier local.settings.json vers l’application de fonction choisie dans Azure. Si le fichier local est chiffré, il est déchiffré, chargé et chiffré à nouveau. Si des paramètres comportent des valeurs conflictuelles dans les deux emplacements, vous êtes invité à choisir la procédure à suivre. Veillez à enregistrer les modifications dans votre fichier local.settings.json avant d’exécuter cette commande.
View Commit in GitHub Affiche la dernière validation dans un déploiement spécifique lorsque votre application de fonction est connectée à un référentiel.
View Deployment Logs Affiche les journaux associés à un déploiement propre à l’application de fonction dans Azure.

Étapes suivantes

Pour plus d’informations sur Azure Functions Core Tools, consultez Utiliser Azure Functions Core Tools.

Pour en savoir plus sur le développement de fonctions en tant que bibliothèques de classes, consultez Informations de référence pour les développeurs C# sur Azure Functions. Cet article fournit également des liens vers des exemples d’utilisation d’attributs pour déclarer les différents types de liaisons pris en charge par Azure Functions.