Créer votre première fonction à l’aide de Visual Studio CodeCreate your first function using Visual Studio Code

Azure Functions vous permet d’exécuter votre code dans un environnement sans serveur et sans avoir à créer une machine virtuelle ou à publier une application web au préalable.Azure Functions lets you execute your code in a serverless environment without having to first create a VM or publish a web application.

Dans cet article, vous allez apprendre à utiliser l’extension Extension Azure Functions pour Visual Studio Code pour créer et tester une fonction « hello world » sur votre ordinateur local à l’aide de Microsoft Visual Studio Code.In this article, you learn how to use the Azure Functions extension for Visual Studio Code to create and test a "hello world" function on your local computer using Microsoft Visual Studio Code. Vous allez ensuite publier le code de la fonction dans Azure à partir de Visual Studio Code.You then publish the function code to Azure from Visual Studio Code.

Code Azure Functions dans un projet Visual Studio

L’extension prend actuellement en charge les fonctions C#, JavaScript, Java et Python.The extension currently supports C#, JavaScript, Java, and Python functions. Les étapes décrites dans cet article et l’article qui suit sont valables uniquement pour les fonctions JavaScript et C#.The steps in this article and the article that follows support only JavaScript and C# functions. Pour savoir comment utiliser Visual Studio Code afin de créer et de publier des fonctions Python, voir Créer et déployer des fonctions Azure Functions serverless en Python avec Visual Studio Code.To learn how to use Visual Studio Code to create and publish Python functions, see Create and deploy serverless Azure Functions in Python with Visual Studio Code. Pour savoir comment utiliser Visual Studio Code pour créer et publier des fonctions PowerShell, consultez Créer votre première fonction PowerShell dans Azure.To learn how to use Visual Studio Code to create and publish PowerShell functions, see Create your first PowerShell function in Azure.

L’extension est actuellement en préversion.The extension is currently in preview. Pour plus d’informations, consultez la page d’extension Extension Azure Functions pour Visual Studio Code.To learn more, see the Azure Functions extension for Visual Studio Code extension page.

PrérequisPrerequisites

Pour suivre ce guide de démarrage rapide :To complete this quickstart:

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

Installer l’extension Azure FunctionsInstall the Azure Functions extension

Vous pouvez utiliser l’extension Azure Functions pour créer et tester des fonctions, et les déployer dans Azure.You can use the Azure Functions extension to create and test functions and deploy them to Azure.

  1. Dans Visual Studio Code, ouvrez Extensions, puis recherchez azure functions ou sélectionnez ce lien dans Visual Studio Code.In Visual Studio Code, open Extensions and search for azure functions, or select this link in Visual Studio Code.

  2. Sélectionnez Installer pour installer l’extension pour Visual Studio Code :Select Install to install the extension for Visual Studio Code:

    Installez l’extension pour Azure Functions

  3. Redémarrez Visual Studio Code, puis sélectionnez l’icône Azure dans la barre d’activités.Restart Visual Studio Code and select the Azure icon on the Activity bar. Vous devriez voir une zone Azure Functions dans la barre latérale.You should see an Azure Functions area in the Side Bar.

    Zone Azure Functions dans la barre latérale

Create your local project

In this section, you use Visual Studio Code to create a local Azure Functions project in your chosen language. Later in this article, you'll publish your function code to Azure.

  1. In Visual Studio Code, press F1 to open the command palette. In the command palette, search for and select Azure Functions: Create new project....

  2. Choose a directory location for your project workspace and choose Select.

    Notes

    These steps were designed to be completed outside of a workspace. In this case, do not select a project folder that is part of a workspace.

  3. Following the prompts, provide the following information for your desired language:

    Prompt Value Description
    Select a language for your function app project C# Create a local Functions project in C#.
    Select a version Azure Functions v2 You only see this option when the Core Tools aren't already installed. In this case, Core Tools are installed the first time you run the app. Select a template for your project's first function HTTP trigger Create an HTTP triggered function in the new function app.
    Provide a function name HttpTrigger Press Enter to use the default name.
    Provide a namespace My.Functions C# class libraries must have a namespace.
    Authorization level Function The function authorization level requires you to supply an access key when calling your function's HTTP endpoint. This makes it more difficult to access an unsecured endpoint. To learn more, see Authorization keys.
    Select how you would like to open your project Add to workspace Creates the function app in the current workspace.
    Prompt Value Description
    Select a language for your function app project JavaScript Create a local Node.js Functions project.
    Select a version Azure Functions v2 You only see this option when the Core Tools aren't already installed. In this case, Core Tools are installed the first time you run the app.
    Select a template for your project's first function HTTP trigger Create an HTTP triggered function in the new function app.
    Provide a function name HttpTrigger Press Enter to use the default name.
    Authorization level Function The function authorization level requires you to supply an access key when calling your function's HTTP endpoint. This makes it more difficult to access an unsecured endpoint. To learn more, see Authorization keys.
    Select how you would like to open your project Add to workspace Creates the function app in the current workspace.
    Prompt Value Description
    Select a language for your function app project TypeScript Create a local Node.js Functions project using TypeScript.
    Select a version Azure Functions v2 You only see this option when the Core Tools aren't already installed. In this case, Core Tools are installed the first time you run the app.
    Select a template for your project's first function HTTP trigger Create an HTTP triggered function in the new function app.
    Provide a function name HttpTrigger Press Enter to use the default name.
    Authorization level Function The function authorization level requires you to supply an access key when calling your function's HTTP endpoint. This makes it more difficult to access an unsecured endpoint. To learn more, see Authorization keys.
    Select how you would like to open your project Add to workspace Creates the function app in the current workspace.
    Prompt Value Description
    Select a language for your function app project PowerShell Create a local PowerShell Functions project.
    Select a version Azure Functions v2 You only see this option when the Core Tools aren't already installed. In this case, Core Tools are installed the first time you run the app.
    Select a template for your project's first function HTTP trigger Create an HTTP triggered function in the new function app.
    Provide a function name HttpTrigger Press Enter to use the default name.
    Authorization level Function The function authorization level requires you to supply an access key when calling your function's HTTP endpoint. This makes it more difficult to access an unsecured endpoint. To learn more, see Authorization keys.
    Select how you would like to open your project Add to workspace Creates the function app in the current workspace.
    Prompt Value Description
    Select a language for your function app project Python Create a local Python Functions project.
    Select a version Azure Functions v2 You only see this option when the Core Tools aren't already installed. In this case, Core Tools are installed the first time you run the app.
    Select a Python alias to create a virtual environment Python alias Choose the discovered alias of your installed version of Python 3.6 or 3.7. Your app runs in virtual environment based on this installation.
    Select a template for your project's first function HTTP trigger Create an HTTP triggered function in the new function app.
    Provide a function name HttpTrigger Press Enter to use the default name.
    Authorization level Function The function authorization level requires you to supply an access key when calling your function's HTTP endpoint. This makes it more difficult to access an unsecured endpoint. To learn more, see Authorization keys.
    Select how you would like to open your project Add to workspace Creates the function app in the current workspace.

Visual Studio Code installs the Azure Functions Core Tools, if needed. It also creates a function app project in a new workspace. This project contains the host.json and local.settings.json configuration files. It also creates the following language-specific files.

An HttpTrigger.cs class library file that implements the function.

An HttpTrigger folder that contains the function.json definition file and the index.js file, a Node.js file that contains the function code.

A package.json file is also created in the root folder.

An HttpTrigger folder that contains the function.json definition file and the index.ts file, a TypeScript file that contains the function code.

A package.json file and a tsconfig.json file are also created in the root folder.

An HttpTrigger folder contains the function.json definition file and the run.ps1 file, which contains the function code.

The project-level requirements.txt file lists packages required by the function app.

An HttpTrigger folder contains the function.json definition file and the __init__.py file, which contains the function code.

Exécuter la fonction localementRun the function locally

Azure Functions Core Tools vous permet d’exécuter un projet Azure Functions sur votre ordinateur de développement local.Azure Functions Core Tools lets you run an Azure Functions project on your local development computer.

  1. Pour tester votre fonction, définissez un point d’arrêt dans le code de fonction et appuyez sur F5 pour démarrer le projet d’application de fonction.To test your function, set a breakpoint in the function code and press F5 to start the function app project. La sortie de Core Tools est affichée dans le panneau Terminal.Output from Core Tools is displayed in the Terminal panel.

  2. Dans le panneau Terminal, copiez le point de terminaison de l’URL de votre fonction déclenchée via HTTP.In the Terminal panel, copy the URL endpoint of your HTTP-triggered function.

    Sortie Azure locale

  3. Collez l’URL de la demande HTTP dans la barre d’adresses de votre navigateur.Paste the URL for the HTTP request into your browser's address bar. Ajoutez la chaîne de requête ?name=<yourname> à cette URL et exécutez la demande.Append the query string ?name=<yourname> to this URL and execute the request. L’exécution est suspendue lorsque le point d’arrêt est atteint.Execution is paused when the breakpoint is hit.

  4. Lorsque vous continuez l’exécution, la capture d’écran suivante du navigateur montre la réponse à la requête GET :When you continue the execution, the following shows the response in the browser to the GET request:

    Réponse de la fonction localhost dans le navigateur

  5. Pour arrêter le débogage, appuyez sur MAJ + F5.To stop debugging, press Shift + F5.

Après avoir vérifié que la fonction s’exécute correctement sur votre ordinateur local, il est temps de publier le projet sur Azure.After you've verified that the function runs correctly on your local computer, it's time to publish the project to Azure.

Connexion à AzureSign in to Azure

Avant de pouvoir publier votre application, vous devez vous connecter à Azure.Before you can publish your app, you must sign in to Azure.

  1. Dans la zone Azure : Fonctions, choisissez Se connecter à Azure... . Si vous ne l’avez pas encore fait, vous pouvez Créer un compte Azure gratuit.In the Azure: Functions area, choose Sign in to Azure.... If you don't already have one, you can Create a free Azure account.

    Réponse de la fonction localhost dans le navigateur

  2. Lorsque vous y êtes invité, sélectionnez Copier et ouvrir, ou copiez le code affiché et ouvrez https://aka.ms/devicelogin dans votre navigateur.When prompted, select Copy & Open, or copy the displayed code and open https://aka.ms/devicelogin in your browser.

  3. Collez le code copié dans la page Connexion à l’appareil, vérifiez la connexion à Visual Studio Code, puis sélectionnez Continuer.Paste the copied code in the Device Login page, verify the sign in for Visual Studio Code, then select Continue.

  4. Finalisez la connexion à l’aide des informations d’identification de votre compte Azure.Complete the sign in using your Azure account credentials. Une fois connecté, vous pouvez fermer le navigateur.After you have successfully signed in, you can close the browser.

Publication du projet sur AzurePublish the project to Azure

Visual Studio Code vous permet de publier votre projet de fonctions directement sur Azure.Visual Studio Code lets you publish your functions project directly to Azure. Pendant le processus, vous créez une application de fonction et les ressources associées dans votre abonnement Azure.In the process, you create a function app and related resources in your Azure subscription. L’application de fonction fournit un contexte d'exécution pour vos fonctions.The function app provides an execution context for your functions. Le projet est empaqueté et déployé sur la nouvelle application de fonction dans votre abonnement Azure.The project is packaged and deployed to the new function app in your Azure subscription.

Par défaut, Visual Studio Code crée toutes les ressources Azure nécessaires pour créer votre application de fonction.By default, Visual Studio Code creates all of the Azure resources required to create your function app. Les noms de ces ressources sont basés sur le nom d’application de fonction que vous choisissez.The names of these resources are based on the function app name you choose. Si vous souhaitez avoir un contrôle total sur les ressources créées, vous pouvez à la place Publier à l’aide des options avancées.If you need to have full control of the created resources, you can instead publish using advanced options.

Cette section suppose que vous créez une nouvelle application de fonction dans Azure.This section assumes that you are creating a new function app in Azure.

Important

La publication sur une application de fonction existante remplace le contenu de cette application dans Azure.Publishing to an existing function app overwrites the content of that app in Azure.

  1. Dans Visual Studio Code, appuyez sur F1 pour ouvrir la palette de commandes.In Visual Studio Code, press F1 to open the command palette. Dans la palette de commandes, recherchez et sélectionnez Azure Functions: Deploy to function app....In the command palette, search for and select Azure Functions: Deploy to function app....

  2. Si ce n'est déjà fait, vous êtes invité à vous connecter à Azure.If not signed-in, you are prompted to Sign in to Azure. Vous pouvez également créer un compte Azure gratuit.You can also Create a free Azure account. Une fois la connexion établie à partir du navigateur, revenez à Visual Studio Code.After successful sign in from the browser, go back to Visual Studio Code.

  3. Si vous disposez de plusieurs abonnements, sélectionnez un abonnement pour l'application de fonction, puis choisissez + Créer une nouvelle application de fonction dans Azure.If you have multiple subscriptions, Select a subscription for the function app, then choose + Create New Function App in Azure.

  4. Tapez un nom global unique qui identifie votre application de fonction et appuyez sur Entrée.Type a globally unique name that identifies your function app and press Enter. Les caractères valides pour un nom d’application de fonction sont a-z, 0-9 et -.Valid characters for a function app name are a-z, 0-9, and -.

    Lorsque vous appuyez sur Entrée, les ressources Azure suivantes sont créées dans votre abonnement :When you press Enter, the following Azure resources are created in your subscription:

    • Groupe de ressources  : contient toutes les ressources Azure créées.Resource group: Contains all of the created Azure resources. Le nom est basé sur le nom de votre application de fonction.The name is based on your function app name.
    • Compte de stockage  : un compte de stockage standard est créé avec un nom unique, basé sur le nom de votre application de fonction.Storage account: A standard Storage account is created with a unique name that is based on your function app name.
    • Plan d'hébergement  : un plan de consommation est créé dans la région USA Ouest pour héberger votre application de fonction serverless.Hosting plan: A consumption plan is created in the West US region to host your serverless function app.
    • Application de fonction : votre projet est déployé dans cette nouvelle application de fonction avant d'y être exécuté.Function app: Your project is deployed to and runs in this new function app.

    Une notification s’affiche après que votre application de fonction a été créée et que le package de déploiement a été appliqué.A notification is displayed after your function app is created and the deployment package is applied. Sélectionnez Afficher la sortie de dans cette notification pour afficher les résultats de la création et du déploiement, y compris les ressources Azure que vous avez créées.Select View Output in this notification to view the creation and deployment results, including the Azure resources that you created.

  5. Dans la zone Azure : Fonctions, développez la nouvelle application de fonction sous votre abonnement.Back in the Azure: Functions area, expand the new function app under your subscription. Développez Fonctions, cliquez avec le bouton droit sur HttpTrigger, puis choisissez Copier l'URL de fonction.Expand Functions, right-click HttpTrigger, and then choose Copy function URL.

    Copier l'URL de fonction du nouveau déclencheur HTTP

Exécuter la fonction dans AzureRun the function in Azure

  1. Copiez l’URL du déclencheur HTTP à partir du panneau Sortie.Copy the URL of the HTTP trigger from the Output panel. Cette URL inclut la clé de la fonction, qui est passée au paramètre de requête code.This URL includes the function key, which is passed to the code query parameter. Comme auparavant, veillez à ajouter la chaîne de requête ?name=<yourname> à la fin de cette URL et exécutez la requête.As before, make sure to add the query string ?name=<yourname> to the end of this URL and execute the request.

    L’URL qui appelle la fonction déclenchée via HTTP doit être au format suivant :The URL that calls your HTTP-triggered function should be in the following format:

     http://<functionappname>.azurewebsites.net/api/<functionname>?code=<function_key>&name=<yourname> 
    
  2. Collez cette nouvelle URL de requête HTTP dans la barre d’adresse de votre navigateur.Paste this new URL for the HTTP request into your browser's address bar. La capture d’écran suivante du navigateur montre la requête renvoyée par la fonction suite à la demande distante GET :The following shows the response in the browser to the remote GET request returned by the function:

    Réponse de la fonction dans le navigateur

Étapes suivantesNext steps

Vous avez utilisé Visual Studio Code pour créer une application de fonction à l’aide d’une fonction HTTP simple déclenchée via HTTP.You have used Visual Studio Code to create a function app with a simple HTTP-triggered function. Dans le prochain article, vous développez cette fonction en ajoutant une liaison de sortie.In the next article, you expand that function by adding an output binding. Cette liaison écrit la chaîne de la requête HTTP dans un message dans une file d’attente de Stockage File d’attente Azure.This binding writes the string from the HTTP request to a message in an Azure Queue Storage queue. L’article suivant vous montre également comment nettoyer ces nouvelles ressources Azure en supprimant le groupe de ressources que vous avez créé.The next article also shows you how to clean up these new Azure resources by removing the resource group you created.