Kommentar
Å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.
Använd Durable Task Scheduler som en serverdel för dina Durable Functions-appar för att lagra orkestrerings- och entitetskörningstillstånd. I den här snabbstarten klonar du ett Hello Cities-exempel som redan har konfigurerats för att använda Durable Task Scheduler, kör det lokalt med emulatorn och distribuerar det sedan till Azure.
- Klona Hello Cities-exemplet som är förkonfigurerat för Durable Task Scheduler.
- Konfigurera Durable Task Scheduler-emulatorn för lokal utveckling.
- Kör exemplet och verifiera orkestreringsutdata.
- Distribuera appen till Azure och övervaka den via Durable Task Schedulers instrumentpanel.
Förutsättningar
- Skapa en Durable Functions app – JavaScript
Tip
När emulatorn körs kan du komma åt instrumentpanelen Durable Task Scheduler på http://localhost:8082 för att övervaka orkestreringar.
Kör snabbstartsexemplet
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 Microsoft. Azure. Functions.Worker.Extensions.DurableTask version 1.2.2 eller senare.
Skapa och starta funktionsappen:
dotnet build func start
I host.jsonuppdaterar du egenskapen så att den extensionBundle använder version 4.32.0 eller senare, vilket inkluderar stöd för Durable Task Scheduler:
{
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.32.0, 5.0.0)"
}
}
Starta funktionsappen:
func start
Skapa och starta funktionsappen:
mvn clean package mvn azure-functions:run
I en annan terminal utlöser du en orkestrering:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/DurableFunctionsOrchestrationCSharp1_HttpStart $response
I en annan terminal utlöser du en orkestrering:
$response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/StartChaining $response
Svaret innehåller status-URL:er för orkestreringsinstansen. Fråga
statusQueryGetUriför att kontrollera resultatet:Invoke-RestMethod -Uri $response.statusQueryGetUriNär orkestreringens
runtimeStatusärCompletedinnehåller utdata hälsningsresultat. OmruntimeStatusvisarRunningellerPendingväntar du en stund och frågar igen.Visa fler detaljer om orkestreringsinstansen i Durable Task Scheduler-dashboarden på
http://localhost:8082.
Förstå konfigurationen av Durable Task Scheduler
Nyckelkonfigurationen som gör att dessa exempel använder Durable Task Scheduler finns i två filer.
host.json
I avsnittet storageProvider uppmanas Durable Functions att använda Durable Task Scheduler (azureManaged) i stället för standardserverdelen för Azure Storage:
{
"extensions": {
"durableTask": {
"hubName": "default",
"storageProvider": {
"type": "azureManaged",
"connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
}
}
}
}
local.settings.json
Anslutningssträngen pekar på den lokala emulatorn för utveckling:
{
"Values": {
"DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"
}
}
Anmärkning
Om du vill migrera en befintlig Durable Functions app uppdaterar du dessa två filer och lägger till lämpligt tilläggspaket för ditt språk. För .NET installerar du NuGet-paketet Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged. För andra språk uppdaterar du tilläggspaketet till host.json version [4.32.0, 5.0.0).
Kör din app i Azure
Skapa nödvändiga resurser
Skapa en instans av Durable Task Scheduler och en Azure Functions-app på Azure enligt det integrerade flödet för skapande av Funktionsappen. 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.
På bladet Skapa funktionsapp (Flex Consumption) fyller du i informationen på fliken Grundläggande .
Fält Beskrivning Subscription 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. Region Välj en av de regioner som stöds. Körningstack Välj den körmiljö som du använder för den här snabbstartsguiden. Utgåva Välj din stackversion. Instansstorlek Välj en instansstorlek eller använd standardvalet. Läs mer om instansstorlekar. Zonredundans Lämna som standardinställningen Inaktiverad . Välj fliken Varaktiga funktioner .
Välj Azure Managed: Durable Task Scheduler som backend-tjänstleverantör för dina Durable Functions.
Skapa en schemaläggarresurs. Den här åtgärden skapar automatiskt en aktivitetshubb.
Fält Beskrivning Lagringsserverdel Välj Durable Task Scheduler – Azure Managed. Region Kontrollera att scheduler- och funktionsappregionerna är desamma. Schemaläggare för varaktiga uppgifter Använd det erbjudna scheduler-namnet eller klicka på Skapa ny för att skapa ett anpassat namn. Plan Välj den prisplan som passar ditt projekt bäst. Kontrollera guiden Välj ett orkestreringsramverk för att avgöra vilken plan som är bäst för produktionsanvändning. Kapacitetsenheter Gäller endast när prisplanen "Dedikerad" har valts. Du kan välja upp till 3 kapacitetsenheter. 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!
När du distribuerar till en befintlig funktionsapp skrivs alltid innehållet i appen över i Azure.
I kommandopaletten anger du och väljer sedan 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 Durable Task Scheduler 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.