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:

Vous ne pouvez installer qu’une seule version de Core Tools sur un ordinateur donné.You can only install one version of Core Tools on a given computer. 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.

PrérequisPrerequisites

Azure Functions Core Tools dépend d’Azure CLI ou d’Azure PowerShell pour l’authentification auprès de votre compte Azure.Azure Functions Core Tools currently depends on either the Azure CLI or Azure PowerShell for authenticating with your Azure account. Cela signifie que vous devez installer l’un de ces outils pour pouvoir publier sur Azure à partir d’Azure Functions Core Tools.This means that you must install one of these tools to be able to publish to Azure from Azure Functions Core Tools.

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 3.x et 2.xVersion 3.x and 2.x

La version 3.x ou 2.x des outils utilise le runtime Azure Functions qui repose sur .NET Core.Version 3.x/2.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 un programme d’installation Windows (MSI) pour installer Core Tools v3.x.The following steps use a Windows installer (MSI) to install Core Tools v3.x. Pour plus d’informations sur les autres programmes d’installation basés sur des packages, qui sont nécessaires à l’installation de Core Tools v2.x, consultez le fichier Lisez-moi de Core Tools.For more information about other package-based installers, which are required to install Core Tools v2.x, see the Core Tools readme.

  1. Téléchargez et exécutez le programme d’installation de Core Tools, selon votre version de Windows :Download and run the Core Tools installer, based on your version of Windows:

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

Créer un projet Functions localCreate a local Functions project

Un répertoire de projet Functions 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 3.x/2.x, vous devez sélectionner un langage par défaut pour votre projet lors de son initialisation.Version 3.x/2.x requires you to select a default language for your project when it is initialized. Dans la version 3.x/2.x, toutes les fonctions ajoutées utilisent des modèles de langage par défaut.In version 3.x/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

Important

Java utilise un archétype Maven pour créer le projet Functions local, ainsi que votre première fonction déclenchée par HTTP.Java uses a Maven archetype to create the local Functions project, along with your first HTTP triggered function. Utilisez la commande suivante pour créer votre projet Java : mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype.Use the following command to create your Java project: mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype. Pour obtenir un exemple d’utilisation de l’archétype Maven, consultez le démarrage rapide par lignes de commande.For an example using the Maven archetype, see the Command line quickstart.

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 3.x/2.x, lorsque vous exécutez la commande, vous devez choisir un runtime pour votre projet.In version 3.x/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 3.x/2.x :func init supports the following options, which are version 3.x/2.x-only, unless otherwise noted:

OptionOption DescriptionDescription
--csx Crée des fonctions .NET en tant que script C#, ce qui correspond au comportement de la version 1.x.Creates .NET functions as C# script, which is the version 1.x behavior. Valide uniquement avec --worker-runtime dotnet.Valid only with --worker-runtime dotnet.
--docker Crée un fichier Dockerfile pour un conteneur à l’aide d’une image de base définie par le --worker-runtime choisi.Creates 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.
--language Initialise un projet spécifique au langage.Initializes a language specific project. Actuellement pris en charge lorsque --worker-runtime est défini sur node.Currently supported when --worker-runtime set to node. Les options sont typescript et javascript.Options are typescript and javascript. Vous pouvez également utiliser --worker-runtime javascript ou --worker-runtime typescript.You can also use --worker-runtime javascript or --worker-runtime typescript.
--managed-dependencies Installe des dépendances gérées.Installs managed dependencies. Actuellement, seul un runtime worker PowerShell prend en charge cette fonctionnalité.Currently, only the PowerShell worker runtime supports this functionality.
--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.
--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, javascript,node (JavaScript), powershell, python et typescript.Supported values are: csharp, dotnet, javascript,node (JavaScript), powershell, python, and typescript. Pour Java, utilisez Maven. Lorsqu’il n’est pas défini, vous êtes invité à choisir votre runtime pendant l’initialisation.For Java, use Maven.When not set, you're prompted to choose your runtime during initialization.

Important

Par défaut, la version 2.x et les versions ultérieures des outils Core créent les projets d’application de fonctions pour le runtime .NET en tant que projets de classes C# (.csproj).By default, version 2.x and later versions of the Core Tools create 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. Les liaisons HTTP et les déclencheurs de minuteur ne nécessitent pas d’extensions.HTTP bindings and timer triggers don't require extensions.

Pour réduire les incompatibilités entre les différents packages d’extension, Functions vous permet de référencer un groupe d’extensions dans votre fichier de projet host.json.To reduce incompatibilities between the various extension packages, Functions lets you reference an extension bundle in your host.json project file. Si vous choisissez de ne pas utiliser les packages d’extension, vous devez également installer le kit de développement logiciel (SDK) .NET Core 2. x localement et conserver un fichier extensions.csproj avec votre projet Functions.If you choose not to use extension bundles, you also need to install .NET Core 2.x SDK locally and maintain an extensions.csproj with your functions project.

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. 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.

Utiliser les packs d’extensionsUse extension 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.

Installer des extensions de manière expliciteExplicitly install extensions

Si vous ne pouvez pas utiliser les packs d’extensions, vous pouvez utiliser Azure Functions Core Tools localement pour installer les packs d’extensions spécifiques requis par votre projet.If you aren't able to use extension bundles, you can use Azure Functions Core Tools locally to install the specific extension packages required by your project.

Important

Vous ne pouvez pas installer explicitement des extensions dans une application de fonction qui utilise des bundles d’extension.You can't explicitly install extensions in a function app that is using extension bundles. Supprimez la section extensionBundle dans host.json avant d’installer des extensions de manière explicite.Remove the extensionBundle section in host.json before explicitly installing extensions.

Les éléments suivants décrivent certaines raisons pour lesquelles vous devrez peut-être installer des extensions manuellement :The following items describe some reasons you might need to install extensions manually:

  • Vous devez accéder à une version spécifique d’une extension qui n’est pas disponible dans un bundle.You need to access a specific version of an extension not available in a bundle.
  • Vous devez accéder à une extension personnalisée qui n’est pas disponible dans un bundle.You need to access a custom extension not available in a bundle.
  • Vous devez accéder à une combinaison spécifique d’extensions non disponibles dans un seul bundle.You need to access a specific combination of extensions not available in a single bundle.

Notes

Pour installer manuellement des extensions avec Core Tools, le kit SDK .NET Core 2.x doit être installé.To manually install extensions by using Core Tools, you must have the .NET Core 2.x SDK installed. Azure Functions Core Tools installe le kit SDK .NET Core pour installer des extensions à partir de NuGet.The .NET Core SDK is used by Azure Functions Core Tools to install extensions from NuGet. Vous n’avez pas besoin de connaître .NET pour utiliser les extensions Azure Functions.You don't need to know .NET to use Azure Functions extensions.

Lorsque vous installez explicitement des extensions, un fichier de projet .NET nommé extensions.csproj est ajouté à la racine de votre projet.When you explicitly install extensions, a .NET project file named extensions.csproj is added to the root of your project. Ce fichier définit l’ensemble des packages NuGet requis par vos fonctions.This file defines the set of NuGet packages required by your functions. Bien que vous puissiez utiliser les références de package NuGet dans ce fichier, Core Tools vous permet d’installer des extensions sans avoir à modifier manuellement le fichier.While you can work with the NuGet package references in this file, Core Tools lets you install extensions without having to manually edit the file.

Il existe plusieurs façons d’utiliser les outils de base pour installer les extensions requises dans votre projet local.There are several ways to use Core Tools to install the required extensions in your local project.

Installer toutes les extensionsInstall all extensions

Utilisez la commande suivante pour ajouter automatiquement tous les packages d’extensions utilisés par les liaisons dans votre projet local :Use the following command to automatically add all extension packages used by the bindings in your local project:

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 (extensions.csproj).The command reads the function.json file to see which packages you need, installs them, and rebuilds the extensions project (extensions.csproj). 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.

Si votre application de fonction utilise des liaisons que les outils Core ne reconnaissent pas, vous devez installer manuellement l’extension spécifique.If your function app uses bindings that Core Tools does not recognize, you must manually install the specific extension.

Installer une extension spécifiqueInstall a specific extension

Utilisez la commande suivante pour installer un package d’extension spécifique à une version spécifique, dans ce cas l’extension Storage :Use the following command to install a specific extension package at a specific version, in this case the Storage extension:

func extensions install --package Microsoft.Azure.WebJobs.Extensions.Storage --version 4.0.2

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>",
    "AzureWebJobs.HttpExample.Disabled": "true"
  },
  "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. Vous voudrez peut-être chiffrer le fichier local.settings.json sur votre ordinateur local lorsqu’il contient des secrets, tels que des chaînes de connexion de service.You might want to encrypt the local.settings.json file on your local computer when it contains secrets, such as service connection strings. L’hôte déchiffre automatiquement les paramètres quand il s’exécute.The host automatically decrypts settings when it runs. Utilisez la commande func settings decrypt avant d’essayer de lire les paramètres chiffrés localement.Use the func settings decrypt command before trying to read locally encrypted settings.
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. Consultez le tableau suivant pour une liste des paramètres couramment utilisés.See the subsequent table for a list of commonly used settings.
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 (__). Les caractères de soulignement double sont réservés par le runtime, et le signe deux-points est réservé pour la prise en charge de l’injection de dépendances.Double underline characters are reserved by the runtime, and the colon is reserved to support dependency injection.
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.

Les paramètres d’application suivants peuvent être inclus dans le tableau Values lors d’une exécution locale :The following application settings can be included in the Values array when running locally:

ParamètreSetting ValeursValues DescriptionDescription
AzureWebJobsStorage Chaîne de connexion de compte de stockage ouStorage account connection string, or
UseDevelopmentStorage=true
Contient la chaîne de connexion pour un compte de stockage Azure.Contains the connection string for an Azure storage account. Obligatoire lors de l’utilisation de déclencheurs autres que HTTP.Required when using triggers other than HTTP. Pour plus d’informations, consultez les informations de référence sur AzureWebJobsStorage.For more information, see the AzureWebJobsStorage reference.
Lorsque vous installez l’émulateur de stockage Azure localement et définissez AzureWebJobsStorage sur UseDevelopmentStorage=true, 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.
AzureWebJobs.<FUNCTION_NAME>.Disabled true|false Pour désactiver une fonction qui s’exécute localement, ajoutez "AzureWebJobs.<FUNCTION_NAME>.Disabled": "true" à la collection, où <FUNCTION_NAME> est le nom de la fonction.To disable a function when running locally, add "AzureWebJobs.<FUNCTION_NAME>.Disabled": "true" to the collection, where <FUNCTION_NAME> is the name of the function. Pour en savoir plus, consultez Guide pratique pour désactiver des fonctions dans Azure FunctionsTo learn more, see How to disable functions in Azure Functions
FUNCTIONS_WORKER_RUNTIME dotnet
node
java
powershell
python
Indique le langage ciblé du runtime Functions.Indicates the targeted language of the Functions runtime. Obligatoire pour la version 2.x et ultérieure du runtime Functions.Required for version 2.x and higher of the Functions runtime. Ce paramètre est généré pour votre projet par Core Tools.This setting is generated for your project by Core Tools. Pour plus d’informations, consultez les informations de référence sur FUNCTIONS_WORKER_RUNTIME.To learn more, see the FUNCTIONS_WORKER_RUNTIME reference.
FUNCTIONS_WORKER_RUNTIME_VERSION ~7 Indique que PowerShell 7 doit être utilisé lors d’une exécution locale.Indicates that PowerShell 7 be used when running locally. S’il n’est pas défini, PowerShell Core 6 est utilisé.If not set, then PowerShell Core 6 is used. Ce paramètre est utilisé seulement lors d’une exécution locale.This setting is only used when running locally. Lors d’une exécution dans Azure, la version du runtime PowerShell est déterminée par le paramètre de configuration du site powerShellVersion, qui peut être défini dans le portail.When running in Azure, the PowerShell runtime version is determined by the powerShellVersion site configuration setting, which can be set 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 à partir de la racine du projet pour télécharger la chaîne de connexion à partir d’Azure à l’aide d’une des commandes suivantes :Use Core Tools from the project root 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. Ces commandes remplacent les paramètres existants dans le fichier local.settings.json.These commands overwrite any existing settings in the local.settings.json file.

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 3.x/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 3.x/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 et versions ultérieures.) 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 and later versions.) 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 et les versions ultérieures, n’utilisez pas cette option ou choisissez un langage qui correspond au runtime worker.In version 2.x and later versions, 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. La commande de démarrage varie selon le langage de votre projet.The start command varies, depending on your project language.

func start --build

Notes

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. Non pris en charge pour la version 1.x.Not supported for version 1.x.
--cors-credentials Autoriser les demandes authentifiées cross-origin (autrement dit, les cookies et l’en-tête d’authentification). Non pris en charge pour la version 1.x.Allow cross-origin authenticated requests (i.e. cookies and the Authentication header) Not supported for version 1.x.
--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. Non pris en charge pour la version 1.x.Not supported for version 1.x.
--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. Non pris en charge pour la version 1.x.Not supported for version 1.x.
--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. Non pris en charge pour la version 1.x.Not supported for version 1.x.
--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, les Webhooks HTTP et les déclencheurs Event Grid, 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 and Event Grid triggers, 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.

Pour tester des fonctions Event Grid déclenchées localement, consultez Tests locaux avec une application web de visionneuse.To test Event Grid triggered functions locally, see Local testing with viewer web app.

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/QueueTrigger

Utilisation de la commande func run dans la (version 1.x uniquement)Using the func run command (version 1.x only)

Important

La commande func run est uniquement prise en charge dans la version 1.x des outils.The func run command is only supported in version 1.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.

Dans la version 1.x, vous pouvez également appeler une fonction directement à l’aide de func run <FunctionName> et fournir des données d’entrée pour la fonction.In version 1.x, 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.

Important

L’interface de ligne de commande Azure ou Azure PowerShell doit être installé localement pour que vous puissiez publier sur Azure à partir de Core Tools.You must have the Azure CLI or Azure PowerShell installed locally to be able to publish to Azure from Core Tools.

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éployer des fichiers de projetDeploy 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>

Important

Java utilise Maven pour publier votre projet local sur Azure.Java uses Maven to publish your local project to Azure. Utilisez la commande suivante pour publier sur Azure : mvn azure-functions:deploy.Use the following command to publish to Azure: mvn azure-functions:deploy. Les ressources Azure sont créées lors du déploiement initial.Azure resources are created during initial deployment.

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 ou d’Azure PowerShell, consultez Créer une application de fonction pour une exécution serverless.To learn how to create a function app from the command prompt or terminal window using the Azure CLI or Azure PowerShell, 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 3.x du runtime de Function.When you create a function app in the Azure portal, it uses version 3.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 à toutes les versions :The following publish options apply for all versions:

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 et les versions ultérieures :The following publish options are supported only for version 2.x and later versions:

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 Le projet n’est pas généré lors de la publication.Project isn't built during publishing. Pour Python, pip install n’intervient pas.For Python, pip install isn't performed.
--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éployer un conteneur personnaliséDeploy 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. Pour en savoir plus, consultez Activer l'intégration d'Application Insights.To learn more, see Enable Application Insights integration.

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.

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>

Notes

Le streaming de journaux intégré n’est pas encore activé dans Core Tools pour les applications de fonction s’exécutant sur Linux dans le cadre d’un plan Consommation.Built-in log streaming isn't yet enabled in Core Tools for function apps running on Linux in a Consumption plan. Pour ces plans d’hébergement, vous devez utiliser Flux de métriques temps réel pour voir les journaux en quasi-temps réel.For these hosting plans, you instead need to use Live Metrics Stream to view the logs in near-real time.

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

Vous pouvez voir 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 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.