Utiliser Azure Functions Core ToolsWork with Azure Functions Core Tools

Azure Functions Core Tools vous permet de développer et de tester vos fonctions sur votre ordinateur local à partir de l’invite de commandes ou du terminal.Azure Functions Core Tools lets you develop and test your functions on your local computer from the command prompt or terminal. Vos fonctions locales peuvent être connectées aux services Azure actifs, et vous pouvez déboguer vos fonctions sur votre ordinateur local à l’aide du runtime Functions complet.Your local functions can connect to live Azure services, and you can debug your functions on your local computer using the full Functions runtime. Vous pouvez même déployer une application de fonction sur votre abonnement Azure.You can even deploy a function app to your Azure subscription.

Important

Ne mélangez pas un développement local avec un développement de portail dans une même application de fonction.Do not mix local development with portal development in the same function app. Lorsque vous créez et publiez des fonctions à partir d'un projet local, vous ne devez pas essayer de maintenir ou de modifier le code du projet dans le portail.When you create and publish functions from a local project, you should not try to maintain or modify project code in the portal.

Développez des fonctions sur votre ordinateur local et publiez-les sur Azure à l’aide de Core Tools en suivant ces étapes de base :Developing functions on your local computer and publishing them to Azure using Core Tools follows these basic steps:

Versions de Core ToolsCore Tools versions

Il existe trois versions d’Azure Functions Core Tools.There are three versions of Azure Functions Core Tools. La version que vous utilisez dépend de votre environnement de développement local, du choix du langage et du niveau de prise en charge requis :The version you use depends on your local development environment, choice of language, and level of support required:

Sauf indication contraire, les exemples de cet article concernent la version 3.x.Unless otherwise noted, the examples in this article are for version 3.x.

Installer Azure Functions Core ToolsInstall the Azure Functions Core Tools

Azure Functions Core Tools inclut une version du même runtime qu’Azure Functions, que vous pouvez exécuter sur votre ordinateur de développement local.Azure Functions Core Tools includes a version of the same runtime that powers Azure Functions runtime that you can run on your local development computer. Il fournit également des commandes pour créer des fonctions, se connecter à Azure et déployer des projets de fonction.It also provides commands to create functions, connect to Azure, and deploy function projects.

Versions 2.x et 3.xVersion 2.x and 3.x

La version 2.x ou 3.x des outils utilise le runtime Azure Functions qui repose sur .NET Core.Version 2.x/3.x of the tools uses the Azure Functions runtime that is built on .NET Core. Cette version est prise en charge sur tous les supports des plateformes .NET Core, notamment Windows, macOS et Linux.This version is supported on all platforms .NET Core supports, including Windows, macOS, and Linux.

Important

Vous pouvez contourner l’obligation d’installer le kit SDK .NET Core en utilisant des bundles d’extension.You can bypass the requirement for installing the .NET Core SDK by using extension bundles.

Les étapes suivantes utilisent npm pour installer les outils Core sur Windows.The following steps use npm to install Core Tools on Windows. Vous pouvez également utiliser Chocolatey.You can also use Chocolatey. Pour plus d’informations, consultez le fichier Lisez-moi Outils Core.For more information, see the Core Tools readme.

  1. Installez Node.js, qui inclut npm.Install Node.js, which includes npm.

    • Pour la version 2.x des outils, seuls Node.js 8.5 et les versions ultérieures sont pris en charge.For version 2.x of the tools, only Node.js 8.5 and later versions are supported.
    • Pour la version 3.x des outils, seuls Node.js 10 et les versions ultérieures sont pris en charge.For version 3.x of the tools, only Node.js 10 and later versions are supported.
  2. Installez le package Outils Core :Install the Core Tools package:

    v2.xv2.x
    npm install -g azure-functions-core-tools
    
    v3.xv3.x
    npm install -g azure-functions-core-tools@3
    

    Le téléchargement et l’installation du package Core Tools par npm peut prendre quelques minutes.It may take a few minutes for npm to download and install the Core Tools package.

  3. Si vous ne prévoyez pas d’utiliser des bundles d’extension, installez le Kit de développement logiciel (SDK) .NET Core 2.x pour Windows.If you don't plan to use extension bundles, install the .NET Core 2.x SDK for Windows.

Créer un projet Functions localCreate a local Functions project

Un répertoire de projet de fonctions contient les fichiers host.json et local.settings.json, ainsi que des sous-dossiers qui contiennent le code des fonctions individuelles.A functions project directory contains the files host.json and local.settings.json, along with subfolders that contain the code for individual functions. Ce répertoire est l’équivalent d’une application de fonction dans Azure.This directory is the equivalent of a function app in Azure. Pour en savoir plus sur la structure de dossiers Functions, consultez le Guide de développement Azure Functions.To learn more about the Functions folder structure, see the Azure Functions developers guide.

Pour la version 2.x, vous devez sélectionner un langage par défaut pour votre projet lors de son initialisation.Version 2.x requires you to select a default language for your project when it is initialized. Dans la version 2. x, toutes les fonctions ajoutées utilisent des modèles de langage par défaut.In version 2.x, all functions added use default language templates. Dans la version 1.x, vous spécifiez le langage à chaque fois que vous créez une fonction.In version 1.x, you specify the language each time you create a function.

Dans la fenêtre du terminal ou à partir d’une invite de commandes, exécutez la commande suivante pour créer le projet et le référentiel Git local :In the terminal window or from a command prompt, run the following command to create the project and local Git repository:

func init MyFunctionProj

Lorsque vous fournissez un nom de projet, un nouveau dossier portant ce nom est créé et initialisé.When you provide a project name, a new folder with that name is created and initialized. Sinon, le dossier actif est initialisé.Otherwise, the current folder is initialized.
Dans la version 2.x, lorsque vous exécutez la commande, vous devez choisir un runtime pour votre projet.In version 2.x, when you run the command you must choose a runtime for your project.

Select a worker runtime:
dotnet
node
python 
powershell

Utilisez les touches de direction haut/bas pour choisir un langage, puis appuyez sur Entrée.Use the up/down arrow keys to choose a language, then press Enter. Si vous envisagez de développer des fonctions JavaScript ou TypeScript, choisissez nœud, puis sélectionnez la langue.If you plan to develop JavaScript or TypeScript functions, choose node, and then select the language. TypeScript comprend des exigences supplémentaires.TypeScript has some additional requirements.

Le résultat ressemble à l’exemple suivant pour un projet JavaScript :The output looks like the following example for a JavaScript project:

Select a worker runtime: node
Writing .gitignore
Writing host.json
Writing local.settings.json
Writing C:\myfunctions\myMyFunctionProj\.vscode\extensions.json
Initialized empty Git repository in C:/myfunctions/myMyFunctionProj/.git/

func init prend en charge les options suivantes, qui sont, sauf indication contraire, uniquement des versions 2.x :func init supports the following options, which are version 2.x-only, unless otherwise noted:

OptionOption DescriptionDescription
--csharp
--dotnet
Initialise un projet de bibliothèque de classes C# (.cs).Initializes a C# class library (.cs) project.
--csx Initialise un projet de Script C# (.csx).Initializes a C# script (.csx) project. Vous devez spécifier --csx dans les commandes suivantes.You must specify --csx in subsequent commands.
--docker Créez un fichier Dockerfile pour un conteneur à l’aide d’une image de base définie par le --worker-runtime choisi.Create a Dockerfile for a container using a base image that is based on the chosen --worker-runtime. Utiliser cette option lorsque vous projetez de publier sur un conteneur Linux personnalisé.Use this option when you plan to publish to a custom Linux container.
--docker-only Ajoute un fichier Dockerfile à un projet existant.Adds a Dockerfile to an existing project. Demande le runtime Worker s’il n’est pas spécifié ou défini dans local.settings.json.Prompts for the worker-runtime if not specified or set in local.settings.json. Utiliser cette option lorsque vous projetez de publier un projet existant sur un conteneur Linux personnalisé.Use this option when you plan to publish an existing project to a custom Linux container.
--force Initialiser le projet même lorsque celui-ci contient des fichiers existants.Initialize the project even when there are existing files in the project. Ce paramètre remplace les fichiers existants portant le même nom.This setting overwrites existing files with the same name. D’autres fichiers dans le dossier du projet ne sont pas affectés.Other files in the project folder aren't affected.
--java Initialise un projet Java.Initializes a Java project.
--javascript
--node
Initialise un projet JavaScript.Initializes a JavaScript project.
--no-source-control
-n
Empêche la création par défaut d’un référentiel Git dans la version 1.x.Prevents the default creation of a Git repository in version 1.x. Dans la version 2.x, le référentiel git n’est pas créé par défaut.In version 2.x, the git repository isn't created by default.
--powershell Initialise un projet PowerShell.Initializes a PowerShell project.
--python Initialise un projet Python.Initializes a Python project.
--source-control Contrôle la création d’un référentiel git.Controls whether a git repository is created. Par défaut, un référentiel n’est pas créé.By default, a repository isn't created. Un référentiel est créé lorsque true.When true, a repository is created.
--typescript Initialise un projet TypeScript.Initializes a TypeScript project.
--worker-runtime Définit le runtime de langage pour le projet.Sets the language runtime for the project. Les valeurs prises en charge sont csharp, dotnet, java, javascript,node (JavaScript), powershell, python et typescript.Supported values are: csharp, dotnet, java, javascript,node (JavaScript), powershell, python, and typescript. Lorsqu’il n’est pas défini, vous êtes invité à choisir votre runtime pendant l’initialisation.When not set, you're prompted to choose your runtime during initialization.

Important

Par défaut, la version 2.x des outils Core crée les projets d’application de fonctions pour le runtime .NET en tant que projets de classes C# (.csproj).By default, version 2.x of the Core Tools creates function app projects for the .NET runtime as C# class projects (.csproj). Ces projets C#, qui peuvent être utilisés avec Visual Studio ou Visual Studio Code, sont compilés pendant les tests et lors de la publication sur Azure.These C# projects, which can be used with Visual Studio or Visual Studio Code, are compiled during testing and when publishing to Azure. Si vous voulez plutôt créer et utiliser les mêmes fichiers de script C# (.csx) que ceux créés dans la version 1.x et dans le portail, vous devez inclure le paramètre --csx quand vous créez et que vous déployez des fonctions.If you instead want to create and work with the same C# script (.csx) files created in version 1.x and in the portal, you must include the --csx parameter when you create and deploy functions.

Inscrire des extensionsRegister extensions

À l’exception des déclencheurs HTTP et de minuteur, les liaisons Functions dans les versions 2.x et ultérieures du runtime sont implémentées sous la forme de packages d’extension.With the exception of HTTP and timer triggers, Functions bindings in runtime version 2.x and higher are implemented as extension packages. Dans les versions 2.x et ultérieures du runtime Azure Functions, vous devez inscrire explicitement les extensions pour les types de liaisons utilisés dans vos fonctions.In version 2.x and beyond of the Azure Functions runtime, you have to explicitly register the extensions for the binding types used in your functions. Les exceptions à cette obligation sont les liaisons HTTP et les déclencheurs de minuteur, qui ne nécessitent pas d’extension.The exceptions to this are HTTP bindings and timer triggers, which do not require extensions.

Vous pouvez choisir d’installer les extensions de liaison individuellement, ou ajouter une référence de bundle d’extensions au fichier du projet host.json.You can choose to install binding extensions individually, or you can add an extension bundle reference to the host.json project file. Les bundles d’extensions suppriment le risque d’avoir des problèmes de compatibilité de packages lors de l’utilisation de plusieurs types de liaisons.Extension bundles removes the chance of having package compatibility issues when using multiple binding types. C’est la méthode recommandée pour inscrire des extensions de liaison.It is the recommended approach for registering binding extensions. Les bundles d’extensions éliminent également l’obligation d’installer le kit SDK .NET Core 2.x.Extension bundles also removes the requirement of installing the .NET Core 2.x SDK.

Bundles d’extensionsExtension bundles

Le moyen le plus simple d’installer les extensions de liaison consiste à activer les offres groupées d’extension.The easiest way to install binding extensions is to enable extension bundles. Lorsque vous activez les offres groupées, un ensemble prédéfini de packages d’extension sont automatiquement installés.When you enable bundles, a predefined set of extension packages is automatically installed.

Pour activer les offres groupées d’extension, ouvrez le fichier host.json et mettez à jour son contenu pour qu’il corresponde au code suivant :To enable extension bundles, open the host.json file and update its contents to match the following code:

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[1.*, 2.0.0)"
    }
}

Pour en savoir plus, consultez Inscrire des extensions de liaison Azure Functions.To learn more, see Register Azure Functions binding extensions. Vous devez ajouter des packages d’extension au fichier host.json avant d’ajouter des liaisons au fichier function.json.You should add extension bundles to the host.json before you add bindings to the function.json file.

Inscrire des extensions particulièresRegister individual extensions

Si vous avez besoin d’installer des extensions qui ne font pas partie d’un bundle, vous pouvez inscrire manuellement des packages d’extensions particulières pour des liaisons spécifiques.If you need to install extensions that aren't in a bundle, you can manually register individual extension packages for specific bindings.

Notes

Pour enregistrer manuellement des extensions avec func extensions install, le kit SDK .NET Core 2.x doit être installé.To manually register extensions by using func extensions install, you must have the .NET Core 2.x SDK installed.

Après avoir mis à jour le fichier function.json pour y inclure toutes les liaisons dont votre fonction a besoin, exécutez la commande suivante dans le dossier de projet.After you have updated your function.json file to include all the bindings that your function needs, run the following command in the project folder.

func extensions install

La commande lit le fichier function.json pour voir les packages dont vous avez besoin, les installe et regénère le projet des extensions.The command reads the function.json file to see which packages you need, installs them, and rebuilds the extensions project. Il ajoute les nouvelles liaisons à la version actuelle, mais ne met pas à jour les liaisons existantes.It adds any new bindings at the current version but does not update existing bindings. Utilisez l’option --force pour mettre à jour les liaisons existantes vers la dernière version pendant les nouvelles installations.Use the --force option to update existing bindings to the latest version when installing new ones.

Fichier de paramètres locauxLocal settings file

Le fichier local.settings.json stocke des paramètres d’application, des chaînes de connexion et des paramètres utilisés par des outils de développement locaux.The local.settings.json file stores app settings, connection strings, and settings used by local development tools. Les paramètres dans le fichier local.settings.json sont uniquement utilisés lorsque vous exécuter les projets localement.Settings in the local.settings.json file are used only when you're running projects locally. Le fichier de paramètres locaux possède la structure suivante :The local settings file has this structure:

{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "<language worker>",
    "AzureWebJobsStorage": "<connection-string>",
    "AzureWebJobsDashboard": "<connection-string>",
    "MyBindingConnection": "<binding-connection-string>"
  },
  "Host": {
    "LocalHttpPort": 7071,
    "CORS": "*",
    "CORSCredentials": false
  },
  "ConnectionStrings": {
    "SQLConnectionString": "<sqlclient-connection-string>"
  }
}

Ces paramètres sont pris en charge lorsque vous exécutez des projets localement :These settings are supported when you run projects locally:

ParamètreSetting DescriptionDescription
IsEncrypted Lorsque ce paramètre est défini sur true, toutes les valeurs sont chiffrées à l’aide d’une clé d’ordinateur local.When this setting is set to true, all values are encrypted with a local machine key. Utilisé avec les commandes func settings.Used with func settings commands. La valeur par défaut est false.Default value is false.
Values Tableau des paramètres d’application et des chaînes de connexion utilisés lors de l’exécution locale d’un projet.Array of application settings and connection strings used when a project is running locally. Ces paires clé-valeur (chaîne-chaîne) correspondent aux paramètres d’application dans votre Function App dans Azure, tels que AzureWebJobsStorage.These key-value (string-string) pairs correspond to application settings in your function app in Azure, like AzureWebJobsStorage. Plusieurs déclencheurs et liaisons ont une propriété qui fait référence à un paramètre d’application de chaîne de connexion, par exemple Connection pour le déclencheur de stockage blob.Many triggers and bindings have a property that refers to a connection string app setting, like Connection for the Blob storage trigger. Pour ces propriétés, vous avez besoin d’un paramètre d’application défini dans le tableau Values.For these properties, you need an application setting defined in the Values array.
AzureWebJobsStorage est un paramètre d’application requis pour les déclencheurs autres que HTTP.AzureWebJobsStorage is a required app setting for triggers other than HTTP.
Les versions 2.x et ultérieures du runtime Functions nécessitent le paramètre [FUNCTIONS_WORKER_RUNTIME], qui est généré pour votre projet par Core Tools.Version 2.x and higher of the Functions runtime requires the [FUNCTIONS_WORKER_RUNTIME] setting, which is generated for your project by Core Tools.
Lorsque vous installez l’émulateur de stockage Azure localement et définissez AzureWebJobsStorage sur UseDevelopmentStorage=true, et Core Tools utilise l’émulateur.When you have the Azure storage emulator installed locally and you set AzureWebJobsStorage to UseDevelopmentStorage=true, Core Tools uses the emulator. L’émulateur est utile lors du développement, mais vous devez le tester avec une connexion de stockage réelle avant le déploiement.The emulator is useful during development, but you should test with an actual storage connection before deployment.
Les valeurs doivent être des chaînes et non des objets JSON ou des tableaux.Values must be strings and not JSON objects or arrays. Les noms de paramètres ne peuvent pas contenir le signe deux points (:) ou un trait de soulignement double (__).Setting names can't include a colon (:) or a double underline (__). Ces caractères sont réservés par le runtime.These characters are reserved by the runtime.
Host Les paramètres de cette section personnalisent le processus hôte Functions lorsque vous exécutez localement des projets.Settings in this section customize the Functions host process when you run projects locally. Ces paramètres sont séparés des paramètres host.json, qui s’appliquent également lorsque vous exécutez localement des projets dans Azure.These settings are separate from the host.json settings, which also apply when you run projects in Azure.
LocalHttpPort Définit le port par défaut utilisé lors de l’exécution de l’hôte Functions local (func host start et func run).Sets the default port used when running the local Functions host (func host start and func run). --portL’option de ligne de commande est prioritaire sur ce paramètre.The --port command-line option takes precedence over this setting.
CORS Définit les origines autorisées pour cross-origin resource sharing (CORS).Defines the origins allowed for cross-origin resource sharing (CORS). Les origines sont fournies sous la forme d’une liste séparée par des virgules, sans espaces.Origins are supplied as a comma-separated list with no spaces. La valeur de caractère générique (*) est prise en charge, ce qui autorise les demandes à partir de toute origine.The wildcard value (*) is supported, which allows requests from any origin.
CORSCredentials Lorsque qu’il est défini sur true, autorise withCredentials les requêtes.When set to true, allows withCredentials requests.
ConnectionStrings Une collection.A collection. N’utilisez pas cette collection pour les chaînes de connexion utilisées par vos liaisons de fonction.Don't use this collection for the connection strings used by your function bindings. Cette collection est utilisée seulement par les infrastructures qui obtiennent généralement les chaînes de connexion à partir de la ConnectionStringssection d’un fichier de configuration, comme Entity Framework.This collection is used only by frameworks that typically get connection strings from the ConnectionStrings section of a configuration file, like Entity Framework. Les chaînes de connexion dans cet objet sont ajoutées à l’environnement avec le type de fournisseur System.Data.SqlClient.Connection strings in this object are added to the environment with the provider type of System.Data.SqlClient. Les éléments de cette collection ne sont pas publiés sur Azure avec d’autres paramètres d’application.Items in this collection aren't published to Azure with other app settings. Vous devez explicitement ajouter ces valeurs à la collection Connection strings des paramètres de Function App.You must explicitly add these values to the Connection strings collection of your function app settings. Si vous créez un SqlConnection dans votre code de fonction, vous devez stocker la valeur de la chaîne de connexion et vos autres connexions dans Paramètres d’application dans le portail.If you're creating a SqlConnection in your function code, you should store the connection string value with your other connections in Application Settings in the portal.

Par défaut, ces paramètres ne sont pas migrés automatiquement lorsque le projet est publié dans Azure.By default, these settings are not migrated automatically when the project is published to Azure. Utilisez le commutateur --publish-local-settingslors de la publication pour vous assurer que ces paramètres sont ajoutés à l’application de fonction dans Azure.Use the --publish-local-settings switch when you publish to make sure these settings are added to the function app in Azure. Notez que les valeurs dans ConnectionStrings ne sont jamais publiées.Note that values in ConnectionStrings are never published.

Ces valeurs de paramètres d’application de fonction peuvent aussi être lues dans votre code en tant que variables d’environnement.The function app settings values can also be read in your code as environment variables. Pour plus d’informations, consultez la section Variables d’environnement de ces rubriques de référence spécifiques à une langue :For more information, see the Environment variables section of these language-specific reference topics:

Si aucune chaîne de connexion de stockage valide n’est définie pour AzureWebJobsStorage et que l’émulateur n’est pas utilisé, le message d’erreur suivant s’affiche :When no valid storage connection string is set for AzureWebJobsStorage and the emulator isn't being used, the following error message is shown:

Valeur manquante pour AzureWebJobsStorage dans local.settings.json.Missing value for AzureWebJobsStorage in local.settings.json. Cette valeur est nécessaire pour tous les déclencheurs autres que HTTP.This is required for all triggers other than HTTP. Vous pouvez exécuter 'func azure functionapp fetch-app-settings <functionAppName>' ou spécifier une chaîne de connexion dans local.settings.json.You can run 'func azure functionapp fetch-app-settings <functionAppName>' or specify a connection string in local.settings.json.

Obtenir vos chaînes de connexion de stockageGet your storage connection strings

Même si vous utilisez l’Émulateur de stockage Microsoft Azure pour le développement, vous pouvez tester votre configuration avec une connexion de stockage réelle.Even when using the Microsoft Azure Storage Emulator for development, you may want to test with an actual storage connection. Si vous avez déjà créé un compte de stockage, vous pouvez obtenir une chaîne de connexion de stockage valide de l’une des manières suivantes :Assuming you have already created a storage account, you can get a valid storage connection string in one of the following ways:

  • Dans le Azure portal, recherchez et sélectionnez Comptes de stockage.From the Azure portal, search for and select Storage accounts. Sélectionner des comptes de stockage à partir du Portail AzureSelect Storage accounts from Azure portal

    Sélectionnez votre compte de stockage, sélectionnez Clés d’accès dans Paramètres, puis copiez une des valeurs Chaîne de connexion.Select your storage account, select Access keys in Settings, then copy one of the Connection string values. Copier une chaîne de connexion à partir du portail AzureCopy connection string from Azure portal

  • Utilisez l’Explorateur Stockage Azure pour vous connecter à votre compte Azure.Use Azure Storage Explorer to connect to your Azure account. Dans l’Explorateur, développez votre abonnement et Comptes de stockage, sélectionnez votre compte de stockage et copiez la chaîne de connexion principale ou secondaire.In the Explorer, expand your subscription, expand Storage Accounts, select your storage account, and copy the primary or secondary connection string.

    Copier une chaîne de connexion à partir de l’Explorateur Stockage Azure

  • Utilisez Core Tools pour télécharger la chaîne de connexion à partir d’Azure à l’aide d’une des commandes suivantes :Use Core Tools to download the connection string from Azure with one of the following commands:

    • Téléchargez tous les paramètres à partir d’une application de fonction existante :Download all settings from an existing function app:

      func azure functionapp fetch-app-settings <FunctionAppName>
      
    • Obtenez la chaîne de connexion pour un compte de stockage spécifique :Get the Connection string for a specific storage account:

      func azure storage fetch-connection-string <StorageAccountName>
      

      Si vous n’êtes pas encore connecté à Azure, vous êtes invité à le faire.When you aren't already signed in to Azure, you're prompted to do so.

Créer une fonctionCreate a function

Exécutez la commande suivante pour créer une fonction :To create a function, run the following command:

func new

Dans la version 2.x, lorsque vous exécutez func new, vous êtes invité à choisir un modèle dans le langage par défaut de votre application de fonction, puis vous êtes également invité à choisir un nom pour votre fonction.In version 2.x, when you run func new you are prompted to choose a template in the default language of your function app, then you are also prompted to choose a name for your function. Dans la version 1.x, vous êtes également invité à choisir le langage.In version 1.x, you are also prompted to choose the language.

Select a language: Select a template:
Blob trigger
Cosmos DB trigger
Event Grid trigger
HTTP trigger
Queue trigger
SendGrid
Service Bus Queue trigger
Service Bus Topic trigger
Timer trigger

Le code de la fonction est généré dans un sous-dossier portant le nom que vous avez indiqué pour la fonction, comme vous pouvez le voir dans la sortie de déclencheur de file d’attente suivante :Function code is generated in a subfolder with the provided function name, as you can see in the following queue trigger output:

Select a language: Select a template: Queue trigger
Function name: [QueueTriggerJS] MyQueueTrigger
Writing C:\myfunctions\myMyFunctionProj\MyQueueTrigger\index.js
Writing C:\myfunctions\myMyFunctionProj\MyQueueTrigger\readme.md
Writing C:\myfunctions\myMyFunctionProj\MyQueueTrigger\sample.dat
Writing C:\myfunctions\myMyFunctionProj\MyQueueTrigger\function.json

Vous pouvez également spécifier ces options dans la commande en utilisant les arguments suivants :You can also specify these options in the command using the following arguments:

ArgumentArgument DescriptionDescription
--csx (Version 2.x) Génère les mêmes modèles de script C# (.csx) que ceux utilisés dans la version 1.x et dans le portail.(Version 2.x) Generates the same C# script (.csx) templates used in version 1.x and in the portal.
--language , -l--language, -l Langage de programmation du modèle, tel que C#, F# ou JavaScript.The template programming language, such as C#, F#, or JavaScript. Cette option est requise dans la version 1.x.This option is required in version 1.x. Dans la version 2.x, n’utilise pas cette option ou choisissez un langage qui correspond au runtime worker.In version 2.x, do not use this option or choose a language that matches the worker runtime.
--name , -n--name, -n Nom de la fonction.The function name.
--template , -t--template, -t Utilisez la commande func templates list pour afficher la liste complète des modèles disponibles pour chaque langage pris en charge.Use the func templates list command to see the complete list of available templates for each supported language.

Par exemple, pour créer un déclencheur HTTP JavaScript dans une seule commande, exécutez :For example, to create a JavaScript HTTP trigger in a single command, run:

func new --template "Http Trigger" --name MyHttpTrigger

Pour créer une fonction de déclencheur par file d’attente, exécutez :To create a queue-triggered function in a single command, run:

func new --template "Queue Trigger" --name QueueTriggerJS

Exécuter des fonctions localementRun functions locally

Pour exécuter un projet Functions, exécutez l’hôte Functions.To run a Functions project, run the Functions host. L’hôte active les déclencheurs pour toutes les fonctions du projet.The host enables triggers for all functions in the project.

Version 2.xVersion 2.x

Dans la version 2.x du runtime, la commande de démarrage varie selon le langage de votre projet.In version 2.x of the runtime, the start command varies, depending on your project language.

C#C#

func start --build

JavaScriptJavaScript

func start

TypeScriptTypeScript

npm install
npm start     

Version 1.xVersion 1.x

La version 1. x du runtime Functions requiert la commande host, comme dans l’exemple suivant :Version 1.x of the Functions runtime requires the host command, as in the following example:

func host start

func start prend en charge les options suivantes :func start supports the following options:

OptionOption DescriptionDescription
--no-build Ne générez pas le projet actif avant l’exécution.Do no build current project before running. Pour les projets dotnet uniquement.For dotnet projects only. La valeur par défaut est false.Default is set to false. Version 2.x uniquement.Version 2.x only.
--cert Le chemin d’accès vers un fichier .pfx qui contient une clé privée.The path to a .pfx file that contains a private key. Utilisé uniquement avec --useHttps.Only used with --useHttps. Version 2.x uniquement.Version 2.x only.
--cors-credentials Autoriser les demandes authentifiées cross-origin (autrement dit, les cookies et l’en-tête d’authentification). Version 2.x uniquement.Allow cross-origin authenticated requests (i.e. cookies and the Authentication header) Version 2.x only.
--cors Liste séparée par des virgules d’origines CORS, sans espaces.A comma-separated list of CORS origins, with no spaces.
--language-worker Arguments pour configurer le travailleur de langage.Arguments to configure the language worker. Par exemple, vous pouvez activer le débogage pour le rôle de travail du langage en fournissant un port de débogage et d’autres arguments requis.For example, you may enable debugging for language worker by providing debug port and other required arguments. Version 2.x uniquement.Version 2.x only.
--nodeDebugPort , -n--nodeDebugPort, -n Port du débogueur Node.js à utiliser.The port for the Node.js debugger to use. Valeur par défaut : une valeur issue de launch.json ou 5858.Default: A value from launch.json or 5858. Version 1.x uniquement.Version 1.x only.
--password Le mot de passe ou un fichier qui contient le mot de passe pour un fichier .pfx.Either the password or a file that contains the password for a .pfx file. Utilisé uniquement avec --cert.Only used with --cert. Version 2.x uniquement.Version 2.x only.
--port , -p--port, -p Port local à écouter.The local port to listen on. Valeur par défaut : 7071.Default value: 7071.
--pause-on-error Marquage d’une pause pour des entrées supplémentaires avant de quitter le processus.Pause for additional input before exiting the process. Uniquement utilisé lors du lancement des outils de base à partir d’un environnement de développement intégré (IDE).Used only when launching Core Tools from an integrated development environment (IDE).
--script-root , --prefix--script-root, --prefix Utilisé pour spécifier le chemin d’accès à la racine de l’application de fonction qui doit être exécutée ou déployée.Used to specify the path to the root of the function app that is to be run or deployed. Il est utilisé pour les projets compilés qui génèrent des fichiers projet dans un sous-dossier.This is used for compiled projects that generate project files into a subfolder. Par exemple, lorsque vous générez un projet de bibliothèque de classes C#, les host.json, local.settings.json et function.json sont générés dans un sous-dossier racine avec un chemin d’accès comme MyProject/bin/Debug/netstandard2.0.For example, when you build a C# class library project, the host.json, local.settings.json, and function.json files are generated in a root subfolder with a path like MyProject/bin/Debug/netstandard2.0. Dans ce cas, définissez le préfixe comme --script-root MyProject/bin/Debug/netstandard2.0.In this case, set the prefix as --script-root MyProject/bin/Debug/netstandard2.0. Il s’agit de la racine de l’application de fonction lors de l’exécution sur Azure.This is the root of the function app when running in Azure.
--timeout , -t--timeout, -t Délai d’expiration pour le démarrage de l’hôte Functions, en secondes.The timeout for the Functions host to start, in seconds. Valeur par défaut : 20 secondes.Default: 20 seconds.
--useHttps Liaison avec https://localhost:{port} plutôt que http://localhost:{port}.Bind to https://localhost:{port} rather than to http://localhost:{port}. Par défaut, cette option crée un certificat de confiance sur votre ordinateur.By default, this option creates a trusted certificate on your computer.

Quand l’hôte Functions démarre, il génère l’URL des fonctions déclenchées par HTTP :When the Functions host starts, it outputs the URL of HTTP-triggered functions:

Found the following functions:
Host.Functions.MyHttpTrigger

Job host started
Http Function MyHttpTrigger: http://localhost:7071/api/MyHttpTrigger

Important

Lors d’une exécution locale, l’autorisation n’est pas appliquée pour les points de terminaison HTTP.When running locally, authorization isn't enforced for HTTP endpoints. Cela signifie que toutes les demandes HTTP locales sont gérées de manière authLevel = "anonymous".This means that all local HTTP requests are handled as authLevel = "anonymous". Pour plus d’informations, consultez l’article sur la liaison HTTP.For more information, see the HTTP binding article.

Transmission de données de test à une fonctionPassing test data to a function

Pour tester vos fonctions localement, vous démarrez l’hôte Functions et vous appelez des points de terminaison sur le serveur local avec des requêtes HTTP.To test your functions locally, you start the Functions host and call endpoints on the local server using HTTP requests. Le point de terminaison que vous appelez varie selon le type de fonction.The endpoint you call depends on the type of function.

Notes

Les exemples de cette rubrique utilisent l’outil cURL pour envoyer des requêtes HTTP à partir du terminal ou d’une invite de commandes.Examples in this topic use the cURL tool to send HTTP requests from the terminal or a command prompt. Vous pouvez utiliser un outil de votre choix pour envoyer les requêtes HTTP au serveur local.You can use a tool of your choice to send HTTP requests to the local server. L’outil cURL est disponible par défaut sur les systèmes Linux et Windows 10 Build 17063 et versions ultérieures.The cURL tool is available by default on Linux-based systems and Windows 10 build 17063 and later. Avec les anciennes versions de Windows, vous devez d’abord télécharger et installer l’outil cURL.On older Windows, you must first download and install the cURL tool.

Pour des informations plus générales sur le test de fonctions, consultez Stratégies permettant de tester votre code dans Azure Functions.For more general information on testing functions, see Strategies for testing your code in Azure Functions.

Fonctions déclenchées par HTTP et par WebhookHTTP and webhook triggered functions

Vous appelez le point de terminaison suivant pour exécuter localement des fonctions déclenchées par HTTP et par Webhook :You call the following endpoint to locally run HTTP and webhook triggered functions:

http://localhost:{port}/api/{function_name}

Vérifiez que vous utilisez le même nom de serveur et le même port que celui où l’hôte Functions écoute.Make sure to use the same server name and port that the Functions host is listening on. Vous voyez cela dans la sortie générée lors du démarrage de l’hôte Functions.You see this in the output generated when starting the Function host. Vous pouvez appeler cette URL en utilisant n’importe quelle méthode HTTP prise en charge par le déclencheur.You can call this URL using any HTTP method supported by the trigger.

La commande cURL suivante déclenche la fonction de démarrage rapide MyHttpTrigger à partir d’une demande GET avec le paramètre _name_passé dans la chaîne de requête.The following cURL command triggers the MyHttpTrigger quickstart function from a GET request with the name parameter passed in the query string.

curl --get http://localhost:7071/api/MyHttpTrigger?name=Azure%20Rocks

L’exemple suivant est la même fonction appelée à partir d’une demande POST en passant name dans le corps de la demande :The following example is the same function called from a POST request passing name in the request body:

curl --request POST http://localhost:7071/api/MyHttpTrigger --data '{"name":"Azure Rocks"}'

Notez que vous pouvez passer des requêtes GET depuis un navigateur en passant des données dans la chaîne de requêtes.You can make GET requests from a browser passing data in the query string. Pour toutes les autres méthodes HTTP, vous devez utiliser cURL, Fiddler, Postman ou un outil de test HTTP similaire.For all other HTTP methods, you must use cURL, Fiddler, Postman, or a similar HTTP testing tool.

Fonctions non déclenchées via HTTPNon-HTTP triggered functions

Pour tous les types de fonctions autres que les déclencheurs et Webhooks HTTP, vous pouvez tester vos fonctions localement en appelant un point de terminaison d’administration.For all kinds of functions other than HTTP triggers and webhooks, you can test your functions locally by calling an administration endpoint. L’appel de ce point de terminaison au moyen d’une requête HTTP POST sur le serveur local déclenche la fonction.Calling this endpoint with an HTTP POST request on the local server triggers the function. Vous pouvez éventuellement passer des données de test à l’exécution dans le corps de la requête POST.You can optionally pass test data to the execution in the body of the POST request. Cette fonctionnalité est similaire à l’onglet Test dans le portail Azure.This functionality is similar to the Test tab in the Azure portal.

Vous appelez le point de terminaison d’administrateur suivant pour déclencher des fonctions non-HTTP :You call the following administrator endpoint to trigger non-HTTP functions:

http://localhost:{port}/admin/functions/{function_name}

Pour passer des données de test au point de terminaison d’administrateur d’une fonction, vous devez fournir les données dans le corps d’un message de requête POST.To pass test data to the administrator endpoint of a function, you must supply the data in the body of a POST request message. Le corps du message doit avoir le format JSON suivant :The message body is required to have the following JSON format:

{
    "input": "<trigger_input>"
}

La valeur de <trigger_input> contient des données dans un format attendu par la fonction.The <trigger_input> value contains data in a format expected by the function. L’exemple cURL suivant est une demande POST adressée à une fonction QueueTriggerJS.The following cURL example is a POST to a QueueTriggerJS function. Dans ce cas, l’entrée est une chaîne qui est équivalente au message attendu dans la file d’attente.In this case, the input is a string that is equivalent to the message expected to be found in the queue.

curl --request POST -H "Content-Type:application/json" --data '{"input":"sample queue data"}' http://localhost:7071/admin/functions/QueueTriggerJS

Utilisation de la commande func run dans la version 1.xUsing the func run command in version 1.x

Important

La commande func run n’est pas prise en charge dans la version 2.x des outils.The func run command is not supported in version 2.x of the tools. Pour plus d’informations, consultez la rubrique Comment cibler des versions du runtime Azure Functions.For more information, see the topic How to target Azure Functions runtime versions.

Vous pouvez également appeler une fonction directement à l’aide de func run <FunctionName> et fournir des données d’entrée pour la fonction.You can also invoke a function directly by using func run <FunctionName> and provide input data for the function. Cette commande est similaire à l’exécution d’une fonction à l’aide de l’onglet Test dans le portail Azure.This command is similar to running a function using the Test tab in the Azure portal.

func run prend en charge les options suivantes :func run supports the following options:

OptionOption DescriptionDescription
--content , -c--content, -c Contenu inclus.Inline content.
--debug , -d--debug, -d Joindre un débogueur au processus hôte avant d’exécuter la fonction.Attach a debugger to the host process before running the function.
--timeout , -t--timeout, -t Délai d’attente (en secondes) jusqu’à ce que l’hôte Functions local soit prêt.Time to wait (in seconds) until the local Functions host is ready.
--file , -f--file, -f Nom du fichier à utiliser en tant que contenu.The file name to use as content.
--no-interactive Ne pas demander d’entrée.Does not prompt for input. Utile pour les scénarios d’automatisation.Useful for automation scenarios.

Par exemple, pour appeler une fonction déclenchée par HTTP et passer un corps de contenu, exécutez la commande suivante :For example, to call an HTTP-triggered function and pass content body, run the following command:

func run MyHttpTrigger -c '{\"name\": \"Azure\"}'

Publication dans AzurePublish to Azure

Azure Functions Core Tools prend en charge deux types de déploiement : le déploiement des fichiers projet de fonction directement dans votre application de fonction via Zip Deploy, et le déploiement d’un conteneur Docker personnalisé.The Azure Functions Core Tools supports two types of deployment: deploying function project files directly to your function app via Zip Deploy and deploying a custom Docker container. Vous devez avoir déjà créé une application de fonction dans votre abonnement Azure où vous prévoyez de déployer votre code.You must have already created a function app in your Azure subscription, to which you'll deploy your code. Les projets qui nécessitent une compilation doivent être générés pour favoriser le déploiements des fichiers binaires.Projects that require compilation should be built so that the binaries can be deployed.

Un dossier de projet peut contenir des fichiers et des répertoires spécifiques à une langue qui ne doivent pas être publiés.A project folder may contain language-specific files and directories that shouldn't be published. Les éléments exclus sont listés dans un fichier .funcignore situé dans le dossier racine du projet.Excluded items are listed in a .funcignore file in the root project folder.

Déploiement (fichiers projet)Deployment (project files)

Pour publier votre code local dans une application de fonction sur Azure, utilisez la commande publish :To publish your local code to a function app in Azure, use the publish command:

func azure functionapp publish <FunctionAppName>

Cette commande publie du contenu vers une application de fonction existante dans Azure.This command publishes to an existing function app in Azure. Vous obtiendrez une erreur si vous tentez de publier sur une application <FunctionAppName> qui n’existe pas dans votre abonnement.You'll get an error if you try to publish to a <FunctionAppName> that doesn't exist in your subscription. Pour découvrir comment créer une application de fonction à partir de l’invite de commandes ou d’une fenêtre de terminal à l’aide d’Azure CLI, consultez Créer une application de fonction pour une exécution sans serveur.To learn how to create a function app from the command prompt or terminal window using the Azure CLI, see Create a Function App for serverless execution. Par défaut, cette commande utilise la build distante et déploie votre application pour une exécution à partir du package de déploiement.By default, this command uses remote build and deploys your app to run from the deployment package. Pour désactiver ce mode de déploiement recommandé, utilisez l'option --nozip.To disable this recommended deployment mode, use the --nozip option.

Important

Lorsque vous créez une application de fonction dans le portail Azure, elle utilise par défaut la version 2.x du runtime de Function.When you create a function app in the Azure portal, it uses version 2.x of the Function runtime by default. Pour que l’application de fonction utilise la version 1.x du runtime, suivez les instructions dans Exécution sur la version 1.x.To make the function app use version 1.x of the runtime, follow the instructions in Run on version 1.x. Vous ne pouvez pas modifier la version du runtime pour une application de fonction qui possède des fonctions déjà existantes.You can't change the runtime version for a function app that has existing functions.

Les options de publication suivantes s’appliquent aux versions 1.x et 2.x :The following publish options apply for both versions, 1.x and 2.x:

OptionOption DescriptionDescription
--publish-local-settings -i Publier dans Azure les paramètres figurant dans local.settings.json, avec demande de confirmation du remplacement si le paramètre existe déjà.Publish settings in local.settings.json to Azure, prompting to overwrite if the setting already exists. Si vous utilisez l’Émulateur de stockage Microsoft Azure, commencez par changer le paramètre d’application en choisissant une connexion de stockage réelle.If you are using the Microsoft Azure Storage Emulator, first change the app setting to an actual storage connection.
--overwrite-settings -y Supprimer l’invite de remplacement des paramètres de l’application lorsque --publish-local-settings -i est utilisé.Suppress the prompt to overwrite app settings when --publish-local-settings -i is used.

Les options de publication suivantes sont uniquement prises en charge dans la version 2.x :The following publish options are only supported in version 2.x:

OptionOption DescriptionDescription
--publish-settings-only , -o--publish-settings-only, -o Publiez les paramètres uniquement et ignorez le contenu.Only publish settings and skip the content. Par défaut, l’accord de l’utilisateur est sollicité.Default is prompt.
--list-ignored-files Affiche une liste de fichiers ignorés lors de la publication basée sur le fichier .funcignore.Displays a list of files that are ignored during publishing, which is based on the .funcignore file.
--list-included-files Affiche une liste de fichiers publiés basée sur le fichier .funcignore.Displays a list of files that are published, which is based on the .funcignore file.
--nozip Désactive le mode par défaut Run-From-Package.Turns the default Run-From-Package mode off.
--build-native-deps Ignore la génération du dossier .wheels lors de la publication des applications de fonction Python.Skips generating .wheels folder when publishing Python function apps.
--build , -b--build, -b Exécute l’action de génération lors du déploiement dans une application de fonction Linux.Performs build action when deploying to a Linux function app. Accepte : remote et local.Accepts: remote and local.
--additional-packages Liste des packages à installer lors de la création des dépendances natives.List of packages to install when building native dependencies. Par exemple : python3-dev libevent-dev.For example: python3-dev libevent-dev.
--force Ignorez la vérification de prépublication dans certains scénarios.Ignore pre-publishing verification in certain scenarios.
--csx Publiez un projet de Script C# (.csx).Publish a C# script (.csx) project.
--no-build Ne générez pas de fonctions de bibliothèque de classes .NET.Don't build .NET class library functions.
--dotnet-cli-params Si les fonctions C# (.csproj) sont compilées lors de la publication, Core Tools appelle « dotnet build --output bin/publish ».When publishing compiled C# (.csproj) functions, the core tools calls 'dotnet build --output bin/publish'. Tous les paramètres transmis seront ajoutés à la ligne de commande.Any parameters passed to this will be appended to the command line.

Déploiement (conteneur personnalisé)Deployment (custom container)

Azure Functions vous permet de déployer un projet de fonction dans un conteneur Docker personnalisé.Azure Functions lets you deploy your function project in a custom Docker container. Pour plus d’informations, consultez Créer une fonction sur Linux en utilisant une image personnalisée.For more information, see Create a function on Linux using a custom image. Les conteneurs personnalisés doivent contenir un fichier Dockerfile.Custom containers must have a Dockerfile. Pour créer une application avec un fichier Dockerfile, utilisez l’option --dockerfile sur func init.To create an app with a Dockerfile, use the --dockerfile option on func init.

func deploy

Les options de déploiement de conteneur personnalisées suivantes sont disponibles :The following custom container deployment options are available:

OptionOption DescriptionDescription
--registry Le nom d’un registre Docker auquel l’utilisateur actuel est connecté.The name of a Docker Registry the current user signed-in to.
--platform Plateforme d’hébergement pour l’application de fonction.Hosting platform for the function app. Les options valides sont kubernetesValid options are kubernetes
--name Nom de l’application de fonction.Function app name.
--max Le cas échéant, définit le nombre maximal d’instances d’application de fonction à déployer.Optionally, sets the maximum number of function app instances to deploy to.
--min Le cas échéant, définit le nombre minimal d’instances d’application de fonction à déployer.Optionally, sets the minimum number of function app instances to deploy to.
--config Définit un fichier de configuration de déploiement optionnel.Sets an optional deployment configuration file.

Surveillance des fonctionsMonitoring functions

Il est recommandé de superviser l’exécution de vos fonctions par l’intégration à Azure Application Insights.The recommended way to monitor the execution of your functions is by integrating with Azure Application Insights. Vous pouvez également diffuser des journaux d’exécution sur votre ordinateur local.You can also stream execution logs to your local computer. Pour en savoir plus, consultez Surveiller l’exécution des fonctions Azure.To learn more, see Monitor Azure Functions.

Intégration d’Application InsightsApplication Insights integration

L’intégration d’Application Insights doit être activée lorsque vous créez votre application de fonction dans Azure.Application Insights integration should be enabled when you create your function app in Azure. Si, pour une raison quelconque, votre application de fonction n’est pas connectée à une instance Application Insights, il est facile d’effectuer cette intégration dans le portail Azure.If for some reason your function app isn't connected to an Application Insights instance, it's easy to do this integration in the Azure portal.

La solution Azure Functions facilite l’ajout de l’intégration d’Application Insights à une application de fonction à partir du portail Azure.Functions makes it easy to add Application Insights integration to a function app from the Azure portal.

  1. Dans le portail, sélectionnez Tous les services > Applications de fonction, sélectionnez votre application de fonction, puis choisissez la bannière Application Insights en haut de la fenêtre.In the portal, select All services > Function Apps, select your function app, and then select the Application Insights banner at the top of the window

    Activer Application Insights à partir du portail

  2. Créez une ressource Application Insights en utilisant les paramètres spécifiés dans le tableau sous l’image.Create an Application Insights resource by using the settings specified in the table below the image.

    Création d’une ressource Application Insights dans Azure

    ParamètreSetting Valeur suggéréeSuggested value DescriptionDescription
    NomName Nom d’application uniqueUnique app name Il est plus facile d’utiliser le même nom que celui de votre application de fonction, qui doit être unique dans votre abonnement.It's easiest to use the same name as your function app, which must be unique in your subscription.
    LieuLocation Europe OuestWest Europe Si possible, utilisez la même région que celle de votre application de fonction ou une région proche.If possible, use the same region as your function app, or one that's close to that region.
  3. Sélectionnez OK.Select OK. La ressource Application Insights est créée dans le même groupe de ressources et le même abonnement que votre application de fonction.The Application Insights resource is created in the same resource group and subscription as your function app. Une fois la ressource créée, fermez la fenêtre Application Insights.After the resource is created, close the Application Insights window.

  4. Dans votre application de fonction, sélectionnez Paramètres de l’application, puis faites défiler jusqu’à Paramètres de l’application.Back in your function app, select Application settings, and then scroll down to Application settings. Si vous voyez un paramètre nommé APPINSIGHTS_INSTRUMENTATIONKEY, cela signifie que l’intégration d’Application Insights est activée pour votre application de fonction s’exécutant dans Azure.If you see a setting named APPINSIGHTS_INSTRUMENTATIONKEY, Application Insights integration is enabled for your function app running in Azure.

Activer les journaux de diffusion en continuEnable streaming logs

Vous pouvez afficher un flux de fichiers journaux générés par vos fonctions dans une session de ligne de commande sur votre ordinateur local.You can view a stream of log files being generated by your functions in a command-line session on your local computer.

Journaux de diffusion en continu natifsNative streaming logs

Streaming des journaux intégréBuilt-in log streaming

Utilisez l’option logstream pour commencer à recevoir les journaux de streaming d’une application de fonction s’exécutant dans Azure, comme dans l’exemple suivant :Use the logstream option to start receiving streaming logs of a specific function app running in Azure, as in the following example:

func azure functionapp logstream <FunctionAppName>

Live Metrics Stream (Flux continu de mesures)Live Metrics Stream

Vous pouvez également afficher le Flux de métriques temps réel de votre application de fonction dans une nouvelle fenêtre de navigateur en incluant l’option --browser, comme dans l’exemple suivant :You can also view the Live Metrics Stream for your function app in a new browser window by including the --browser option, as in the following example:

func azure functionapp logstream <FunctionAppName> --browser

Les journaux de diffusion en continu de ce type nécessitent que l’intégration d’Application Insights soit activée pour votre application de fonction.This type of streaming logs requires that Application Insights integration be enabled for your function app.

Étapes suivantesNext steps

Découvrez comment développer, tester et publier des fonctions Azure en utilisant Azure Functions Core Tools module Microsoft Learn. Azure Functions Core Tools est open source et hébergé sur GitHub.Learn how to develop, test, and publish Azure Functions by using Azure Functions Core Tools Microsoft learn module Azure Functions Core Tools is open source and hosted on GitHub.
Pour enregistrer un bogue ou une demande de fonctionnalité, créez un problème GitHub.To file a bug or feature request, open a GitHub issue.