Uw eerste duurzame functie maken in JavaScriptCreate your first durable function in JavaScript

Durable Functions is een extensie van Azure Functions waarmee u stateful functies kunt schrijven in een serverloze omgeving.Durable Functions is an extension of Azure Functions that lets you write stateful functions in a serverless environment. Met de extensie worden status, controlepunten en het opnieuw opstarten voor u beheerd.The extension manages state, checkpoints, and restarts for you.

Notitie

Dit is een zelf studie voor Durable Functions 1. x.This is a tutorial for Durable Functions 1.x. Zie de documentatie voor Durable functions versies als u Durable functions 2. x wilt gebruiken.To use Durable Functions 2.x, see the Durable Functions versions documentation.

In dit artikel leert u hoe u de Azure Functions-extensie van Visual Studio Code kunt gebruiken om lokaal een duurzame ‘Hallo wereld’-functie te maken en te testen.In this article, you learn how to use the Visual Studio Code Azure Functions extension to locally create and test a "hello world" durable function. Met deze functie worden aanroepen naar andere functies ingedeeld en aan elkaar gekoppeld.This function will orchestrate and chain together calls to other functions. Vervolgens publiceert u de functiecode op Azure.You then publish the function code to Azure.

Durable Function uitvoeren in Azure

VereistenPrerequisites

Vereisten voor het voltooien van deze zelfstudie:To complete this tutorial:

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.If you don't have an Azure subscription, create a free account before you begin.

De Azure Functions-extensie installerenInstall the Azure Functions extension

U kunt de extensie Azure Functions gebruiken om functies te maken en te testen en te implementeren in Azure.You can use the Azure Functions extension to create and test functions and deploy them to Azure.

  1. Open in Visual Studio code extensies en zoek naar Azure functionsof Selecteer deze koppeling in Visual Studio code.In Visual Studio Code, open Extensions and search for azure functions, or select this link in Visual Studio Code.

  2. Selecteer installeren om de extensie voor Visual Studio code te installeren:Select Install to install the extension for Visual Studio Code:

    De extensie voor Azure Functions installeren

  3. Start Visual Studio Code opnieuw en selecteer het Azure-pictogram in de balk Activiteit.Restart Visual Studio Code and select the Azure icon on the Activity bar. Het gebied Azure Functions moet nu in de zijbalk worden weergegeven.You should see an Azure Functions area in the Side Bar.

    Gebied Azure Functions in de zijbalk

Uw Functions-project met een functie makenCreate your Functions project with a function

De Azure Functions-projectsjabloon in Visual Studio Code maakt een project dat kan worden gepubliceerd in een functie-app in Azure.The Azure Functions project template in Visual Studio Code creates a project that can be published to a function app in Azure. Met een functie-app kunt u functies groeperen in een logische eenheid, zodat u resources kunt beheren, implementeren en delen.A function app lets you group functions as a logical unit for management, deployment, and sharing of resources.

  1. Druk op F1 voor het opdrachtenpalet te openen in Visual Studio Code.In Visual Studio Code, press F1 to open the command palette. In het opdrachtenpalet, zoek en selecteer Azure Functions: Create new project....In the command palette, search for and select Azure Functions: Create new project....

  2. Kies een locatie voor de projectwerkruimte van uw en kies Selecteer.Choose a directory location for your project workspace and choose Select.

    Notitie

    Deze stappen zijn ontworpen om te worden uitgevoerd buiten een werkruimte.These steps were designed to be completed outside of a workspace. Selecteer in dit geval geen projectmap die deel uitmaakt van een werkruimte.In this case, do not select a project folder that is part of a workspace.

  3. Geef de volgende informatie de aanwijzingen te volgen:Following the prompts, provide the following information:

    VraagPrompt ValueValue DescriptionDescription
    Selecteer een taal voor uw functie-app-projectSelect a language for your function app project C# of JavaScriptC# or JavaScript In dit artikel biedt ondersteuning voor C# en JavaScript.This article supports C# and JavaScript. Zie voor Python, in dit artikel Python, en voor PowerShell, Zie in dit artikel PowerShell.For Python, see this Python article, and for PowerShell, see this PowerShell article.
    Selecteer een sjabloon voor de eerste functie van uw projectSelect a template for your project's first function HTTP-triggerHTTP trigger Een door HTTP geactiveerde functie maken in de nieuwe functie-app.Create an HTTP triggered function in the new function app.
    Geef een functienaamProvide a function name HttpTriggerHttpTrigger Druk op Enter de standaardnaam wilt gebruiken.Press Enter to use the default name.
    Geef een naamruimteProvide a namespace My.FunctionsMy.Functions (C# alleen) C# -klassebibliotheken moeten een naamruimte hebben.(C# only) C# class libraries must have a namespace.
    AutorisatieniveauAuthorization level FunctionFunction Vereist een functietoets voor het aanroepen van HTTP-eindpunt van de functie.Requires a function key to call the function's HTTP endpoint.
    Selecteer hoe u wilt uw project openenSelect how you would like to open your project aan werkruimte toevoegenAdd to workspace Hiermee maakt u de functie-app in de huidige werkruimte.Creates the function app in the current workspace.

Het functie-appproject wordt in een nieuwe werkruimte gemaakt.Visual Studio Code creates the function app project in a new workspace. Het project bevat de configuratiebestanden host.json en local.settings.json, plus eventuele taalspecifieke projectbestanden.This project contains the host.json and local.settings.json configuration files, plus any language-specific project files.

Een nieuwe HTTP-geactiveerde functie wordt ook in de map HttpTrigger van de functie-app-project gemaakt.A new HTTP triggered function is also created in the HttpTrigger folder of the function app project.

Het NPM-pakket voor Durable Functions installerenInstall the Durable Functions npm package

  1. Installeer het durable-functions NPM-pakket met duurzame functies door npm install durable-functions uit te voeren in de hoofdmap van de functie-app.Install the durable-functions npm package by running npm install durable-functions in the root directory of the function app.

Uw functies makenCreating your functions

We gaan nu de drie functies maken die u nodig hebt om aan de slag te gaan met Durable Functions: een HTTP-starter, een Orchestrator en een activiteit functie.We'll now create the three functions you need to get started with Durable Functions: an HTTP starter, an orchestrator, and an activity function. De HTTP-starter initieert uw volledige oplossing en de Orchestrator verzendt werk naar verschillende activiteit functies.The HTTP starter will initiate your entire solution, and the orchestrator will dispatch work to various activity functions.

HTTP-starterHTTP starter

Maak eerst een HTTP-geactiveerde functie waarmee de indeling voor een duurzame functie wordt gestart.First, create an HTTP triggered function that starts a durable function orchestration.

  1. Klik op het pictogram functie maken vanuit Azure: functions.From Azure: Functions, choose the Create Function icon.

    Een functie maken

  2. Selecteer de map met uw functie-app-project en selecteer de sjabloon Durable functions HTTP-starter- functie.Select the folder with your function app project and select the Durable Functions HTTP Starter function template.

    De HTTP-starter-sjabloon kiezen

  3. Laat de standaardnaam als DurableFunctionsHttpStart en druk op ** Enter, selecteer vervolgens anoniem verificatie.Leave the default name as DurableFunctionsHttpStart and press ****Enter**, then select Anonymous authentication.

    Anonieme verificatie kiezen

U hebt nu een ingangspunt gemaakt in de duurzame functie.We've now created an entry-point into our Durable Function. Nu gaan we een orchestrator toevoegen.Let's add an orchestrator.

OrchestratorOrchestrator

Nu gaan we een Orchestrator maken om de activiteit functies te coördineren.Now, we'll create an orchestrator to coordinate activity functions.

  1. Klik op het pictogram functie maken vanuit Azure: functions.From Azure: Functions, choose the Create Function icon.

    Een functie maken

  2. Selecteer de map met uw functie-app-project en selecteer de sjabloon Durable functions Orchestrator -functie.Select the folder with your function app project and select the Durable Functions orchestrator function template. De naam behouden als de standaard waarde voor DurableFunctionsOrchestratorLeave the name as the default "DurableFunctionsOrchestrator"

    De Orchestrator-sjabloon kiezen

Er is een orchestrator toegevoegd om de activiteitsfuncties te coördineren.We've added an orchestrator to coordinate activity functions. Nu gaan we de activiteitsfunctie toevoegen waarnaar wordt verwezen.Let's now add the referenced activity function.

ActiviteitActivity

Nu gaan we een activiteit functie maken om het werk van de oplossing daad werkelijk uit te voeren.Now, we'll create an activity function to actually carry out the work of the solution.

  1. Klik op het pictogram functie maken vanuit Azure: functions.From Azure: Functions, choose the Create Function icon.

    Een functie maken

  2. Selecteer de map met uw functie-app-project en selecteer de functie sjabloon Durable functions activiteit .Select the folder with your function app project and select the Durable Functions activity function template. Wijzig de naam als de standaard Hello.Leave the name as the default "Hello".

    De activiteiten sjabloon kiezen

Nu zijn alle benodigde onderdelen toegevoegd voor het starten van een indeling en om activiteitsfuncties te koppelen.We've now added all components needed to start off an orchestration and chain together activity functions.

De functie lokaal testenTest the function locally

Met Azure Functions Core-hulpprogramma's kunt u een Azure Functions-project uitvoeren op uw lokale ontwikkelcomputer.Azure Functions Core Tools lets you run an Azure Functions project on your local development computer. De eerste keer dat u een functie vanuit Visual Studio Code start, wordt u gevraagd deze hulpprogramma's te installeren.You're prompted to install these tools the first time you start a function from Visual Studio Code.

  1. Start op een Windows-computer de Azure Storage-emulator en zorg ervoor dat de eigenschap AzureWebJobsStorage van Local. settings. json is ingesteld op UseDevelopmentStorage=true.On a Windows computer, start the Azure Storage Emulator and make sure that the AzureWebJobsStorage property of local.settings.json is set to UseDevelopmentStorage=true.

    Zorg ervoor dat de eigenschap AzureWebJobsSecretStorageType van local. settings. json is ingesteld op filesvoor Storage emulator 5,8.For Storage Emulator 5.8 make sure that the AzureWebJobsSecretStorageType property of local.settings.json is set to files. Op een Mac-of Linux-computer moet u de eigenschap AzureWebJobsStorage instellen op de Connection String van een bestaand Azure Storage-account.On a Mac or Linux computer, you must set the AzureWebJobsStorage property to the connection string of an existing Azure storage account. Later in dit artikel maakt u een opslagaccount.You create a storage account later in this article.

  2. U kunt de functie testen door een onderbrekingspunt in de functiecode in te stellen en op F5 te drukken om het functie-appproject te starten.To test your function, set a breakpoint in the function code and press F5 to start the function app project. De uitvoer van Core Tools wordt weergegeven in het deelvenster Terminal.Output from Core Tools is displayed in the Terminal panel. Als dit de eerste keer is dat u Durable Functions gebruikt, wordt de Durable Functions-extensie geïnstalleerd. Het bouwen kan enkele seconden duren.If this is your first time using Durable Functions, the Durable Functions extension is installed and the build might take a few seconds.

    Notitie

    Voor JavaScript Durable Functions is versie 1.7.0 of hoger van de extensie Microsoft.Azure.WebJobs.Extensions.DurableTask vereist.JavaScript Durable Functions require version 1.7.0 or greater of the Microsoft.Azure.WebJobs.Extensions.DurableTask extension. Voer de volgende opdracht uit vanuit de hoofdmap van uw Azure Functions-app om de Durable Functions extensie te installeren func extensions install -p Microsoft.Azure.WebJobs.Extensions.DurableTask -v 1.7.0Run the following command from the root folder of your Azure Functions app to install the Durable Functions extension func extensions install -p Microsoft.Azure.WebJobs.Extensions.DurableTask -v 1.7.0

  3. Kopieer het URL-eindpunt van de door HTTP getriggerde functie in het deelvenster Terminal.In the Terminal panel, copy the URL endpoint of your HTTP-triggered function.

    Lokale Azure-uitvoer

  4. Vervang {functionName} door DurableFunctionsOrchestrator.Replace {functionName} with DurableFunctionsOrchestrator.

  5. Verzend met een hulp programma zoals postman of kruleen HTTP POST-aanvraag naar het URL-eind punt.Using a tool like Postman or cURL, send an HTTP POST request to the URL endpoint.

    De reactie is het eerste resultaat van de HTTP-functie waarmee wordt aangegeven dat de orchestrator is gestart.The response is the initial result from the HTTP function letting us know the durable orchestration has started successfully. Dit is nog niet het eindresultaat van de orchestrator.It is not yet the end result of the orchestration. De reactie bevat enkele nuttige URL's.The response includes a few useful URLs. Maar eerst gaan we de status van de orchestrator opvragen.For now, let's query the status of the orchestration.

  6. Kopieer de URL-waarde voor statusQueryGetUri en plak deze in de adres balk van de browser en voer de aanvraag uit.Copy the URL value for statusQueryGetUri and paste it in the browser's address bar and execute the request. U kunt postman ook blijven gebruiken om de GET-aanvraag uit te geven.Alternatively you can also continue to use Postman to issue the GET request.

    De aanvraag voert een query uit op het orchestrator-exemplaar voor de status.The request will query the orchestration instance for the status. U moet een eindige reactie krijgen, waarin wordt weer gegeven dat het exemplaar is voltooid en dat de uitvoer of resultaten van de duurzame functie bevat.You should get an eventual response, which shows us the instance has completed, and includes the outputs or results of the durable function. Het ziet er als volgt uit:It looks like:

    {
        "instanceId": "d495cb0ac10d4e13b22729c37e335190",
        "runtimeStatus": "Completed",
        "input": null,
        "customStatus": null,
        "output": [
            "Hello Tokyo!",
            "Hello Seattle!",
            "Hello London!"
        ],
        "createdTime": "2018-11-08T07:07:40Z",
        "lastUpdatedTime": "2018-11-08T07:07:52Z"
    }
    
  7. Als u het fout opsporingsprogramma wilt stoppen, drukt u op SHIFT + F5 in VS code.To stop debugging, press Shift + F5 in VS Code.

Nadat u hebt gecontroleerd of de functie correct wordt uitgevoerd op uw lokale computer, is het tijd om het project te publiceren in Azure.After you've verified that the function runs correctly on your local computer, it's time to publish the project to Azure.

Aanmelden bij AzureSign in to Azure

Voordat u de app kunt publiceren, moet u zich aanmelden bij Azure.Before you can publish your app, you must sign in to Azure.

  1. In de Azure: Functies gebied, kiest u aanmelden bij Azure... . Hier kunt u een gratis Azure-account aanmaken als u dat nog niet hebt.In the Azure: Functions area, choose Sign in to Azure.... If you don't already have one, you can Create a free Azure account.

    De reactie van de lokale host van de functie in de browser

  2. Selecteer Copy & Open (Kopiëren en openen) of kopieer de weergegeven code en open https://aka.ms/devicelogin in de browser.When prompted, select Copy & Open, or copy the displayed code and open https://aka.ms/devicelogin in your browser.

  3. Plak de gekopieerde code op de pagina Device Login (Apparaataanmelding), controleer de aanmelding voor Visual Studio Code en selecteer Doorgaan.Paste the copied code in the Device Login page, verify the sign in for Visual Studio Code, then select Continue.

  4. Voltooi het aanmelden met de referenties voor uw Azure-account.Complete the sign in using your Azure account credentials. Nadat u bent aangemeld, kunt u de browser sluiten.After you have successfully signed in, you can close the browser.

Het project naar Azure publicerenPublish the project to Azure

In Visual Studio Code kunt u uw functieproject rechtstreeks in Azure publiceren.Visual Studio Code lets you publish your functions project directly to Azure. In dit proces maakt u een functie-app en de bijbehorende resources in uw Azure-abonnement.In the process, you create a function app and related resources in your Azure subscription. De functie-app biedt een context waar u uw functies kunt uitvoeren.The function app provides an execution context for your functions. Het project wordt in uw Azure-abonnement verpakt en geïmplementeerd in de nieuwe functie-app.The project is packaged and deployed to the new function app in your Azure subscription.

Visual Studio code maakt standaard alle Azure-resources die nodig zijn om uw functie-app te maken.By default, Visual Studio Code creates all of the Azure resources required to create your function app. De namen van deze resources zijn gebaseerd op de naam van de functie-app die u kiest.The names of these resources are based on the function app name you choose. Als u volledige controle over de gemaakte resources nodig hebt, kunt u in plaats daarvan publiceren met behulp van geavanceerde opties.If you need to have full control of the created resources, you can instead publish using advanced options.

In deze sectie wordt ervan uitgegaan dat u een nieuwe functie-app in azure maakt.This section assumes that you are creating a new function app in Azure.

Belangrijk

Als u in een bestaande functie-app publiceert, wordt de inhoud van die app in Azure overschreven.Publishing to an existing function app overwrites the content of that app in Azure.

  1. Druk in Visual Studio code op F1 om het opdracht palet te openen.In Visual Studio Code, press F1 to open the command palette. In het opdracht palet zoekt en selecteert u Azure Functions: Deploy to function app....In the command palette, search for and select Azure Functions: Deploy to function app....

  2. Als u zich niet hebt aangemeld, wordt u gevraagd u aan te melden bij Azure.If not signed-in, you are prompted to Sign in to Azure. U kunt ook een gratis Azure-account maken.You can also Create a free Azure account. Nadat u zich hebt aangemeld vanuit de browser, gaat u terug naar Visual Studio code.After successful sign in from the browser, go back to Visual Studio Code.

  3. Als u meerdere abonnementen hebt, selecteert u een abonnement voor de functie-app en kiest u + nieuwe functie-app maken in azure.If you have multiple subscriptions, Select a subscription for the function app, then choose + Create New Function App in Azure.

  4. Typ een unieke naam waarmee de functie-app wordt geïdentificeerd en druk op Enter.Type a globally unique name that identifies your function app and press Enter. Geldige tekens voor de naam van en functie-app zijn a-z, 0-9 en -.Valid characters for a function app name are a-z, 0-9, and -.

    Wanneer u op ENTER drukt, worden de volgende Azure-resources in uw abonnement gemaakt:When you press Enter, the following Azure resources are created in your subscription:

    • Resource groep : Bevat alle gemaakte Azure-resources.Resource group: Contains all of the created Azure resources. De naam is gebaseerd op de naam van uw functie-app.The name is based on your function app name.
    • Opslag account : Een standaard opslag account wordt gemaakt met een unieke naam die is gebaseerd op de naam van uw functie-app.Storage account: A standard Storage account is created with a unique name that is based on your function app name.
    • Hosting plan : Er wordt een verbruiks plan gemaakt in de regio vs-West om uw serverloze functie-app te hosten.Hosting plan: A consumption plan is created in the West US region to host your serverless function app.
    • Functie-app: Uw project wordt geïmplementeerd naar en wordt uitgevoerd in deze nieuwe functie-app.Function app: Your project is deployed to and runs in this new function app.

    Nadat de functie-app is gemaakt en het implementatiepakket is toegepast, wordt er een melding weergegeven.A notification is displayed after your function app is created and the deployment package is applied. Selecteer uitvoer weer geven in deze melding om de resultaten voor het maken en implementeren weer te geven, inclusief de Azure-resources die u hebt gemaakt.Select View Output in this notification to view the creation and deployment results, including the Azure resources that you created.

  5. Terug in Azure: In het gebied functies vouwt u de nieuwe functie-app uit onder uw abonnement.Back in the Azure: Functions area, expand the new function app under your subscription. Vouw functiesuit, klik met de rechter muisknop op http triggeren kies vervolgens functie-URL kopiëren.Expand Functions, right-click HttpTrigger, and then choose Copy function URL.

    Kopieer de functie-URL voor de nieuwe HTTP-trigger

Uw functie testen in AzureTest your function in Azure

  1. Kopieer de URL van de HTTP-trigger vanuit het deelvenster Output (Uitvoer).Copy the URL of the HTTP trigger from the Output panel. De URL die uw HTTP-geactiveerde functie aanroept, moet de volgende indeling hebben:The URL that calls your HTTP-triggered function should be in the following format:

     http://<functionappname>.azurewebsites.net/orchestrators/<functionname>
    
  2. Plak deze nieuwe URL van de HTTP-aanvraag in de adresbalk van uw browser.Paste this new URL for the HTTP request into your browser's address bar. U krijgt dezelfde statusreactie als eerder, toen u de gepubliceerde app gebruikte.You should get the same status response as before when using the published app.

Volgende stappenNext steps

U hebt Visual Studio Code gebruikt om een duurzame JavaScript-functie-app te maken en te publiceren.You have used Visual Studio Code to create and publish a JavaScript durable function app.