Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Skriva tillståndskänsliga funktioner i en serverlös miljö med durable functions, en funktion i Azure Functions. Scenarier där Durable Functions är användbart inkluderar orkestrering av mikrotjänster och arbetsflöden, tillståndskänsliga mönster som fläkt-ut/fläkt-in och långvariga uppgifter.
Du kan använda Durable Task Scheduler som en backend för Durable Functions, för att lagra tillstånd för orkestrering och entitetskörning.
I den här snabbstarten kommer du att göra följande:
- Konfigurera en befintlig Durable Functions-app så att den använder Durable Task Scheduler.
- Konfigurera durable task-emulatorn för lokal utveckling.
- Lägg upp din app på Azure på App Service-plan med hjälp av Visual Studio Code.
- Övervaka statusen för din app och aktivitetshubben på instrumentpanelen Durable Task Scheduler.
Anmärkning
Durable Task Scheduler stöder för närvarande endast Durable Functions som körs på Functions Premium - och App Service-planer .
Förutsättningar
Den här snabbstarten förutsätter att du redan har ett Azure Functions-projekt på din lokala dator med:
- Varaktiga funktioner har lagts till i projektet, bland annat: - En orkestreringsfunktion.
- En klientfunktion som utlöser Durable Functions-appen.
 
- Projektet som konfigurerats för lokal felsökning.
Om du inte uppfyller dessa krav rekommenderar vi att du börjar med någon av följande snabbstarter för att konfigurera ett lokalt Functions-projekt:
Du behöver också:
- Docker installerat för att köra Durable Task Scheduler-emulatorn.
- Azurite installerat.
- Ett HTTP-testverktyg som skyddar dina data.
Lägg till paketet Durable Task Scheduler
Installera den senaste versionen av paketet Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged med hjälp av kommandot dotnet add package :
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged --prerelease
Anmärkning
Tillägget Durable Task Scheduler kräver version Microsoft.Azure.Functions.Worker.Extensions.DurableTask1.2.2 eller senare.
I host.jsonuppdaterar extensionBundle du egenskapen så att den använder förhandsversionen som innehåller durable task scheduler-paketet:
{
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
    "version": "[4.29.0, 5.0.0)"
  }
}
Uppdatera host.json
Uppdatera host.json enligt följande för att använda Durable Task Scheduler som serverdel.
{
  "extensions": {
    "durableTask": {
      "hubName": "%TASKHUB_NAME%",
      "storageProvider": {
        "type": "azureManaged",
        "connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
      }
    }
  }
}
Konfigurera local.settings.json
Lägg till anslutningsinformation för lokal utveckling:
{
  "IsEncrypted": false,
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "<DEPENDENT ON YOUR PROGRAMMING LANGUAGE>",
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;Authentication=None",
    "TASKHUB_NAME": "default"
  }
}
Konfigurera Durable Task-emulatorn
- Hämta docker-avbildningen som innehåller emulatorn. - docker pull mcr.microsoft.com/dts/dts-emulator:latest
- Kör emulatorn. - docker run -d -p 8080:8080 -p 8082:8082 mcr.microsoft.com/dts/dts-emulator:latest- Följande utdata anger att emulatorn har startats.   
- Anteckna portarna som exponeras på Docker Desktop. Schemaläggaren exponerar flera portar för olika ändamål: - 
              8080: gRPC-slutpunkt som gör att en app kan ansluta till schemaläggaren
- 
              8082: Slutpunkt för instrumentpanel "Durable Task Scheduler"
   
- 
              
Testa lokalt
- Gå till appens rotkatalog och starta Azurite. - azurite start
- Kör programmet. - func start- Du bör se en lista över funktionerna i din app. Om du har skapat appen efter någon av durable functions-snabbstarterna bör du se något som liknar följande utdata:   
- Starta en orkestreringsinstans genom att skicka en HTTP-begäran - POSTtill URL-slutpunkten med hjälp av det HTTP-testverktyg som du har valt.
- Kopiera URL-värdet för - statusQueryGetUrioch klistra in det i webbläsarens adressfält. Du bör se status för orkestreringsinstansen:- { "name": "DurableFunctionsOrchestrationCSharp1", "instanceId": "b50f8b723f2f44149ab9fd2e3790a0e8", "runtimeStatus": "Completed", "input": null, "customStatus": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2025-02-21T21:09:59Z", "lastUpdatedTime": "2025-02-21T21:10:00Z" }
- För att se mer information om orkestreringsinstansen går du till http://localhost:8082/ instrumentpanelen Durable Task Scheduler. 
- Klicka på standardaktivitetshubben för att se dess instrumentpanel. 
Anmärkning
Läs mer om Durable Task Scheduler-instrumentpanelen.
Durable Task Scheduler-emulatorn lagrar orkestreringsdata i minnet, vilket innebär att alla data går förlorade när de stängs av.
Stöter du på problem med testning? Se felsökningsguiden.
Kör din app i Azure
Skapa nödvändiga resurser
Skapa en Durable Task Scheduler-instans och en Azure Functions-app i Azure efter den integrerade skapandeflödet för funktionsappar. Den här upplevelsen konfigurerar automatiskt identitetsbaserad åtkomst och konfigurerar de miljövariabler som krävs för att appen ska få åtkomst till schemaläggaren.
- Gå till bladet Skapa funktionsapp och välj Functions Premium eller App Service som värdalternativ.   
- På bladet Skapa funktionsapp (App Service) fyller du i informationen på fliken Grundläggande .   - Fält - Beskrivning - Prenumeration - Välj din Azure-prenumeration. - Resursgrupp - Välj en befintlig resursgrupp eller klicka på Skapa ny för att skapa en ny. - Funktionsappens namn - Skapa ett unikt namn för funktionsappen. - Vill du distribuera kod eller containeravbildning? - Behåll alternativet Kod markerat. - Körningstack - Välj den körmiljö som du använder för den här snabbstartsguiden. - Utgåva - Välj din stackversion. - Region - Välj en av de regioner som stöds. - Operativsystem - Välj ditt operativsystem. 
- Välj fliken Varaktiga funktioner . 
- Välj Durable Task Scheduler som serverdelsprovider för dina varaktiga funktioner. 
- Skapa en schemaläggarresurs. Den här åtgärden skapar automatiskt en aktivitetshubb.   - Fält - Beskrivning - Lagringsserverdel - Välj Durable Task Scheduler. - Region - Vi rekommenderar att scheduler- och funktionsappregionerna ska vara desamma. - Varaktig schemaläggare - Använd det erbjudna scheduler-namnet eller klicka på Skapa ny för att skapa ett anpassat namn. - Strategi - Endast Dedikerad är tillgänglig för tillfället. - Kapacitetsenheter - För närvarande kan du bara välja en kapacitetsenhet som ett alternativ. 
- Klicka på Granska + skapa för att granska resursskapandet. - En användartilldelad hanterad identitet med den behörighet som krävs för rollbaserad åtkomstkontroll (RBAC) skapas automatiskt och läggs till i funktionsappen. I sammanfattningsvyn hittar du information om den hanterade identitetsresursen, till exempel: - Rollen som tilldelats den (durable task data contributor) 
- Tilldelningen som är begränsad till aktivitetshubbens nivå   
 
- Klicka på Skapa när valideringen har slutförts. 
Resursdistributionen kan ta cirka 15 till 20 minuter. När det är klart kan du distribuera din app till Azure.
Distribuera din funktionsapp till Azure
Viktigt!
Distribution till en befintlig funktionsapp skriver alltid över innehållet i appen i Azure.
- I kommandopanelen anger du sedan och väljer Azure Functions: Distribuera till funktionsapp. 
- Välj den funktionsapp som du nyss skapade. När du uppmanas att skriva över tidigare distributioner väljer du Distribuera för att distribuera funktionskoden till den nya funktionsappresursen. 
- När distributionen är klar väljer du Visa utdata för att visa resultatet av skapandet och distributionen, inklusive de Azure-resurser som du skapade. Om du missar meddelandet väljer du klockikonen i det nedre högra hörnet för att se det igen.   
Appar på Functions Premium-plan
Om appen körs på Functions Premium-planen aktiverar du inställningen Körningsskalningsövervakning efter distributionen för att säkerställa att appen skalas automatiskt baserat på belastning:
az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites
Testa din funktionsapp
Kör följande kommando för att hämta funktionens URL:
az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME>  --query '[].{Function:name, URL:invokeUrlTemplate}' --output json
Kontrollera orkestreringsstatus
Kontrollera statusen för orkestreringsinstansen och aktivitetsinformationen på Durable Task Scheduler-instrumentpanelen. För att komma åt instrumentpanelen måste du logga in.
Anmärkning
Följande instruktion visar en rolltilldelning som är begränsad till en specifik aktivitetshubb. Om du behöver åtkomst till alla aktivitetshubbar i en schemaläggare utför du tilldelningen på schemaläggningsnivå.
- Gå till resursen för den hållbara arbetsuppgiftsschemaläggaren på portalen. 
- Klicka på ett namn på en aktivitetshubb. 
- Välj Åtkomstkontroll (IAM) i den vänstra menyn. 
- Klicka på Lägg till för att lägga till en rolltilldelning.   
- Sök efter och välj Durable Task Data-bidragsgivare. Klicka på Nästa.   
- På fliken Medlemmar för Tilldela åtkomst till väljer du Användare, grupp eller tjänstens huvudnamn. 
- För Medlemmar klickar du på + Välj medlemmar. 
- I fönstret Välj medlemmar söker du efter ditt namn eller din e-postadress:   
- Välj din e-post och klicka på knappen Välj . 
- Klicka på Översikt + tilldelning för att slutföra tilldela rollen. 
- När rollen har tilldelats klickar du på Översikt på den vänstra menyn i aktivitetshubbens resurs och navigerar till instrumentpanelens URL som finns i det översta avsnittet Essentials . 
Rensa resurser
Om du inte längre behöver de resurser som du skapade för att slutföra snabbstarten tar du bort resursgruppen och alla relaterade resurser för att undvika relaterade kostnader i din Azure-prenumeration.
Nästa steg
- Läs mer om Durable Task Scheduler-instrumentpanelen.
- Felsöka eventuella fel som kan uppstå när du använder Durable Task Scheduler.