Créer votre première fonction durable dans C#Create your first durable function in C#

Durable Functions est une extension d’Azure Functions qui vous permet d’écrire des fonctions avec état dans un environnement serverless.Durable Functions is an extension of Azure Functions that lets you write stateful functions in a serverless environment. L’extension gère l’état, les points de contrôle et les redémarrages à votre place.The extension manages state, checkpoints, and restarts for you.

Cet article explique comment utiliser Visual Studio Code pour créer et tester en local une fonction durable « Hello world ».In this article, you learn how to use Visual Studio Code to locally create and test a "hello world" durable function. Cette fonction orchestre et chaîne des appels à d’autres fonctions.This function orchestrates and chains-together calls to other functions. Vous allez ensuite publier le code de la fonction dans Azure.You then publish the function code to Azure. Ces outils sont disponibles dans le cadre de l’extension Azure Functions de VS Code.These tools are available as part of the VS Code Azure Functions extension.

La capture d’écran montre une fenêtre Visual Studio Code avec une fonction durable.

PrérequisPrerequisites

Pour suivre ce tutoriel :To complete this tutorial:

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.

Créer votre projet localCreate your local project

Dans cette section, vous utilisez Visual Studio Code pour créer un projet Azure Functions local.In this section, you use Visual Studio Code to create a local Azure Functions project.

  1. Dans Visual Studio Code, appuyez sur F1 (ou Ctrl/Cmd+Maj+P) pour ouvrir la palette de commandes.In Visual Studio Code, press F1 (or Ctrl/Cmd+Shift+P) to open the command palette. Dans la palette de commandes, recherchez et sélectionnez Azure Functions: Create New Project....In the command palette, search for and select Azure Functions: Create New Project....

    Créer un projet Function

  2. Désignez un emplacement de dossier vide pour votre projet et choisissez Sélectionner.Choose an empty folder location for your project and choose Select.

  3. Suivez les invites et fournissez les informations suivantes :Following the prompts, provide the following information:

    PromptPrompt ValeurValue DescriptionDescription
    Sélectionner un langage pour votre projet d’application de fonctionSelect a language for your function app project C#C# Créez un projet de fonctions C# local.Create a local C# Functions project.
    Sélectionner une versionSelect a version Azure Functions v3Azure Functions v3 Vous voyez cette option uniquement quand les outils Core Tools ne sont pas déjà installés.You only see this option when the Core Tools aren't already installed. Dans le cas présent, les outils Core Tools sont installés la première fois que vous exécutez l’application.In this case, Core Tools are installed the first time you run the app.
    Sélectionner un modèle pour la première fonction de votre projetSelect a template for your project's first function Ignorer pour le momentSkip for now
    Sélectionner la façon dont vous souhaitez ouvrir votre projetSelect how you would like to open your project Ouvrir dans la fenêtre activeOpen in current window Ouvre à nouveau VS Code dans le dossier que vous avez sélectionné.Reopens VS Code in the folder you selected.

Visual Studio Code installe la solution Azure Functions Core Tools, si nécessaire.Visual Studio Code installs the Azure Functions Core Tools, if needed. Il crée également un projet d’application de fonction dans un dossier.It also creates a function app project in a folder. Ce projet contient les fichiers config host.json et local.settings.json.This project contains the host.json and local.settings.json configuration files.

Ajouter des fonctions à l’applicationAdd functions to the app

Les étapes suivantes utilisent un modèle pour créer le code de fonction durable dans votre projet.The following steps use a template to create the durable function code in your project.

  1. Dans la palette de commandes, recherchez et sélectionnez Azure Functions: Create Function....In the command palette, search for and select Azure Functions: Create Function....

  2. Suivez les invites et fournissez les informations suivantes :Following the prompts, provide the following information:

    PromptPrompt ValeurValue DescriptionDescription
    Sélectionner un modèle pour votre fonctionSelect a template for your function DurableFunctionsOrchestrationDurableFunctionsOrchestration Créer une orchestration Durable FunctionsCreate a Durable Functions orchestration
    Fournir un nom de fonctionProvide a function name HelloOrchestrationHelloOrchestration Nom de la classe dans laquelle les fonctions sont crééesName of the class in which functions are created
    Fournir un espace de nomsProvide a namespace Company.FunctionCompany.Function Espace de noms de la classe généréeNamespace for the generated class
  3. Lorsque VS Code vous invite à sélectionner un compte de stockage, choisissez Sélectionner un compte de stockage.When VS Code prompts you to select a storage account, choose Select storage account. En suivant les invites, fournissez les informations suivantes pour créer un compte de stockage dans Azure.Following the prompts, provide the following information to create a new storage account in Azure.

    PromptPrompt ValeurValue DescriptionDescription
    Sélectionner un abonnementSelect subscription nom de votre abonnementname of your subscription Sélectionner votre abonnement AzureSelect your Azure subscription
    Sélectionner un compte de stockageSelect a storage account Création d’un nouveau compte de stockageCreate a new storage account
    Entrer le nom du nouveau compte de stockageEnter the name of the new storage account nom uniqueunique name Nom du compte de stockage à créerName of the storage account to create
    Sélectionner un groupe de ressourcesSelect a resource group nom uniqueunique name Nom du groupe de ressources à créerName of the resource group to create
    Sélectionner un emplacementSelect a location regionregion Sélectionner une région proche de vousSelect a region close to you

Une classe contenant les nouvelles fonctions est ajoutée au projet.A class containing the new functions is added to the project. VS Code ajoute également la chaîne de connexion du compte de stockage à local.settings.json, et une référence au package NuGet Microsoft.Azure.WebJobs.Extensions.DurableTask dans le fichier de projet .csproj.VS Code also adds the storage account connection string to local.settings.json and a reference to the Microsoft.Azure.WebJobs.Extensions.DurableTask NuGet package to the .csproj project file.

Ouvrez le nouveau fichier HelloOrchestration.cs pour afficher le contenu.Open the new HelloOrchestration.cs file to view the contents. Cette fonction durable est un exemple de chaînage de fonctions simple avec les méthodes suivantes :This durable function is a simple function chaining example with the following methods:

MéthodeMethod FunctionNameFunctionName DescriptionDescription
RunOrchestrator HelloOrchestration Gère l’orchestration durable.Manages the durable orchestration. Dans ce cas, l’orchestration démarre, crée une liste et ajoute le résultat des trois appels de fonctions à la liste.In this case, the orchestration starts, creates a list, and adds the result of three functions calls to the list. À la fin des trois appels de fonctions, elle retourne la liste.When the three function calls are complete, it returns the list.
SayHello HelloOrchestration_Hello La fonction retourne « hello ».The function returns a hello. Cette fonction contient la logique métier actuellement orchestrée.It is the function that contains the business logic that is being orchestrated.
HttpStart HelloOrchestration_HttpStart Fonction déclenchée par HTTP qui démarre une instance de l’orchestration et retourne une réponse d’état de vérification.An HTTP-triggered function that starts an instance of the orchestration and returns a check status response.

Maintenant que vous avez créé un projet de fonction et une fonction durable, vous pouvez tester la fonction sur votre ordinateur local.Now that you've created your function project and a durable function, you can test it on your local computer.

Tester la fonction en localTest 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. Vous êtes invité à installer ces outils la première fois que vous démarrez une fonction dans Visual Studio Code.You're prompted to install these tools the first time you start a function from Visual Studio Code.

  1. Pour tester votre fonction, définissez un point d’arrêt dans le code de la fonction d’activité SayHello et appuyez sur F5 pour démarrer le projet d’application de fonction.To test your function, set a breakpoint in the SayHello activity 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.

    Notes

    Pour plus d’informations sur le débogage, consultez Diagnostics Durable Functions.Refer to the Durable Functions Diagnostics for more information on debugging.

  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. À l’aide d’un outil tel que Postman ou cURL, envoyez une requête HTTP POST au point de terminaison de l’URL.Using a tool like Postman or cURL, send an HTTP POST request to the URL endpoint.

    La réponse est le résultat initial de la fonction HTTP, qui nous indique que l’orchestration durable a bien été démarrée.The response is the initial result from the HTTP function letting us know the durable orchestration has started successfully. Il ne s’agit pas encore du résultat final de l’orchestration.It is not yet the end result of the orchestration. La réponse contient plusieurs URL utiles.The response includes a few useful URLs. Pour le moment, demandons l’état de l’orchestration.For now, let's query the status of the orchestration.

  4. Copiez la valeur de l’URL pour statusQueryGetUri, collez-la dans la barre d’adresse du navigateur, puis exécutez la requête.Copy the URL value for statusQueryGetUri and paste it in the browser's address bar and execute the request. Vous pouvez également continuer à utiliser Postman pour envoyer la requête GET.Alternatively you can also continue to use Postman to issue the GET request.

    La requête interroge l’instance d’orchestration pour obtenir l’état.The request will query the orchestration instance for the status. Une fois l’exécution de l’instance terminée, vous devez recevoir une réponse comprenant les sorties ou résultats de la fonction durable.You should get an eventual response, which shows us the instance has completed, and includes the outputs or results of the durable function. Voici comment il se présente :It looks like:

    {
        "name": "HelloOrchestration",
        "instanceId": "9a528a9e926f4b46b7d3deaa134b7e8a",
        "runtimeStatus": "Completed",
        "input": null,
        "customStatus": null,
        "output": [
            "Hello Tokyo!",
            "Hello Seattle!",
            "Hello London!"
        ],
        "createdTime": "2020-03-18T21:54:49Z",
        "lastUpdatedTime": "2020-03-18T21:54:54Z"
    }
    
  5. Pour arrêter le débogage, appuyez sur Maj + F5 dans VS Code.To stop debugging, press Shift + F5 in VS Code.

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. Si vous n’êtes pas déjà connecté, choisissez l’icône Azure dans la barre d’activité, puis 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 .If you aren't already signed in, choose the Azure icon in the Activity bar, then in the Azure: Functions area, choose Sign in to Azure.... If you don't already have one, you can Create a free Azure account. Les étudiants peuvent créer un compte gratuit Azure pour Étudiant .Students can create a free Azure account for Students.

    Se connecter à Azure dans VS Code

    Si vous êtes déjà connecté, passez à la section suivante.If you're already signed in, go to the next section.

  2. Quand vous y êtes invité dans le navigateur, choisissez votre compte Azure, puis connectez-vous à l’aide de vos informations d’identification de compte Azure.When prompted in the browser, choose your Azure account and sign in using your Azure account credentials.

  3. Une fois la connexion réussie, vous pouvez fermer la nouvelle fenêtre de navigateur.After you've successfully signed in, you can close the new browser window. Les abonnements qui font partie de votre compte Azure sont affichés dans la barre latérale.The subscriptions that belong to your Azure account are displayed in the Side bar.

Publication du projet sur AzurePublish the project to Azure

Dans cette section, vous créez une application de fonction et les ressources associées dans votre abonnement Azure, puis vous déployez votre code.In this section, you create a function app and related resources in your Azure subscription and then deploy your code.

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. Choisissez l’icône Azure dans la barre d’activité, puis dans la zone Azure : Fonctions, choisissez le bouton Déployer sur une application de fonction.Choose the Azure icon in the Activity bar, then in the Azure: Functions area, choose the Deploy to function app... button.

    Publier votre projet sur Azure

  2. Quand vous y êtes invité, indiquez les informations suivantes :Provide the following information at the prompts:

    • Sélectionnez le dossier : choisissez un dossier dans votre espace de travail ou accédez à un dossier qui contient votre application de fonction.Select folder: Choose a folder from your workspace or browse to one that contains your function app. Vous ne verrez pas ceci si vous avez déjà ouvert une application de fonction valide.You won't see this if you already have a valid function app opened.

    • Sélectionnez l’abonnement : choisissez l’abonnement à utiliser.Select subscription: Choose the subscription to use. Vous ne verrez pas ceci si vous n’avez qu’un seul abonnement.You won't see this if you only have one subscription.

    • Sélectionnez une application de fonction dans Azure : Choisissez - Create new Function App.Select Function App in Azure: Choose - Create new Function App. (Ne choisissez pas l’option Advanced, qui n’est pas abordée dans cet article.)(Don't choose the Advanced option, which isn't covered in this article.)

    • Entrer un nom global unique pour l’application de fonction : Tapez un nom valide dans un chemin d’URL.Enter a globally unique name for the function app: Type a name that is valid in a URL path. Le système vérifie que le nom que vous tapez est unique dans Azure Functions.The name you type is validated to make sure that it's unique in Azure Functions.

    • Sélectionnez un emplacement pour les nouvelles ressources : Pour de meilleures performances, choisissez une région proche de vous.Select a location for new resources: For better performance, choose a region near you.

    L’extension montre l’état des ressources individuelles au fur et à mesure de leur création dans Azure, au sein de la zone de notification.The extension shows the status of individual resources as they are being created in Azure in the notification area.

    Notification de création de ressources Azure

  3. Quand vous avez terminé, les ressources Azure suivantes sont créées dans votre abonnement et leurs noms reposent sur le nom de votre application de fonction :When completed, the following Azure resources are created in your subscription, using names based on your function app name:

    • Un groupe de ressources, qui est un conteneur logique pour les ressources associées.A resource group, which is a logical container for related resources.
    • Un compte Stockage Azure standard, qui conserve l’état et d’autres informations spécifiques à vos projets.A standard Azure Storage account, which maintains state and other information about your projects.
    • Un plan de consommation, qui définit l’hôte sous-jacent pour votre application de fonction serverless.A consumption plan, which defines the underlying host for your serverless function app.
    • Une application de fonction, qui fournit l’environnement d’exécution de votre code de fonction.A function app, which provides the environment for executing your function code. Une application de fonction vous permet de regrouper des fonctions en une unité logique pour faciliter la gestion, le déploiement et le partage des ressources au sein du même plan d’hébergement.A function app lets you group functions as a logical unit for easier management, deployment, and sharing of resources within the same hosting plan.
    • Une instance Application Insights connectée à l’application de fonction, qui effectue le suivi de l’utilisation de votre fonction serverless.An Application Insights instance connected to the function app, which tracks usage of your serverless function.

    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.

    Conseil

    Par défaut, les ressources Azure nécessaires à votre application de fonction sont créées d’après le nom d’application de fonction que vous indiquez.By default, the Azure resources required by your function app are created based on the function app name you provide. Par défaut, elles sont également créées dans le même nouveau groupe de ressources avec l’application de fonction.By default, they are also created in the same new resource group with the function app. Si vous souhaitez personnaliser les noms de ces ressources ou réutiliser des ressources existantes, vous devez plutôt publier le projet à l’aide des options de création avancées.If you want to either customize the names of these resources or reuse existing resources, you need to instead publish the project with advanced create options.

  4. 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. Si vous manquez la notification, sélectionnez l’icône de cloche dans le coin inférieur droit pour la voir de nouveau.If you miss the notification, select the bell icon in the lower right corner to see it again.

    Créer une notification de fin

Tester votre fonction dans AzureTest your 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. 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:

    https://<functionappname>.azurewebsites.net/api/HelloOrchestration_HttpStart

  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. Vous devez obtenir la même réponse d’état que lorsque vous avez utilisé l’application publiée.You should get the same status response as before when using the published app.

Étapes suivantesNext steps

Vous avez utilisé Visual Studio Code pour créer et publier une application de fonction durable C#.You have used Visual Studio Code to create and publish a C# durable function app.

Cet article explique comment utiliser Visual Studio 2019 pour créer et tester en local une fonction durable « Hello World ».In this article, you learn how to use Visual Studio 2019 to locally create and test a "hello world" durable function. Cette fonction orchestre et chaîne des appels à d’autres fonctions.This function orchestrates and chains-together calls to other functions. Vous allez ensuite publier le code de la fonction dans Azure.You then publish the function code to Azure. Ces outils sont disponibles dans le cadre de la charge de travail de développement Azure dans Visual Studio 2019.These tools are available as part of the Azure development workload in Visual Studio 2019.

La capture d’écran montre une fenêtre Visual Studio 2019 avec une fonction durable.

PrérequisPrerequisites

Pour suivre ce tutoriel :To complete this tutorial:

  • Installez Visual Studio 2019.Install Visual Studio 2019. Vérifiez que la charge de travail de développement Azure est également installée.Make sure that the Azure development workload is also installed. Visual Studio 2017 prend également en charge le développement de fonctions durables, mais l’interface utilisateur et les étapes diffèrent.Visual Studio 2017 also supports Durable Functions development, but the UI and steps differ.

  • Vérifiez que l’émulateur de stockage Azure est installé et démarré.Verify you have the Azure Storage Emulator installed and running.

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.

Créer un projet d’application de fonctionCreate a function app project

Le modèle Azure Functions crée un projet qui peut être publié dans une application de fonction dans Azure.The Azure Functions template creates a project that can be published to a function app in Azure. Une application de fonctions vous permet de regrouper des fonctions en une unité logique pour faciliter la gestion, le déploiement et le partage des ressources.A function app lets you group functions as a logical unit for easier management, deployment, scaling, and sharing of resources.

  1. Dans Visual Studio, sélectionnez Nouveau > Projet dans le menu Fichier.In Visual Studio, select New > Project from the File menu.

  2. Dans la boîte de dialogue Créer un projet, recherchez functions, choisissez le modèle Azure Functions, puis sélectionnez Suivant.In the Create a new project dialog, search for functions, choose the Azure Functions template, and select Next.

    Boîte de dialogue Nouveau projet pour créer une fonction dans Visual Studio

  3. Entrez un Nom du projet, puis sélectionnez OK.Type a Project name for your project, and select OK. Le nom de projet devant être valide en tant qu’espace de noms C#, n’utilisez ni traits d’union, ni traits de soulignement, ni aucun autre caractère non alphanumérique.The project name must be valid as a C# namespace, so don't use underscores, hyphens, or any other nonalphanumeric characters.

  4. Dans Créer une application Azure Functions, utilisez les paramètres spécifiés dans le tableau sous l’image.In Create a new Azure Functions Application, use the settings specified in the table that follows the image.

    Boîte de dialogue Créer une application Azure Functions dans Visual Studio

    ParamètreSetting Valeur suggéréeSuggested value DescriptionDescription
    VersionVersion Azure Functions 3.0Azure Functions 3.0
    (.NET Core)(.NET Core)
    Crée un projet de fonction qui utilise le Runtime Azure Functions version 3.0 prenant en charge .NET Core 3.1.Creates a function project that uses the version 3.0 runtime of Azure Functions, which supports .NET Core 3.1. Pour plus d’informations, consultez Guide pratique pour cibler la version du runtime Azure Functions.For more information, see How to target Azure Functions runtime version.
    ModèleTemplate VideEmpty Crée une application de fonction vide.Creates an empty function app.
    Compte de stockageStorage account Émulateur de stockageStorage Emulator Un compte de stockage est nécessaire pour la gestion des états de fonction durable.A storage account is required for durable function state management.
  5. Sélectionnez Créer pour créer un projet de fonction vide.Select Create to create an empty function project. Ce projet contient les fichiers de configuration de base nécessaires à l’exécution de vos fonctions.This project has the basic configuration files needed to run your functions.

Ajouter des fonctions à l’applicationAdd functions to the app

Les étapes suivantes utilisent un modèle pour créer le code de fonction durable dans votre projet.The following steps use a template to create the durable function code in your project.

  1. Cliquez avec le bouton droit sur le projet dans Visual Studio et sélectionnez Ajouter > Nouvelle fonction Azure.Right-click the project in Visual Studio and select Add > New Azure Function.

    Ajouter une nouvelle fonction

  2. Vérifiez qu’Azure Function est sélectionné dans le menu Ajouter, tapez un nom pour votre fichier C#, puis sélectionnez Ajouter.Verify Azure Function is selected from the add menu, type a name for your C# file, and then select Add.

  3. Sélectionnez le modèle Orchestration Durable Functions, puis sélectionnez OK.Select the Durable Functions Orchestration template and then select Ok

    Sélectionner un modèle durable

Une nouvelle fonction durable est ajoutée à l’application.A new durable function is added to the app. Ouvrez le nouveau fichier .cs pour afficher le contenu.Open the new .cs file to view the contents. Cette fonction durable est un exemple de chaînage de fonctions simple avec les méthodes suivantes :This durable function is a simple function chaining example with the following methods:

MéthodeMethod FunctionNameFunctionName DescriptionDescription
RunOrchestrator <file-name> Gère l’orchestration durable.Manages the durable orchestration. Dans ce cas, l’orchestration démarre, crée une liste et ajoute le résultat des trois appels de fonctions à la liste.In this case, the orchestration starts, creates a list, and adds the result of three functions calls to the list. À la fin des trois appels de fonctions, elle retourne la liste.When the three function calls are complete, it returns the list.
SayHello <file-name>_Hello La fonction retourne « hello ».The function returns a hello. Cette fonction contient la logique métier actuellement orchestrée.It is the function that contains the business logic that is being orchestrated.
HttpStart <file-name>_HttpStart Fonction déclenchée par HTTP qui démarre une instance de l’orchestration et retourne une réponse d’état de vérification.An HTTP-triggered function that starts an instance of the orchestration and returns a check status response.

Maintenant que vous avez créé un projet de fonction et une fonction durable, vous pouvez tester la fonction sur votre ordinateur local.Now that you've created your function project and a durable function, you can test it on your local computer.

Tester la fonction en localTest 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. Vous êtes invité à installer ces outils la première fois que vous démarrez une fonction dans Visual Studio.You are prompted to install these tools the first time you start a function from Visual Studio.

  1. Pour tester votre fonction, appuyez sur F5.To test your function, press F5. Si vous y êtes invité, acceptez la requête dans Visual Studio pour télécharger et installer Azure Functions Core (CLI) Tools.If prompted, accept the request from Visual Studio to download and install Azure Functions Core (CLI) tools. Vous devrez peut-être activer une exception de pare-feu afin de permettre aux outils de prendre en charge les requêtes HTTP.You may also need to enable a firewall exception so that the tools can handle HTTP requests.

  2. Copiez l’URL de votre fonction à partir de la sortie runtime Azure Functions.Copy the URL of your function from the Azure Functions runtime output.

    Azure runtime local

  3. Collez l’URL de la requête HTTP dans la barre d’adresse de votre navigateur et exécutez la requête.Paste the URL for the HTTP request into your browser's address bar and execute the request. La capture d’écran suivante du navigateur montre la requête renvoyée par la fonction suite à la demande locale GET :The following shows the response in the browser to the local GET request returned by the function:

    La capture d’écran montre une fenêtre de navigateur avec statusQueryGetUri appelé.

    La réponse est le résultat initial de la fonction HTTP, qui nous indique que l’orchestration durable a bien été démarrée.The response is the initial result from the HTTP function letting us know the durable orchestration has started successfully. Il ne s’agit pas encore du résultat final de l’orchestration.It is not yet the end result of the orchestration. La réponse contient plusieurs URL utiles.The response includes a few useful URLs. Pour le moment, demandons l’état de l’orchestration.For now, let's query the status of the orchestration.

  4. Copiez la valeur de l’URL pour statusQueryGetUri et collez-la dans la barre d’adresse du navigateur, puis exécutez la requête.Copy the URL value for statusQueryGetUri and pasting it in the browser's address bar and execute the request.

    La requête interroge l’instance d’orchestration pour obtenir l’état.The request will query the orchestration instance for the status. Vous obtenez une réponse éventuelle qui ressemble à l’exemple ci-dessous.You should get an eventual response that looks like the following. Cette sortie nous indique que l’instance est terminée. Elle contient les sorties ou résultats de la fonction durable.This output shows us the instance has completed, and includes the outputs or results of the durable function.

    {
        "instanceId": "d495cb0ac10d4e13b22729c37e335190",
        "runtimeStatus": "Completed",
        "input": null,
        "customStatus": null,
        "output": [
            "Hello Tokyo!",
            "Hello Seattle!",
            "Hello London!"
        ],
        "createdTime": "2019-11-02T07:07:40Z",
        "lastUpdatedTime": "2019-11-02T07:07:52Z"
    }
    
  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 have verified that the function runs correctly on your local computer, it's time to publish the project to Azure.

Publication du projet sur AzurePublish the project to Azure

Vous devez disposer d’une application de fonction dans votre abonnement Azure avant de pouvoir publier votre projet.You must have a function app in your Azure subscription before you can publish your project. Vous pouvez créer une application de fonction directement à partir de Visual Studio.You can create a function app right from Visual Studio.

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet et sélectionnez Publier puis, dans Cible, sélectionnez Azure, puis Suivant.In Solution Explorer, right-click the project and select Publish and in Target, select Azure then Next.

  2. Pour Cible spécifique, choisissez Application de fonction Azure (Windows) , qui crée une application de fonction s’exécutant sur Windows.For the Specific target, choose Azure Function App (Windows), which creates a function app that runs on Windows.

  3. Dans Instance de la fonction, choisissez Créer une application Azure Function...In Function Instance, choose Create a new Azure Function...

    Créer une instance d’application de fonction

  4. Créez une instance en utilisant les valeurs spécifiées dans le tableau suivant :Create a new instance using the values specified in the following table:

    ParamètreSetting ValeurValue DescriptionDescription
    NomName Nom globalement uniqueGlobally unique name Nom qui identifie uniquement votre nouvelle application de fonction.Name that uniquely identifies your new function app. Acceptez ce nom ou entrez un nouveau nom.Accept this name or enter a new name. Les caractères valides sont a-z, 0-9 et -.Valid characters are: a-z, 0-9, and -.
    AbonnementSubscription Votre abonnementYour subscription Sélectionnez l’abonnement Azure à utiliser.The Azure subscription to use. Acceptez cet abonnement ou sélectionnez-en un nouveau dans la liste déroulante.Accept this subscription or select a new one from the drop-down list.
    Groupe de ressourcesResource group Nom de votre groupe de ressourcesName of your resource group Groupe de ressources dans lequel créer votre application de fonction.The resource group in which to create your function app. Sélectionnez un groupe de ressources existant dans la liste déroulante, ou choisissez Créer pour créer un groupe de ressources.Select an existing resource group from the drop-down list or choose New to create a new resource group.
    Type de planPlan Type ConsommationConsumption Quand vous publiez votre projet dans une application de fonction qui s’exécute dans un Plan Consommation, vous payez uniquement pour les exécutions de votre application de fonction.When you publish your project to a function app that runs in a Consumption plan, you pay only for executions of your functions app. D’autres plans d’hébergement occasionnent des coûts plus élevés.Other hosting plans incur higher costs.
    LieuLocation Emplacement du service d’applicationLocation of the app service Choisissez un Emplacement dans une région proche de chez vous, ou proche d’autres services auxquels vos fonctions ont accès.Choose a Location in a region near you or other services your functions access.
    Stockage AzureAzure Storage Compte de stockage à usage généralGeneral-purpose storage account Le runtime Functions exige un compte Stockage Azure.An Azure Storage account is required by the Functions runtime. Sélectionnez Nouveau pour configurer un compte de stockage universel.Select New to configure a general-purpose storage account. Vous pouvez également choisir un compte existant qui répond aux exigences relatives aux comptes de stockage.You can also choose an existing account that meets the storage account requirements.

    Boîte de dialogue Créer App Service

  5. Sélectionnez Créer pour créer une application de fonction et les ressources associées dans Azure.Select Create to create a function app and its related resources in Azure. L’état de la création des ressources est affiché en bas à gauche de la fenêtre.Status of resource creation is shown in the lower left of the window.

  6. De retour dans Instance de fonction, vérifiez que Exécuter à partir du fichier de package est coché.Back in Functions instance, make sure that Run from package file is checked. Votre application de fonction est déployée en utilisant Zip Deploy avec le mode Exécuter à partir du fichier de package activé.Your function app is deployed using Zip Deploy with Run-From-Package mode enabled. Il s’agit de la méthode de déploiement recommandée pour votre projet fonctions, car elle offre de meilleures performances.This is the recommended deployment method for your functions project, since it results in better performance.

    Terminer la création du profil

  7. Sélectionnez Terminer, puis dans la page Publier, sélectionnez Publier pour déployer le package contenant vos fichiers projet dans votre nouvelle application de fonction dans Azure.Select Finish, and on the Publish page, select Publish to deploy the package containing your project files to your new function app in Azure.

    Une fois le déploiement terminé, l’URL racine de l’application de fonction dans Azure est affichée sous l’onglet Publier.After the deployment completes the root URL of the function app in Azure is shown in the Publish tab.

  8. Sous l’onglet Publier, choisissez Gérer dans Cloud Explorer.In the Publish tab, choose Manage in Cloud Explorer. La nouvelle ressource Azure d’application de fonction est alors ouverte dans Cloud Explorer.This opens the new function app Azure resource in Cloud Explorer.

    Publier un message de réussite

    Cloud Explorer vous permet d’utiliser Visual Studio pour afficher le contenu du site, démarrer et arrêter l’application de fonction, et accéder directement aux ressources de l’application de fonction sur Azure et dans le portail Azure.Cloud Explorer lets you use Visual Studio to view the contents of the site, start and stop the function app, and browse directly to function app resources on Azure and in the Azure portal.

Tester votre fonction dans AzureTest your function in Azure

  1. Copiez l’URL de base de l’application de fonction à partir de la page de profil de publication.Copy the base URL of the function app from the Publish profile page. Remplacez la partie localhost:port de l’URL que vous avez utilisée lors du test en local de la fonction par la nouvelle URL de base.Replace the localhost:port portion of the URL you used when testing the function locally with the new base URL.

    L’URL qui appelle le déclencheur HTTP de la fonction durable doit être au format suivant :The URL that calls your durable function HTTP trigger should be in the following format:

    https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>_HttpStart

  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. Vous devez obtenir la même réponse d’état que lorsque vous avez utilisé l’application publiée.You should get the same status response as before when using the published app.

Étapes suivantesNext steps

Vous avez utilisé Visual Studio pour créer et publier une application de fonction durable C#.You have used Visual Studio to create and publish a C# durable function app.