Skapa Durable Functions med hjälp av Azure-portalen

Durable Functions-tillägget för Azure Functions finns i NuGet-paketet Microsoft.Azure.WebJobs.Extensions.DurableTask. Det här tillägget måste vara installerat i funktionsappen. Den här artikeln visar hur du installerar det här paketet så att du kan utveckla varaktiga funktioner i Azure-portalen.

Kommentar

Skapa en funktionsapp

Du måste ha en funktionsapp som värd för körningen av alla funktioner. Med en funktionsapp kan du gruppera dina funktioner som en logisk enhet för enklare hantering, distribution, skalning och delning av resurser. Du kan skapa en .NET- eller JavaScript-app.

  1. I menyn i Azure-portalen eller på sidan Start väljer du Skapa en resurs.

  2. På sidan Nytt väljer du Beräkningsfunktionsapp>.

  3. Under Välj ett värdalternativ väljer du Förbrukning>Välj för att skapa din app i standardförbrukningsplanen. I det här serverlösa värdalternativet betalar du bara för den tid som dina funktioner körs. Premium-planen erbjuder även dynamisk skalning. När du använder en App Service-plan måste du hantera funktionsappens skalning.

  4. På sidan Grundläggande använder du inställningarna för funktionsappen enligt beskrivningen i följande tabell:

    Inställning Föreslaget värde beskrivning
    Abonnemang Din prenumeration Prenumerationen där du skapar din nya funktionsapp.
    Resursgrupp myResourceGroup Namn på den nya resursgrupp där du skapar funktionsappen. Du bör skapa en ny resursgrupp eftersom det finns kända begränsningar när du skapar nya funktionsappar i en befintlig resursgrupp.
    Funktionsappens namn Globalt unikt namn Namn som identifierar din nya funktionsapp. Giltiga tecken är a-z (skiftlägesokänsligt), 0-9 och -.
    Körningsstack Önskat språk Välj en körning som stöder det funktionsprogrammeringsspråk som du föredrar. Redigering i portalen är endast tillgängligt för JavaScript-, PowerShell-, Python-, TypeScript- och C#-skript. C#-klassbibliotek och Java-funktioner måste utvecklas lokalt.
    Version: Versionsnummer Välj den version av din installerade körning.
    Region Önskad region Välj en region som är nära dig eller nära andra tjänster som dina funktioner kan komma åt.
    Operativsystem Windows Ett operativsystem är förvalt baserat på val av körningsstack, men du kan ändra inställningen om det behövs. Redigering i portalen stöds endast i Windows.
  5. Acceptera standardalternativen på de återstående flikarna, inklusive standardbeteendet för att skapa ett nytt lagringskonto på fliken Lagring och en ny Application Insight-instans på fliken Övervakning . Du kan också välja att använda ett befintligt lagringskonto eller En Application Insights-instans.

  6. Välj Granska + skapa för att granska appkonfigurationen du valde och välj sedan Skapa för att etablera och distribuera funktionsappen.

  7. Välj ikonen Meddelanden i det övre högra hörnet i portalen och håll utkik efter meddelandet Distributionen lyckades.

  8. Välj Gå till resurs för att se den nya funktionsappen. Du kan också välja Fäst på instrumentpanelen. Med fästning blir det enklare att återgå till den här funktionsappresursen från instrumentpanelen.

    Skärmbild av distributionsmeddelande.

Som standard använder funktionsappen som skapats version 2.x av Azure Functions-körningen. Durable Functions-tillägget fungerar på båda versionerna 1.x och 2.x av Azure Functions-körningen i C# och version 2.x i JavaScript. Mallar är dock endast tillgängliga när du riktar in dig på version 2.x av körningen oavsett vilket språk du väljer.

Installera npm-paketet durable-functions (endast JavaScript)

Om du skapar JavaScript Durable Functions måste du installera durable-functions npm-paketet:

  1. På funktionsappens sida väljer du Avancerade verktyg under Utvecklingsverktyg i den vänstra rutan.

    Funktionsplattformsfunktioner väljer Kudu

  2. På sidan Avancerade verktyg väljer du .

  3. I Kudu-konsolen väljer du Felsökningskonsol och sedan CMD.

    Kudu-felsökningskonsol

  4. Funktionsappens filkatalogstruktur bör visas. Gå till mappen site/wwwroot. Därifrån kan du ladda upp en package.json fil genom att dra och släppa den i filkatalogfönstret. Ett exempel package.json finns nedan:

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

    Kudu-uppladdning package.json

  5. När du package.json har laddat upp kör npm install du kommandot från Kudu-fjärrkörningskonsolen.

    Kudu kör npm-installation

Skapa en orchestrator-funktion

  1. I funktionsappen väljer du Funktioner i den vänstra rutan och väljer sedan Lägg till på den översta menyn.

  2. I sökfältet på sidan Ny funktion anger du durableoch väljer sedan mallen Durable Functions HTTP starter .

    Välj Durable Functions HTTP-start

  3. För namnet Ny funktion anger du HttpStartoch väljer sedan Skapa funktion.

    Funktionen som skapas används för att starta orkestreringen.

  4. Skapa en annan funktion i funktionsappen, den här gången med hjälp av orchestratormallen Durable Functions. Ge den nya orkestreringsfunktionen HelloSequencenamnet .

  5. Skapa en tredje funktion med namnet Hello med hjälp av aktivitetsmallen Durable Functions.

Testa den hållbara funktionsorkestreringen

  1. Gå tillbaka till funktionen HttpStart , välj Hämta funktions-URL och välj ikonen Kopiera till Urklipp för att kopiera URL:en. Du använder den här URL:en för att starta funktionen HelloSequence .

  2. Använd ett HTTP-verktyg som Postman eller cURL för att skicka en POST-begäran till den URL som du kopierade. Följande exempel är ett cURL-kommando som skickar en POST-begäran till den varaktiga funktionen:

    curl -X POST https://{your-function-app-name}.azurewebsites.net/api/orchestrators/{functionName} --header "Content-Length: 0"
    

    I det här exemplet {your-function-app-name} är den domän som är namnet på din funktionsapp och {functionName} är funktionen HelloSequence orchestrator. Svarsmeddelandet innehåller en uppsättning URI-slutpunkter som du kan använda för att övervaka och hantera körningen, som ser ut som följande exempel:

    {  
       "id":"10585834a930427195479de25e0b952d",
       "statusQueryGetUri":"https://...",
       "sendEventPostUri":"https://...",
       "terminatePostUri":"https://...",
       "rewindPostUri":"https://..."
    }
    
  3. Anropa slutpunkts-URI statusQueryGetUri :n och du ser den aktuella statusen för den varaktiga funktionen, som kan se ut som i det här exemplet:

        {
            "runtimeStatus": "Running",
            "input": null,
            "output": null,
            "createdTime": "2017-12-01T05:37:33Z",
            "lastUpdatedTime": "2017-12-01T05:37:36Z"
        }
    
  4. Fortsätt att anropa statusQueryGetUri slutpunkten tills statusen ändras till Slutförd och du ser ett svar som i följande exempel:

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

Din första varaktiga funktion är nu igång i Azure.

Nästa steg