Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí Durable Functions, funkce Azure Functions, můžete psát stavové funkce v bezserverovém prostředí. Durable Functions nainstalujete instalací rozšíření Azure Functions v Visual Studio Code. Rozšíření spravuje stav, kontrolní body a restartování ve vaší aplikaci.
V tomto rychlém startu použijete rozšíření Durable Functions v Visual Studio Code k místnímu vytvoření a otestování aplikace hello world Durable Functions v Azure Functions. Aplikace Durable Functions orchestruje a zřetězí volání dalších funkcí. Pak publikujete kód funkce do Azure. Nástroje, které používáte, jsou dostupné prostřednictvím rozšíření Visual Studio Code.
Předpoklady
K dokončení tohoto rychlého startu potřebujete:
Visual Studio Code nainstalován.
Rozšíření Azure Functions pro Visual Studio Code je nainstalováno.
Nainstalovaná nejnovější verze nástrojů Azure Functions Core Tools.
Testovací nástroj HTTP, který udržuje vaše data v bezpečí. Další informace najdete v tématu Nástroje pro testování HTTP.
Předplatné služby Azure. Pokud chcete použít Durable Functions, musíte mít účet Azure Storage.
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Vytvoření místního projektu
V této části použijete Visual Studio Code k vytvoření místního projektu Azure Functions.
V Visual Studio Code vyberte klávesu F1 (nebo stisknutím kombinace kláves Ctrl/Cmd+Shift+P) otevřete paletu příkazů. Na příkazovém řádku (
>) zadejte a pak vyberte Azure Functions: Create New Project.
Vyberte Procházet. V dialogovém okně Vybrat složku přejděte do složky, která se má použít pro váš projekt, a pak zvolte Vybrat.
Na příkazovém řádku zadejte následující informace:
Výzva Action Description Výběr jazyka pro projekt aplikace funkcí Vyberte PowerShell. Vytvoří místní projekt Funkcí PowerShellu. Vyberte verzi. Vyberte Azure Functions v4. Tato možnost se zobrazí jenom v případě, že nástroje Core Tools ještě nejsou nainstalované. V tomto případě se nástroje Core Tools nainstalují při prvním spuštění aplikace. Výběr šablony pro první funkci projektu Vyberte Přeskočit prozatím. Vyberte, jak chcete projekt otevřít. Vyberte Otevřít v aktuálním okně. Otevře Visual Studio Code ve vybrané složce.
Visual Studio Code nainstaluje Azure Functions Core Tools, pokud je potřeba vytvořit projekt. Vytvoří také projekt pro funkční aplikaci ve složce. Tento projekt obsahuje konfigurační soubory host.json a local.settings.json .
V kořenové složce se vytvoří také soubor package.json .
Konfigurace aplikace funkcí pro použití PowerShellu 7.4 a samostatné sady Durable Functions SDK
Otevřete soubor local.settings.json a potvrďte, že nastavení s názvem FUNCTIONS_WORKER_RUNTIME_VERSION je nastaveno na 7.4 a že nastavení s názvem ExternalDurablePowerShellSDK je nastaveno na true. Pokud chybí nebo pokud jsou nastavené na jiné hodnoty, aktualizujte obsah souboru.
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "powershell",
"FUNCTIONS_WORKER_RUNTIME_VERSION" : "7.4",
"ExternalDurablePowerShellSDK": "true"
}
}
Dále v souboru zadejte položku sady DF SDK requirements.psd1 , jak je znázorněno v následujícím příkladu:
# This file enables modules to be automatically managed by the Functions service.
# See https://aka.ms/functionsmanageddependency for additional information.
#
@{
# For latest supported version, go to 'https://www.powershellgallery.com/packages/AzureFunctions.PowerShell.Durable.SDK/'.
'AzureFunctions.PowerShell.Durable.SDK' = '2.*'
}
Ujistěte se, že používáte nejnovější verzi modulu AzureFunctions.PowerShell.Durable.SDK . Specifikátor 2.* verze zajistí, že získáte nejnovější stabilní verzi 2.x.
Do souboru přidejte následující řádek profile.ps1 (obvykle na konec souboru):
Import-Module AzureFunctions.PowerShell.Durable.SDK -ErrorAction Stop
Vytvoření funkcí
Nejzásadnější Durable Functions aplikace má tři funkce:
- Funkce orchestratoru: Pracovní postup, který orchestruje další funkce.
- Funkce aktivity: Funkce, která je volána funkcí orchestrátoru, provádí práci a volitelně vrací hodnotu.
- Client function: Běžná funkce v Azure, která spouští funkci orchestrátoru. Tento příklad používá funkci aktivovanou protokolem HTTP.
Orchestrátorová funkce
Pomocí šablony vytvořte kód aplikace Durable Functions v projektu.
Na paletě příkazů zadejte a pak vyberte Azure Functions: Create Function.
Na příkazovém řádku zadejte následující informace:
Výzva Action Description Výběr šablony pro funkci Zadejte Durable Functions orchestrátor. Vytvoří orchestraci aplikace Durable Functions. Zadejte název funkce. Zadejte HelloOrchestrator. Název pro vaši trvalou funkci.
Přidali jste orchestrátor pro koordinaci funkcí aktivit. Otevřete HelloOrchestrator/run.ps1 a zobrazte funkci orchestratoru. Každé volání rutiny Invoke-ActivityFunction vyvolá funkci aktivity s názvem Hello.
Dále přidáte odkazovanou Hello funkci aktivity.
Funkce aktivity
Na paletě příkazů zadejte a pak vyberte Azure Functions: Create Function.
Na příkazovém řádku zadejte následující informace:
Výzva Action Description Výběr šablony pro funkci Vyberte aktivitu Durable Functions. Vytvoří funkci aktivity. Zadejte název funkce. Zadejte Hello. Název funkce aktivity.
Přidali jste funkci aktivity Hello, která je vyvolána orchestrátorem. Otevřete Hello/run.ps1 , abyste viděli, že jako vstup přebírá název a vrací pozdrav. Funkce aktivity je místo, kde provádíte akce, jako je volání databáze nebo provádění výpočtu.
Nakonec přidáte funkci aktivovanou protokolem HTTP, která spustí orchestraci.
Klientská funkce (HTTP spouštěč)
Na paletě příkazů zadejte a pak vyberte Azure Functions: Create Function.
Na příkazovém řádku zadejte následující informace:
Výzva Action Description Výběr šablony pro funkci Vyberte Durable Functions starter HTTP. Vytvoří úvodní funkci HTTP. Zadejte název funkce. Zadejte HttpStart. Název funkce aktivity. Úroveň autorizace Vyberte Anonymní. Pro ukázkové účely tato hodnota umožňuje volat funkci bez použití ověřování.
Přidali jste funkci aktivovanou protokolem HTTP, která spouští orchestraci. Otevřete HttpStart/run.ps1 a zkontrolujte, jestli ke spuštění nové orchestrace používá rutinu Start-NewOrchestration. Potom pomocí rutiny New-OrchestrationCheckStatusResponse vrátí odpověď HTTP obsahující adresy URL, které lze použít k monitorování a správě nové orchestrace.
Teď máte Durable Functions aplikaci, kterou můžete spustit místně a nasadit do Azure.
Návod
V tomto rychlém startu se používá samostatná sada PowerShell SDK Durable Functions, která je teď obecně dostupná a poskytuje nejlepší výkon a nejnovější funkce. Další informace o sadě SDK a migraci ze starší předdefinované verze najdete v samostatné příručce k sadě PowerShell SDK.
Místní testování funkce
Azure Functions Core Tools vám umožní spustit projekt Azure Functions na místním vývojovém počítači. Při prvním spuštění funkce v Visual Studio se zobrazí výzva k instalaci těchto nástrojů.
Pokud chcete funkci otestovat, nastavte zarážku v
Hellokódu funkce aktivity (v hello/run.ps1). Vyberte F5 nebo vyberte Ladit: Spusťte ladění na paletě příkazů a spusťte projekt aplikace funkcí. Výstup nástroje Core Tools se zobrazí na panelu terminálu.Poznámka:
Další informace o ladění najdete v tématu Diagnostika Durable Functions.
Durable Functions vyžaduje spuštění účtu úložiště Azure. Když Visual Studio Code zobrazí výzvu k výběru účtu úložiště, zvolte Vybírejte účet úložiště.
Na příkazovém řádku zadejte následující informace pro vytvoření nového účtu úložiště v Azure.
Výzva Action Description Výběr předplatného Vyberte název předplatného. Vaše předplatné Azure. Výběr účtu úložiště Vyberte Vytvořit nový účet úložiště. Zadejte název nového účtu úložiště. Zadejte jedinečný název. Název účtu úložiště, který chcete vytvořit. Výběr skupiny prostředků Zadejte jedinečný název. Název skupiny prostředků, která se má vytvořit. Výběr umístění Vyberte oblast Azure. Vyberte oblast, která je blízko vás. Na panelu terminálu zkopírujte koncový bod adresy URL funkce aktivované protokolem HTTP.
Pomocí prohlížeče nebo testovacího nástroje HTTP odešlete požadavek HTTP POST do koncového bodu adresy URL.
Nahraďte poslední segment názvem funkce orchestrátoru (
HelloOrchestrator). Adresa URL by měla být podobnáhttp://localhost:7071/api/orchestrators/HelloOrchestrator.Odpověď je počáteční výsledek funkce HTTP. Dá vám vědět, že trvalá orchestrace byla úspěšně spuštěna. Zatím nezobrazuje konečný výsledek orchestrace. Odpověď obsahuje několik užitečných adres URL. Prozatím zadejte dotaz na stav orchestrace.
Zkopírujte hodnotu adresy URL pro
statusQueryGetUri, vložte ji do adresního řádku prohlížeče a spusťte požadavek. K vydání požadavku GET můžete také pokračovat v používání testovacího nástroje HTTP.Požadavek se dotazuje na stav instance orchestrace. Musíte získat konečnou odpověď, která zobrazuje dokončenou instanci a obsahuje výstupy nebo výsledky trvalé funkce. Vypadá to jako v tomto příkladu:
{ "name": "HelloOrchestrator", "instanceId": "9a528a9e926f4b46b7d3deaa134b7e8a", "runtimeStatus": "Completed", "input": null, "customStatus": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2020-03-18T21:54:49Z", "lastUpdatedTime": "2020-03-18T21:54:54Z" }Pokud chcete zastavit ladění, ve Visual Studio Code stiskněte klávesy Shift+F5.
Po ověření správného spuštění funkce na místním počítači je čas projekt publikovat do Azure.
Přihlásit se do Azure
Než budete moct vytvářet prostředky Azure nebo publikovat aplikaci, musíte se přihlásit do Azure.
Pokud ještě nejste přihlášení, na panelu Aktivita vyberte ikonu Azure. Pak v části Prostředky vyberte Přihlásit se k Azure.
Pokud už jste přihlášení a uvidíte stávající předplatná, přejděte k další části. Pokud ještě účet Azure nemáte, vyberte Vytvoření účtu Azure. Studenti mohou vybrat Vytvořit účet Azure pro studenty.
Po zobrazení výzvy v prohlížeči vyberte svůj účet Azure a přihlaste se pomocí svých přihlašovacích údajů k účtu Azure. Pokud vytvoříte nový účet, můžete se přihlásit po vytvoření účtu.
Po úspěšném přihlášení můžete zavřít nové okno prohlížeče. Předplatná, která patří vašemu Azure účtu, se zobrazí na bočním panelu.
Vytvoření aplikace funkcí v Azure
V této části vytvoříte funkční aplikaci v plánu Flex Consumption společně se souvisejícími prostředky v rámci vašeho předplatného Azure. Mnoho rozhodnutí o vytváření prostředků se pro vás provádí na základě výchozího chování. Pokud chcete mít větší kontrolu nad vytvořenými prostředky, musíte místo toho vytvořit aplikaci funkcí s pokročilými možnostmi.
V Visual Studio Code výběrem klávesy F1 otevřete paletu příkazů. Na příkazovém řádku (
>) zadejte a pak vyberte Azure Functions: Vytvořit aplikaci funkcí v Azure.Na příkazovém řádku zadejte následující informace:
Výzva Action Výběr předplatného Vyberte předplatné Azure, které chcete použít. Výzva se nezobrazí, pokud v části Prostředky uvidíte jenom jedno předplatné. Zadejte nový název aplikace funkcí. Zadejte globálně jedinečný název platný v cestě URL. Zadaný název se ověří, abyste měli jistotu, že je v Azure Functions jedinečný. Výběr umístění pro nové prostředky Vyberte oblast Azure. Pokud chcete dosáhnout lepšího výkonu , vyberte oblast blízko vás. Zobrazí se pouze oblasti podporované plány Flex Consumption. Výběr zásobníku modulu runtime Vyberte verzi jazyka, který aktuálně používáte místně. Vyberte typ ověřování zdroje Vyberte Spravovanou identitu, což je nejbezpečnější možnost připojení k výchozímu účtu úložiště hostitele. Na panelu Azure: Protokol aktivit zobrazuje rozšíření Azure stav jednotlivých prostředků, když jsou vytvářeny v Azure.
Po vytvoření funkční aplikace se ve vašem předplatném Azure vytvoří následující související prostředky. Prostředky se pojmenují na základě názvu, který jste zadali pro vaši aplikaci funkcí.
- Skupina prostředků, což je logický kontejner pro související prostředky.
- Aplikace funkcí, která poskytuje prostředí pro spouštění kódu funkce. Aplikace funkcí umožňuje seskupit funkce jako logickou jednotku pro snadnější správu, nasazení a sdílení prostředků ve stejném plánu hostování.
- Plán Azure App Service, který definuje základního hostitele vaší aplikace funkcí.
- Standardní účet Azure Storage, který používá hostitel služby Functions k udržování stavu a dalších informací o vaší aplikaci funkcí.
- Instance Application Insights, která je připojená k funkční aplikaci a sleduje použití vašich funkcí v této aplikaci.
- Spravovaná identita přiřazená uživatelem přidaná do role Přispěvatel dat objektů blob služby Storage v novém výchozím účtu úložiště hostitele.
Po vytvoření aplikace funkcí a použití balíčku nasazení se zobrazí oznámení.
Návod
Ve výchozím nastavení jsou prostředky Azure potřebné pro vaši aplikaci funkcí vytvořeny na základě názvu, který zadáte pro svou aplikaci funkcí. Ve výchozím nastavení se prostředky vytvářejí pomocí aplikace funkcí ve stejné nové skupině prostředků. Pokud chcete přizpůsobit názvy přidružených zdrojů nebo znovu použít existující zdroje, publikujte projekt s rozšířenými možnostmi vytvoření.
Nasazení projektu 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.
Na paletě příkazů zadejte a pak vyberte Azure Functions: Deploy to Function App.
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í.
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.
Testování funkce v Azure
Ujistěte se, že je nastavení aplikace pojmenované
ExternalDurablePowerShellSDKnastaveno na hodnotutrue.Zkopírujte adresu URL triggeru HTTP z výstupního panelu. Adresa URL, která volá funkci aktivovanou protokolem HTTP, by měla být v tomto formátu:
https://<functionappname>.azurewebsites.net/api/orchestrators/HelloOrchestratorDo adresního řádku prohlížeče vložte novou adresu URL požadavku HTTP. Když použijete publikovanou aplikaci, můžete očekávat, že získáte stejnou odpověď na stav, kterou jste získali při místním otestování.
Aplikace PowerShellu Durable Functions, kterou jste vytvořili a publikovali pomocí Visual Studio Code, je připravená k použití.
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.
Související obsah
- Přečtěte si o vzorech aplikací common Durable Functions.