Vytvoření Durable Functions pomocí webu Azure Portal
Rozšíření Durable Functions pro Azure Functions je k dispozici v balíčku NuGet Microsoft.Azure.WebJobs.Extensions.DurableTask. Toto rozšíření musí být nainstalované ve vaší aplikaci funkcí. Tento článek ukazuje, jak nainstalovat tento balíček, abyste mohli vyvíjet odolné funkce na webu Azure Portal.
Poznámka:
Vytvoření aplikace funkcí
Abyste mohli hostovat provádění jakékoli funkce, musíte mít aplikaci funkcí. Aplikace funkcí umožňuje seskupit funkce jako logickou jednotku pro snadnější správu, nasazení, škálování a sdílení prostředků. Můžete vytvořit aplikaci .NET nebo JavaScript.
V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.
Na stránce Nový vyberte Aplikaci výpočetních>funkcí.
V části Vybrat možnost hostování vyberte Možnost Consumption>Vyberte a vytvořte aplikaci ve výchozím plánu Consumption. V této možnosti bezserverového hostování platíte jenom za čas, kdy vaše funkce běží. Plán Premium také nabízí dynamické škálování. Pokud používáte plán služby App Service, musíte zajistit správu škálování vaší aplikace funkcí.
Na stránce Základy použijte nastavení aplikace funkcí, jak je uvedeno v následující tabulce:
Nastavení Navrhovaná hodnota Popis Předplatné Vaše předplatné Předplatné, ve kterém vytvoříte novou aplikaci funkcí. Skupina prostředků myResourceGroup Název nové skupiny prostředků, ve které vytvoříte aplikaci funkcí. Měli byste vytvořit novou skupinu prostředků, protože při vytváření nových aplikací funkcí v existující skupině prostředků existují známá omezení. Název aplikace funkcí Globálně jedinečný název Název identifikující novou aplikaci funkcí. Platné znaky jsou a-z
(bez rozlišování malých a velkých písmen),0-9
a-
.Zásobník modulu runtime Upřednostňovaný jazyk Vyberte modul runtime, který podporuje váš oblíbený programovací jazyk funkcí. Úpravy na portálu jsou dostupné jenom pro javascript, PowerShell, Python, TypeScript a skript jazyka C#.
Pokud chcete vytvořit aplikaci skriptu jazyka C#, která podporuje úpravy na portálu, musíte zvolit verzi modulu runtime, která podporuje model v procesu.
Knihovnu tříd jazyka C# a funkce Jazyka Java je nutné vyvíjet místně.Verze Číslo verze Zvolte verzi nainstalovaného modulu runtime. Oblast Upřednostňovaná oblast Vyberte oblast, která je blízko vás nebo blízko jiných služeb, ke kterým mají vaše funkce přístup. Operační systém Windows Operační systém je předem vybraný na základě výběru zásobníku modulu runtime, ale v případě potřeby můžete nastavení změnit. Úpravy na portálu se podporují jenom ve Windows. Na zbývajících kartách přijměte výchozí možnosti, včetně výchozího chování vytvoření nového účtu úložiště na kartě Úložiště a nové instance Application Insight na kartě Monitorování . Můžete také použít existující účet úložiště nebo instanci Application Insights.
Vyberte Zkontrolovat a vytvořit , abyste zkontrolovali konfiguraci aplikace, kterou jste zvolili, a pak vyberte Vytvořit , abyste zřídili a nasadili aplikaci funkcí.
Vyberte ikonu Oznámení v pravém horním rohu portálu a podívejte se na zprávu o úspěšném nasazení.
Volbou Přejít k prostředku novou aplikaci funkcí zobrazíte. Můžete také vybrat Připnout na řídicí panel. Připnutí usnadňuje návrat k tomuto prostředku aplikace funkcí z řídicího panelu.
Aplikace funkcí vytvořená ve výchozím nastavení používá modul runtime Azure Functions verze 2.x. Rozšíření Durable Functions funguje na obou verzích 1.x a 2.x modulu runtime Azure Functions v jazyce C# a verze 2.x v JavaScriptu. Šablony jsou však k dispozici pouze při cílení na verzi 2.x modulu runtime bez ohledu na zvolený jazyk.
Instalace balíčku npm durable-functions (pouze JavaScript)
Pokud vytváříte JavaScript Durable Functions, budete muset nainstalovat durable-functions
balíček npm:
Na stránce aplikace funkcí vyberte v levém podokně rozšířené nástroje v části Vývojové nástroje.
Na stránce Rozšířené nástroje vyberte Přejít.
V konzole Kudu vyberte konzolu Ladění a pak CMD.
Měla by se zobrazit adresářová struktura vaší aplikace funkcí. Přejděte do složky
site/wwwroot
. Odtud můžete nahrátpackage.json
soubor přetažením do okna adresáře souborů. Ukázkapackage.json
je následující:{ "dependencies": { "durable-functions": "^1.3.1" } }
Po nahrání spusťte
package.json
npm install
příkaz z konzoly vzdáleného spuštění Kudu.
Vytvoření funkce orchestrátoru
V aplikaci funkcí vyberte Funkce v levém podokně a pak v horní nabídce vyberte Přidat .
Do vyhledávacího pole na stránce Nová funkce zadejte
durable
a pak zvolte úvodní šablonu HTTP Durable Functions.Jako název nové funkce zadejte
HttpStart
a pak vyberte Vytvořit funkci.Vytvořená funkce slouží ke spuštění orchestrace.
V aplikaci funkcí tentokrát vytvořte další funkci pomocí šablony orchestrátoru Durable Functions. Pojmenujte novou funkci
HelloSequence
orchestrace .Vytvořte třetí funkci s názvem
Hello
pomocí šablony aktivity Durable Functions.
Testování orchestrace trvalých funkcí
Vraťte se k funkci HttpStart , zvolte Získat adresu URL funkce a výběrem ikony Kopírovat do schránky zkopírujte adresu URL. Tuto adresu URL použijete ke spuštění funkce HelloSequence .
Pomocí zabezpečeného testovacího nástroje HTTP odešlete požadavek HTTP POST do koncového bodu adresy URL. Tento příklad je příkaz cURL, který odešle požadavek POST odolné funkci:
curl -X POST https://{your-function-app-name}.azurewebsites.net/api/orchestrators/{functionName} --header "Content-Length: 0"
V tomto příkladu je doména,
{your-function-app-name}
která je názvem vaší aplikace funkcí a{functionName}
je to funkce orchestratoru HelloSequence . Zpráva odpovědi obsahuje sadu koncových bodů URI, které můžete použít k monitorování a správě spouštění. Může vypadat jako v následujícím příkladu:{ "id":"10585834a930427195479de25e0b952d", "statusQueryGetUri":"https://...", "sendEventPostUri":"https://...", "terminatePostUri":"https://...", "rewindPostUri":"https://..." }
Ujistěte se, že jste zvolili testovací nástroj HTTP, který zajišťuje zabezpečení vašich dat. Další informace najdete v tématu Nástroje pro testování HTTP.
statusQueryGetUri
Zavolejte identifikátor URI koncového bodu a zobrazí se aktuální stav odolné funkce, která může vypadat jako v tomto příkladu:{ "runtimeStatus": "Running", "input": null, "output": null, "createdTime": "2017-12-01T05:37:33Z", "lastUpdatedTime": "2017-12-01T05:37:36Z" }
Pokračujte v volání koncového
statusQueryGetUri
bodu, dokud se stav nezmění na Dokončeno, a zobrazí se odpověď podobná následujícímu příkladu:{ "runtimeStatus": "Completed", "input": null, "output": [ "Hello Tokyo!", "Hello Seattle!", "Hello London!" ], "createdTime": "2017-12-01T05:38:22Z", "lastUpdatedTime": "2017-12-01T05:38:28Z" }
Vaše první odolná funkce je teď v Azure spuštěná a funkční.