Rychlý start: Konfigurace aplikace Durable Functions pro použití Plánovače úloh Durable

Použijte Durable Task Scheduler jako back-end pro vaše aplikace Durable Functions k ukládání běhového stavu orchestrací a entit. V tomto rychlém startu naklonujete ukázku Hello Cities, která je už nakonfigurovaná tak, aby používala Plánovač úloh Durable, spustili ji místně s emulátorem a nasadili ji do Azure.

  • Naklonujte ukázku Hello Cities předem nakonfigurovanou pro Durable Task Scheduler.
  • Nastavte emulátor plánovače úloh Durable pro místní vývoj.
  • Spusťte ukázku a ověřte výstup orchestrace.
  • Nasaďte aplikaci do Azure a monitorujte ji prostřednictvím řídicího panelu Plánovače úloh Durable.

Předpoklady

Tip

Jakmile je emulátor spuštěný, můžete přistupovat k řídicímu panelu Durable Task Scheduler na adrese http://localhost:8082, kde můžete sledovat orchestrace.

Spusťte ukázku pro rychlý start

Nainstalujte nejnovější verzi balíčku Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged pomocí příkazu dotnet add package :

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.DurableTask.AzureManaged --prerelease

Poznámka:

Rozšíření Durable Task Scheduler vyžaduje verzi Microsoft.Azure.Functions.Worker.Extensions.DurableTask nebo vyšší.1.2.2

  1. Sestavte a spusťte aplikaci funkcí:

    dotnet build
    func start
    

V host.jsonaktualizujte extensionBundle vlastnost tak, aby používala verzi 4.32.0 nebo novější, která zahrnuje podporu Durable Task Scheduler:

{
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[4.32.0, 5.0.0)"
  }
}
  1. Spusťte aplikaci funkcí:

    func start
    
  1. Sestavte a spusťte aplikaci funkcí:

    mvn clean package
    mvn azure-functions:run
    
  1. V samostatném terminálu aktivujte orchestraci:

    $response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/DurableFunctionsOrchestrationCSharp1_HttpStart
    $response
    
  1. V samostatném terminálu aktivujte orchestraci:

    $response = Invoke-RestMethod -Method POST -Uri http://localhost:7071/api/StartChaining
    $response
    
  1. Odpověď obsahuje stavové adresy URL pro instanci orchestrátoru. Zadejte dotaz na statusQueryGetUri pro kontrolu výsledku:

    Invoke-RestMethod -Uri $response.statusQueryGetUri
    

    Pokud je u orchestrace runtimeStatus nastavena hodnota Completed, výstup obsahuje výsledky pozdravů. Pokud runtimeStatus se zobrazí Running nebo Pending, počkejte chvíli a znovu zadejte dotaz.

  2. Zobrazte další podrobnosti o instanci orchestrátoru na řídicím panelu Durable Task Scheduler na adrese http://localhost:8082.

Vysvětlení konfigurace Plánovače úloh Durable

Klíčová konfigurace, díky které tyto ukázky používají Durable Task Scheduler, je ve dvou souborech.

host.json

Oddíl storageProvider říká Durable Functions, aby místo výchozího back-endu Azure Storage používal plánovač trvalých úloh (azureManaged):

{
  "extensions": {
    "durableTask": {
      "hubName": "default",
      "storageProvider": {
        "type": "azureManaged",
        "connectionStringName": "DURABLE_TASK_SCHEDULER_CONNECTION_STRING"
      }
    }
  }
}

local.settings.json

Connection string odkazuje na místní emulátor pro vývoj:

{
  "Values": {
    "DURABLE_TASK_SCHEDULER_CONNECTION_STRING": "Endpoint=http://localhost:8080;TaskHub=default;Authentication=None"
  }
}

Poznámka:

Pokud chcete migrovat existující Durable Functions aplikaci, aktualizujte tyto dva soubory a přidejte příslušný balíček rozšíření pro váš jazyk. Pro .NET nainstalujte Microsoft.Azure. Functions.Worker.Extensions.DurableTask.AzureManaged balíček NuGet. Pro ostatní jazyky aktualizujte sadu rozšíření v host.json na verzi [4.32.0, 5.0.0).

Spuštění aplikace v Azure

Vytvoření požadovaných prostředků

Vytvořte instanci Plánovače trvalých úloh a aplikaci Azure Functions na Azure pomocí integrovaného toku vytváření aplikace Function. Toto prostředí automaticky nastaví přístup na základě identity a nakonfiguruje požadované proměnné prostředí pro aplikaci pro přístup k plánovači.

  1. Přejděte do okna vytvoření aplikace funkcí.

    Snímek obrazovky s možnostmi hostování aplikací Funkcí

  2. V panelu Vytvořit aplikaci funkcí (Flex Consumption) vyplňte údaje na kartě Základy.

    Snímek obrazovky karty Basic při vytváření aplikace funkcí plánu Flex Consumption.

    Pole Description
    Subscription Vyberte své Azure předplatné.
    Skupina zdrojů Vyberte existující skupinu prostředků nebo klikněte na Vytvořit novou a vytvořte novou.
    Název aplikace Function Vytvořte jedinečný název aplikace funkcí.
    Chcete nasadit kód nebo image kontejneru? Ponechte vybranou možnost Kód .
    Oblast Vyberte jednu z podporovaných oblastí.
    Zásobník runtime Vyberte runtime, který používáte pro toto rychlé spuštění.
    Verze Vyberte verzi běhového prostředí.
    Velikost instance Vyberte velikost instance nebo použijte výchozí výběr. Přečtěte si další informace o velikostech instancí.
    Zónová redundance Ponechte výchozí nastavení Zakázáno .
  3. Vyberte kartu Durable Functions.

  4. Zvolte Azure managed: Durable Task Scheduler jako poskytovatele back-endu pro váš Durable Functions.

  5. Vytvořte zdroj naplánování. Tato akce automaticky vytvoří centrum úloh.

    Snímek obrazovky z vytváření aplikace Flex Consumption Function.

    Pole Description
    Základní systém úložiště Vyberte Azure managed: Durable Task Scheduler.
    Oblast Ujistěte se, že oblasti plánovače a aplikace funkcí jsou stejné v geografickém umístění.
    Plánovač úloh Durable Použijte nabízený název plánovače nebo klikněte na Vytvořit nový a vytvořte vlastní název.
    Plán Vyberte cenový plán , který nejlépe vyhovuje vašemu projektu. Projděte si průvodce výběrem architektury orchestrace a určete, který plán je nejvhodnější pro produkční použití.
    Jednotky kapacity Platí pouze v případě, že je vybraný cenový plán Dedicated. Můžete vybrat až 3 jednotky kapacity.
  6. Kliknutím na Zkontrolovat a vytvořit zkontrolujte vytvoření prostředku.

    Spravovaná identita přiřazená uživatelem s požadovaným oprávněním řízení přístupu na základě role (RBAC) se vytvoří automaticky a přidá se do aplikace funkcí. V souhrnném zobrazení najdete informace týkající se prostředku spravované identity, například:

    • Role přiřazená jí (Přispěvatel dat trvalých úloh)

    • Přiřazení omezené na úroveň úkolového centra

      Snímek obrazovky s vybranými poli a vlastnostmi na kartě „Revize a vytvoření“

  7. Po úspěšném ověření klikněte na Vytvořit .

Nasazení prostředků může trvat přibližně 15 až 20 minut. Po dokončení můžete aplikaci nasadit do Azure.

Nasazení aplikace funkcí do Azure

Důležité

Nasazení aplikace do již existující funkční aplikace vždy přepíše obsah této aplikace v Azure.

  1. Na paletě příkazů zadejte a pak vyberte Azure Functions: Deploy to Function App.

  2. Vyberte aplikaci funkcí, kterou jste právě vytvořili. Po zobrazení výzvy k přepsání předchozích nasazení vyberte Nasadit a nasaďte kód funkce do nového prostředku aplikace funkcí.

  3. Po dokončení nasazení vyberte Zobrazit výstup a zobrazte výsledky vytváření a nasazení, včetně prostředků Azure, které jste vytvořili. Pokud oznámení vynecháte, vyberte ikonu zvonku v pravém dolním rohu a znovu ho zobrazíte.

    Snímek obrazovky okna Zobrazit výstup

Aplikace v plánu Functions Premium

Pokud je vaše aplikace spuštěná v plánu Functions Premium, zapněte nastavení monitorování škálování modulu runtime po nasazení, abyste zajistili automatické škálování aplikace na základě zatížení:

az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.functionsRuntimeScaleMonitoringEnabled=1 --resource-type Microsoft.Web/sites

Otestujte svou funkční aplikaci

Spuštěním následujícího příkazu získejte adresu URL vaší funkce:

az functionapp function list --resource-group <RESOURCE_GROUP_NAME> --name <FUNCTION_APP_NAME>  --query '[].{Function:name, URL:invokeUrlTemplate}' --output json

Kontrola stavu orchestrace

Zkontrolujte stav instance orchestrace a podrobností o aktivitě na řídicím panelu Plánovače úloh Durable. Přístup k řídicímu panelu vyžaduje přihlášení.

Poznámka:

Následující instrukce ukazuje přiřazení role s vymezeným oborem pro konkrétní centrum úloh. Pokud potřebujete přístup ke všem rozbočovačům úloh v plánovači, proveďte přiřazení na úrovni plánovače.

  1. Na portálu přejděte k prostředku Durable Task Scheduler.

  2. Klikněte na název centra úloh.

  3. V nabídce vlevo vyberte Řízení přístupu (IAM).

  4. Kliknutím na Přidat přidáte přiřazení role.

    Snímek obrazovky při přidávání přiřazení role na panelu řízení přístupu v portálu.

  5. Vyhledejte a vyberte Durable Task Data Contributor. Klikněte na tlačítko Další.

    Snímek obrazovky s výběrem přiřazení role Přispěvatel údajů pro trvalé úlohy na portálu.

  6. Na kartě Členové vyberte možnost Přiřadit přístup k uživateli, skupině nebo instančnímu objektu.

  7. U členů klikněte na + Vybrat členy.

  8. V podokně Vybrat členy vyhledejte svoje jméno nebo e-mail:

    Snímek obrazovky s výběrem typu spravované identity přiřazené uživatelem na portálu

  9. Vyberte svůj e-mail a klikněte na tlačítko Vybrat .

  10. Kliknutím na Zkontrolovat a přiřadit dokončete přiřazení role.

  11. Po přiřazení role klikněte v levé nabídce prostředku centra úloh na Přehled a přejděte na adresu URL řídicího panelu v horní části Základy .

Vyčistěte zdroje

Pokud už nepotřebujete prostředky, které jste vytvořili k dokončení rychlého startu, abyste se vyhnuli souvisejícím nákladům ve vašem předplatném Azure, odstraňte skupinu prostředků a všechny související prostředky.

Další kroky