Durable Functions maken met behulp van de Azure PortalCreate Durable Functions using the Azure portal

De uitbrei ding voor de Durable functions voor Azure functions is opgenomen in het NuGet-pakket micro soft. Azure. webjobs. Extensions. DurableTask.The Durable Functions extension for Azure Functions is provided in the NuGet package Microsoft.Azure.WebJobs.Extensions.DurableTask. Deze uitbrei ding moet worden geïnstalleerd in uw functie-app.This extension must be installed in your function app. In dit artikel wordt beschreven hoe u dit pakket installeert zodat u duurzame functies kunt ontwikkelen in de Azure Portal.This article shows how to install this package so that you can develop durable functions in the Azure portal.

Notitie

Een functie-app makenCreate a function app

U moet een functie-app hebben om de uitvoering van een functie te hosten.You must have a function app to host the execution of any function. Met een functie-app kunt u uw functies groeperen als een logische eenheid, zodat u resources eenvoudiger kunt beheren, implementeren en delen.A function app lets you group your functions as a logic unit for easier management, deployment, and sharing of resources. U kunt een .NET-of Java script-app maken.You can create a .NET or JavaScript app.

  1. Selecteer de knop een resource maken in de linkerbovenhoek van de Azure Portal en selecteer vervolgens reken > functie-app.Select the Create a resource button found on the upper left-hand corner of the Azure portal, then select Compute > Function App.

    Een functie-app maken in Azure Portal

  2. Gebruik voor de functie-app de instellingen die in de tabel onder de afbeelding zijn opgegeven.Use the function app settings as specified in the table below the image.

    Instellingen voor nieuwe functie-apps definiëren

    InstellingSetting Voorgestelde waardeSuggested value DescriptionDescription
    Naam van appApp name Wereldwijd unieke naamGlobally unique name Naam waarmee uw nieuwe functie-app wordt aangeduid.Name that identifies your new function app. Geldige tekens zijn a-z, 0-9 en -.Valid characters are a-z, 0-9, and -.
    AbonnementSubscription Uw abonnementYour subscription Het abonnement waarmee deze nieuwe functie-app is gemaakt.The subscription under which this new function app is created.
    ResourcegroepResource Group myResourceGroupmyResourceGroup Naam voor de nieuwe resourcegroep waarin uw functie-app moet worden gemaakt.Name for the new resource group in which to create your function app.
    BesturingssysteemOS WindowsWindows De beschik bare taal opties zijn afhankelijk van het besturings systeem van de functie-app.The language options available depend on the OS of the function app. Python vereist bijvoorbeeld Linux.For example, Python requires Linux.
    HostingplanHosting plan VerbruiksabonnementConsumption plan Hostingabonnement dat definieert hoe resources worden toegewezen aan uw functie-app.Hosting plan that defines how resources are allocated to your function app. In het standaard Verbruiksabonnement worden resources dynamisch toegevoegd zoals door uw functies wordt vereist.In the default Consumption Plan, resources are added dynamically as required by your functions. Met hosten zonder server betaalt u alleen voor de tijd dat uw functies actief zijn.In this serverless hosting, you only pay for the time your functions run. Wanneer u in een App Service-plan uitvoert, moet u het Schalen van uw functie-app beheren.When you run in an App Service plan, you must manage the scaling of your function app.
    LocationLocation Europa -westWest Europe Kies een regio in de buurt of in de buurt van andere services die door uw functie worden gebruikt.Choose a region near you or near other services your functions access.
    RuntimestackRuntime stack VoorkeurstaalPreferred language Kies een runtime die uw favoriete functieprogrammeertaal ondersteunt.Choose a runtime that supports your favorite function programming language. Kies .NET voor C#- en F#-functies.Choose .NET for C# and F# functions.
    OpslagStorage Wereldwijd unieke naamGlobally unique name Maak een opslagaccount die wordt gebruikt door uw functie-app.Create a storage account used by your function app. Namen van opslagaccounts moeten tussen 3 en 24 tekens lang zijn en mogen alleen cijfers en kleine letters bevatten.Storage account names must be between 3 and 24 characters in length and may contain numbers and lowercase letters only. U kunt ook een bestaand account gebruiken dat voldoet aan de vereisten voor een opslagaccount.You can also use an existing account, which must meets the storage account requirements.
    Application InsightsApplication Insights StandaardDefault Hiermee maakt u een Application Insights bron van dezelfde app-naam in de dichtstbijzijnde ondersteunde regio.Creates an Application Insights resource of the same App name in the nearest supported region. Door deze instelling uit te breiden, kunt u de nieuwe resource naam wijzigen of een andere locatie in een Azure-regio kiezen waar u uw gegevens wilt opslaan.By expanding this setting, you can change the New resource name or choose a different Location in an Azure geography where you want to store your data.
  3. Selecteer Maken om de functie-app in te richten en te implementeren.Select Create to provision and deploy the function app.

  4. Selecteer het meldingspictogram in de rechterbovenhoek van de portal en zoek het bericht Implementatie voltooid.Select the Notification icon in the upper-right corner of the portal and watch for the Deployment succeeded message.

    Instellingen voor nieuwe functie-apps definiëren

  5. Selecteer Naar de resource gaan om uw nieuwe functie-app te bekijken.Select Go to resource to view your new function app. U kunt ook vastmaken aan dash boardselecteren.You can also select Pin to dashboard. Vastmaken maakt het gemakkelijker om terug te gaan naar deze functie-app-resource vanuit uw dash board.Pinning makes it easier to return to this function app resource from your dashboard.

De functie-app die is gemaakt, maakt standaard gebruik van versie 2. x van de Azure Functions runtime.By default, the function app created uses version 2.x of the Azure Functions runtime. De uitbrei ding Durable Functions werkt op versie 1. x en 2. x van de Azure Functions runtime C#in en versie 2. x in Java script.The Durable Functions extension works on both versions 1.x and 2.x of the Azure Functions runtime in C#, and version 2.x in JavaScript. Sjablonen zijn echter alleen beschikbaar bij het doel versie 2. x van de runtime, ongeacht de gekozen taal.However, templates are only available when targeting version 2.x of the runtime regardless of the chosen language.

Het NPM-pakket met duurzame functies installeren (alleen Java script)Install the durable-functions npm package (JavaScript only)

Als u Java script-Durable functions maakt, moet u het durable-functions NPM-pakketinstalleren.If you are creating JavaScript Durable Functions, you will need to install the durable-functions npm package.

  1. Selecteer de naam van uw functie-app, gevolgd door platform functies, en Geavanceerde Hulpprogram ma's (kudu) .Select your function app's name, followed by Platform Features, then Advanced tools (Kudu).

    Functies platform functies kiezen kudu

  2. Selecteer in de kudu-console fout opsporing console en vervolgens cmd.Inside the Kudu console, select Debug console then CMD.

    Console voor fout opsporing kudu

  3. De structuur van de bestands directory van de functie-app moet worden weer gegeven.Your function app's file directory structure should display. Navigeer naar de map site/wwwroot.Navigate to the site/wwwroot folder. Van daaruit kunt u een package.json bestand uploaden door het te slepen en neer te zetten in het venster van de bestands directory.From there, you can upload a package.json file by dragging and dropping it into the file directory window. Hieronder ziet package.json u een voor beeld:A sample package.json is below:

    {
      "dependencies": {
        "durable-functions": "^1.1.2"
      }
    }
    

    Kudu upload package. json

  4. Nadat uw package.json is geüpload, voert u npm install de opdracht uit vanuit de kudu-console voor externe uitvoering.Once your package.json is uploaded, run the npm install command from the Kudu Remote Execution Console.

    Kudu uitvoeren NPM installeren

Een Orchestrator-functie makenCreate an orchestrator function

  1. Vouw de functie-app uit en klik op de knop + naast Functies.Expand your function app and click the + button next to Functions. Als dit de eerste functie in de functie-app is, selecteert u In de portal en vervolgens Doorgaan.If this is the first function in your function app, select In-portal then Continue. Anders gaat u verder met stap drie.Otherwise, go to step three.

    De Quick Start-pagina van Functions in Azure Portal

  2. Kies Meer sjablonen en vervolgens Voltooien en sjablonen weergeven.Choose More templates then Finish and view templates.

    De Quick Start-pagina 'Meer sjablonen kiezen' van Functions

  3. Typ durable in het zoek veld en kies vervolgens de sjabloon Durable functions http-starter .In the search field, type durable and then choose the Durable Functions HTTP starter template.

  4. Wanneer u hierom wordt gevraagd, selecteert u installeren om de Azure DurableTask-extensie voor alle afhankelijkheden in de functie-app te installeren.When prompted, select Install to install the Azure DurableTask extension any dependencies in the function app. U hoeft de extensie slechts één keer te installeren voor een functie-app geven.You only need to install the extension once for a give function app. Wanneer de installatie is voltooid, selecteert u Doorgaan.After installation succeeds, select Continue.

    Binding-extensies installeren

  5. Wanneer de installatie is voltooid, kunt u de nieuwe HttpStart functie een naam en kies maken.After the installation completes, name the new function HttpStart and choose Create. De functie die wordt gemaakt, wordt gebruikt om de indeling te starten.The function created is used to start the orchestration.

  6. Maak een andere functie in de functie-app, dit keer door gebruik te maken van de Durable functions Orchestrator -sjabloon.Create another function in the function app, this time by using the Durable Functions Orchestrator template. Geef een naam op voor de HelloSequencenieuwe Orchestration-functie.Name your new orchestration function HelloSequence.

  7. Maak een derde functie met Hello de naam met behulp van de sjabloon Durable functions activiteit .Create a third function named Hello by using the Durable Functions Activity template.

De functie voor de integratie van duurzame functies testenTest the durable function orchestration

  1. Ga terug naar de functie HttpStart , kies </> functie-URL ophalen en Kopieer de URL.Go back to the HttpStart function, choose </> Get function URL and Copy the URL. U gebruikt deze URL om de functie HelloSequence te starten.You use this URL to start the HelloSequence function.

  2. Gebruik een HTTP-hulp programma zoals postman of krul om een POST-aanvraag te verzenden naar de URL die u hebt gekopieerd.Use an HTTP tool like Postman or cURL to send a POST request to the URL that you copied. Het volgende voor beeld is een krul opdracht waarmee een POST-aanvraag wordt verzonden naar de functie duurzame:The following example is a cURL command that sends a POST request to the durable function:

    curl -X POST https://{your-function-app-name}.azurewebsites.net/api/orchestrators/HelloSequence
    

    In dit voor beeld {your-function-app-name} is het domein de naam van de functie-app.In this example, {your-function-app-name} is the domain that is the name of your function app. Het antwoord bericht bevat een aantal URI-eind punten die u kunt gebruiken om de uitvoering te controleren en te beheren. dit ziet er als volgt uit:The response message contains a set of URI endpoints that you can use to monitor and manage the execution, which looks like the following example:

    {  
       "id":"10585834a930427195479de25e0b952d",
       "statusQueryGetUri":"https://...",
       "sendEventPostUri":"https://...",
       "terminatePostUri":"https://...",
       "rewindPostUri":"https://..."
    }
    
  3. Roep de statusQueryGetUri URI van het eind punt aan en u ziet de huidige status van de duurzame functie. deze kan er als volgt uitzien:Call the statusQueryGetUri endpoint URI and you see the current status of the durable function, which might look like this example:

        {
            "runtimeStatus": "Running",
            "input": null,
            "output": null,
            "createdTime": "2017-12-01T05:37:33Z",
            "lastUpdatedTime": "2017-12-01T05:37:36Z"
        }
    
  4. Ga door met statusQueryGetUri het aanroepen van het eind punt totdat de status is gewijzigd in voltooiden er een antwoord wordt weer geven, zoals in het volgende voor beeld:Continue calling the statusQueryGetUri endpoint until the status changes to Completed, and you see a response like the following example:

    {
            "runtimeStatus": "Completed",
            "input": null,
            "output": [
                "Hello Tokyo!",
                "Hello Seattle!",
                "Hello London!"
            ],
            "createdTime": "2017-12-01T05:38:22Z",
            "lastUpdatedTime": "2017-12-01T05:38:28Z"
        }
    

Uw eerste duurzame functie is nu actief en wordt uitgevoerd in Azure.Your first durable function is now up and running in Azure.

Volgende stappenNext steps