Vytvoření první odolné funkce v JavaScriptu
Durable Functions je rozšíření Azure Functions, které umožňuje psát stavové funkce v bezserverovém prostředí. Toto rozšíření za vás spravuje stav, kontrolní body a restartování.
V tomto článku se dozvíte, jak pomocí rozšíření Azure Functions editoru Visual Studio Code místně vytvořit a otestovat odolnou funkci "hello world". Tato funkce bude orchestrovat a zřetězovat volání do jiných funkcí. Kód funkce potom publikujete do Azure.
Důležité
Obsah tohoto článku se změní na základě vašeho výběru programovacího modelu Node.js v selektoru v horní části stránky. Model v4 je obecně dostupný a je navržený tak, aby měl flexibilnější a intuitivnější prostředí pro vývojáře v JavaScriptu a TypeScriptu. Další informace o rozdílech mezi v3 a v4 najdete v průvodci migrací.
Požadavky
Pro absolvování tohoto kurzu potřebujete:
- Nainstalujte Visual Studio Code.
- Nainstalujte verzi
1.10.4
rozšíření Azure Functions VS Code nebo vyšší.
- Ujistěte se, že máte nejnovější verzi nástrojů Azure Functions Core Tools.
- Ujistěte se, že máte verzi
v4.0.5382
azure Functions Core Tools nebo novější.
- Durable Functions vyžaduje účet úložiště Azure. Musíte mít předplatné Azure.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Vytvoření místního projektu
V této části pomocí editoru Visual Studio Code vytvoříte místní projekt Azure Functions.
V editoru Visual Studio Code stisknutím klávesY F1 (nebo Ctrl/Cmd+Shift+P) otevřete paletu příkazů. Na paletě příkazů vyhledejte a vyberte
Azure Functions: Create New Project...
.Zvolte prázdné umístění složky pro váš projekt a zvolte Vybrat.
Po zobrazení výzev zadejte následující informace:
Instrukce Hodnota Popis Výběr jazyka pro projekt aplikace funkcí JavaScript Vytvořte místní projekt Node.js Functions. Výběr programovacího modelu JavaScriptu Model V3 Zvolte programovací model V3. Vyberte verzi. Azure Functions v4 Tuto možnost uvidíte 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 Prozatím přeskočte Vyberte, jak chcete projekt otevřít. Otevřít v aktuálním okně Znovu otevře VS Code ve složce, kterou jste vybrali.
Po zobrazení výzev zadejte následující informace:
Instrukce Hodnota Popis Výběr jazyka pro projekt aplikace funkcí JavaScript Vytvořte místní projekt Node.js Functions. Výběr programovacího modelu JavaScriptu Model V4 Zvolte programovací model V4. Vyberte verzi. Azure Functions v4 Tuto možnost uvidíte 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 Prozatím přeskočte Vyberte, jak chcete projekt otevřít. Otevřít v aktuálním okně Znovu otevře VS Code ve složce, kterou jste vybrali.
Visual Studio Code v případě potřeby nainstaluje nástroje Azure Functions Core Tools. Vytvoří také projekt aplikace funkcí ve složce. Tento projekt obsahuje konfigurační soubory host.json a local.settings.json .
V package.json
kořenové složce se vytvoří také soubor.
Instalace balíčku npm Durable Functions
Pokud chcete pracovat s Durable Functions v aplikaci funkcí Node.js, použijte knihovnu s názvem durable-functions
.
Pokud chcete použít programovací model V4, musíte nainstalovat verzi durable-functions
Preview v3.x
.
- K otevření nového terminálu v editoru VS Code použijte nabídku Zobrazení nebo Ctrl +Shift+ ' .
durable-functions
Nainstalujte balíček npm spuštěnímnpm install durable-functions
v kořenovém adresáři aplikace funkcí.
durable-functions
Nainstalujte verzi balíčku npm ve verzi Preview spuštěnímnpm install durable-functions@preview
v kořenovém adresáři aplikace funkcí.
Vytváření funkcí
Nejzásadnější aplikace Durable Functions obsahuje tři funkce:
- Funkce orchestratoru – popisuje pracovní postup, který orchestruje další funkce.
- Funkce aktivity – volaná funkcí orchestrátoru, provádí práci a volitelně vrací hodnotu.
- Klientská funkce – běžná funkce Azure, která spouští funkci orchestrátoru. Tento příklad používá funkci aktivovanou protokolem HTTP.
Orchestrator
Pomocí šablony vytvoříte v projektu kód odolné funkce.
Na paletě příkazů vyhledejte a vyberte
Azure Functions: Create Function...
.Po zobrazení výzev zadejte následující informace:
Instrukce Hodnota Popis Výběr šablony pro funkci Orchestrátor Durable Functions Vytvoření orchestrace Durable Functions Zvolte typ odolného úložiště. Azure Storage (výchozí) Vyberte back-end úložiště používaný pro Durable Functions. Zadejte název funkce. HelloOrchestrator Název odolné funkce
Přidali jste orchestrátor pro koordinaci funkcí aktivit. Otevřete HelloOrchestrator/index.js a zobrazte funkci orchestrátoru. Každé volání context.df.callActivity
vyvolá funkci aktivity s názvem Hello
.
Dále přidáte odkazovanou Hello
funkci aktivity.
Aktivita
Na paletě příkazů vyhledejte a vyberte
Azure Functions: Create Function...
.Po zobrazení výzev zadejte následující informace:
Instrukce Hodnota Popis Výběr šablony pro funkci Aktivita Durable Functions Vytvoření funkce aktivity Zadejte název funkce. Hello (Nazdar) Název funkce aktivity
Přidali Hello
jste funkci aktivity, která je vyvolána orchestrátorem. Otevřete Hello/index.js , abyste viděli, že jako vstup přebírá jméno a vrací pozdrav. Funkce aktivity je místo, kde ve svém pracovním postupu provádíte "skutečnou práci": pracujete například na volání databáze nebo provádíte některé ne deterministické výpočty.
Nakonec přidáte funkci aktivovanou protokolem HTTP, která spustí orchestraci.
Klientská funkce (úvodní aplikace HTTP)
Na paletě příkazů vyhledejte a vyberte
Azure Functions: Create Function...
.Po zobrazení výzev zadejte následující informace:
Instrukce Hodnota Popis Výběr šablony pro funkci Starter HTTP durable Functions Vytvoření úvodní funkce HTTP Zadejte název funkce. DurableFunctionsHttpStart Název funkce aktivity Úroveň autorizace Anonymní Pro ukázkové účely povolte, aby se funkce volala bez ověřování.
Přidali jste funkci aktivovanou protokolem HTTP, která spouští orchestraci. Otevřete DurableFunctionsHttpStart/index.js , abyste viděli, že používá client.startNew
ke spuštění nové orchestrace. Pak se používá client.createCheckStatusResponse
k vrácení odpovědi HTTP obsahující adresy URL, které lze použít k monitorování a správě nové orchestrace.
Teď máte aplikaci Durable Functions, která se dá spustit místně a nasadit do Azure.
Jednou z výhod programovacího modelu V4 je flexibilita, ve které píšete své funkce. V modelu V4 můžete pomocí jedné šablony vytvořit všechny tři funkce v jednom souboru v projektu.
Na paletě příkazů vyhledejte a vyberte
Azure Functions: Create Function...
.Po zobrazení výzev zadejte následující informace:
Instrukce Hodnota Popis Výběr šablony pro funkci Orchestrátor Durable Functions Vytvořte soubor s orchestrací Durable Functions, funkcí Aktivity a úvodní funkcí Durable Client. Volba typu odolného úložiště Azure Storage (výchozí) Vyberte back-end úložiště používaný pro Durable Functions. Zadejte název funkce. dobrý den Název používaný pro odolné funkce
Otevřete soubor src/functions/hello.js a zobrazte vytvořené funkce.
Vytvořili jste orchestrátor volaný helloOrchestrator
ke koordinaci funkcí aktivit. Každé volání context.df.callActivity
vyvolá funkci aktivity s názvem hello
.
Přidali jste také hello
funkci aktivity, která je vyvolána orchestrátorem. Ve stejném souboru vidíte, že jako vstup přebírá jméno a vrací pozdrav. Funkce aktivity je místo, kde ve svém pracovním postupu provádíte "skutečnou práci": pracujete například na volání databáze nebo provádíte některé ne deterministické výpočty.
Nakonec jste přidali také funkci aktivovanou protokolem HTTP, která spouští orchestraci. Ve stejném souboru vidíte, že používá client.startNew
ke spuštění nové orchestrace. Pak se používá client.createCheckStatusResponse
k vrácení odpovědi HTTP obsahující adresy URL, které lze použít k monitorování a správě nové orchestrace.
Teď máte aplikaci Durable Functions, která se dá spustit místně a nasadit do Azure.
Místní testování funkce
Nástroje Azure Functions Core umožňují spouštět projekt Azure Functions na místním počítači pro vývoj. K instalaci těchto nástrojů budete vyzváni při prvním spuštění funkce z Visual Studio Code.
- Pokud chcete funkci otestovat, nastavte zarážku v
Hello
kódu funkce aktivity (Hello/index.js). Stisknutím klávesy F5 nebo výběremDebug: Start Debugging
z palety příkazů spusťte projekt aplikace funkcí. Výstup z nástrojů Tools se zobrazí na panelu Terminál.
- Pokud chcete funkci otestovat, nastavte zarážku v
hello
kódu funkce aktivity (src/functions/hello.js). Stisknutím klávesy F5 nebo výběremDebug: Start Debugging
z palety příkazů spusťte projekt aplikace funkcí. Výstup z nástrojů Tools se zobrazí na panelu Terminál.
Poznámka:
Další informace o ladění najdete v diagnostice Durable Functions.
Durable Functions vyžaduje, aby se spustil účet Azure Storage. Když VS Code zobrazí výzvu k výběru účtu úložiště, zvolte Vybrat účet úložiště.
Po zobrazení výzvy zadejte následující informace pro vytvoření nového účtu úložiště v Azure.
Instrukce Hodnota Popis Výběr předplatného název vašeho předplatného Vybrat předplatné Azure Vyberte účet úložiště. Vytvoření nového účtu úložiště Zadejte název nového účtu úložiště. jedinečný název Název účtu úložiště, který se má vytvořit Výběr skupiny prostředků jedinečný název Název skupiny prostředků, která se má vytvořit Výběr umístění oblast Vyberte oblast blízko vás. Na panelu Terminál zkopírujte adresu URL koncového bodu vaší funkce aktivované protokolem HTTP.
Odpověď je počáteční výsledek funkce HTTP s informacemi o úspěšném spuštění odolné orchestrace. Zatím není konečným výsledkem orchestrace. Odpověď obsahuje několik užitečných adres URL. Prozatím se dotazujme na stav orchestrace.
Zkopírujte hodnotu adresy URL a
statusQueryGetUri
vložte ji do adresního řádku prohlížeče a spusťte požadavek. Alternativně můžete k vydání požadavku GET dál používat Postman.Požadavek se dotazuje instance orchestrace na stav. Měli byste získat konečnou odpověď, která ukazuje, že se instance dokončila, a obsahuje výstupy nebo výsledky odolné funkce. Vypadá takto:
{ "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" }
{ "name": "helloOrchestrator", "instanceId": "6ba3f77933b1461ea1a3828c013c9d56", "runtimeStatus": "Completed", "input": "", "customStatus": null, "output": [ "Hello, Tokyo", "Hello, Seattle", "Hello, Cairo" ], "createdTime": "2023-02-13T23:02:21Z", "lastUpdatedTime": "2023-02-13T23:02:25Z" }
Ladění zastavíte stisknutím shift + F5 v editoru VS Code.
Po ověření správného fungování funkce na místním počítači je na čase publikovat projekt do Azure.
Přihlášení k 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í, zvolte ikonu Azure na panelu aktivit. Pak v oblasti Prostředky zvolte 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ě nemáte účet Azure, zvolte Vytvořit účet Azure.... Studenti můžou zvolit Vytvořit účet Azure for Students....
Po zobrazení výzvy v prohlížeči zvolte 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. Na bočním panelu se zobrazí předplatná, která patří vašemu účtu Azure.
Vytvoření aplikace funkcí v Azure
V této části vytvoříte aplikaci funkcí a související prostředky v předplatném Azure.
V editoru Visual Studio Code stisknutím klávesy F1 otevřete paletu příkazů a vyhledejte a spusťte příkaz
Azure Functions: Create Function App in Azure...
.Podle pokynů na obrazovce zadejte tyto informace:
Instrukce Výběr Výběr předplatného Vyberte předplatné, které chcete použít. Tato výzva se nezobrazí, pokud v části Prostředky uvidíte jenom jedno předplatné. Zadejte globálně jedinečný název aplikace funkcí. Zadejte název, který je platný v cestě URL. Název, který zadáte, se ověří, aby se zajistilo, že je jedinečný ve službě Azure Functions. Výběr zásobníku modulu runtime Zvolte jazyková verze, na které jste místně spustili. Výběr umístění pro nové prostředky Pokud chcete dosáhnout lepšího výkonu , zvolte oblast blízko vás. Rozšíření zobrazuje stav jednotlivých prostředků při jejich vytváření v Azure na panelu Protokol aktivit.
Po dokončení vytváření se ve vašem předplatném vytvoří následující prostředky Azure. Prostředky se pojmenují na základě názvu vaší aplikace funkcí:
- Skupina prostředků, což je logický kontejner pro související prostředky.
- Standardní účet Azure Storage, který udržuje stav a další informace o vašich projektech.
- 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 služby App Service, který definuje základního hostitele vaší aplikace funkcí.
- Instance Application Insights připojená k aplikaci funkcí, která sleduje využití vašich funkcí v aplikaci.
Po vytvoření aplikace funkcí a použití balíčku nasazení se zobrazí oznámení.
Tip
Ve výchozím nastavení se prostředky Azure vyžadované vaší aplikací funkcí vytvoří na základě vámi zadaného názvu aplikace funkcí. Ve výchozím nastavení se také vytvoří ve stejné nové skupině prostředků s aplikací funkcí. Pokud chcete buď přizpůsobit názvy těchto zdrojů, nebo znovu použít existující zdroje, musíte projekt publikovat s pokročilými možnostmi vytvoření.
Nasazení projektu do Azure
Důležité
Nasazení do existující aplikace funkcí vždy přepíše obsah této aplikace v Azure.
Na paletě příkazů vyhledejte a spusťte příkaz
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 zobrazte.
Testování funkce v Azure
Poznámka:
Pokud chcete použít programovací model uzlu V4, ujistěte se, že je vaše aplikace spuštěná alespoň ve verzi 4.25 modulu runtime Azure Functions.
- Zkopírujte adresu URL triggeru HTTP z panelu Výstup. Adresa URL, která volá funkci aktivovanou protokolem HTTP, by měla být v tomto formátu:
https://<functionappname>.azurewebsites.net/api/orchestrators/HelloOrchestrator
- Zkopírujte adresu URL triggeru HTTP z panelu Výstup. Adresa URL, která volá funkci aktivovanou protokolem HTTP, by měla být v tomto formátu:
https://<functionappname>.azurewebsites.net/api/orchestrators/helloOrchestrator
- Vložte tuto novou adresu URL pro požadavek HTTP do panelu Adresa prohlížeče. Při použití publikované aplikace byste měli získat stejnou odpověď na stav jako předtím.
Další kroky
Pomocí editoru Visual Studio Code jste vytvořili a publikovali aplikaci trvalých funkcí JavaScriptu.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro