Rychlý start: Vytvoření aplikace Durable Functions v C#
Funkce Durable Functions, která je funkcí Azure Functions, slouží k zápisu stavových funkcí v bezserverovém prostředí. Durable Functions spravuje stav, kontrolní body a restartuje ve vaší aplikaci.
Stejně jako Azure Functions podporuje Durable Functions dva procesní modely pro funkce knihovny tříd .NET. Další informace o těchto dvou procesech najdete v tématu Rozdíly mezi procesem v procesu a izolovaným pracovním procesem .NET Azure Functions.
V tomto rychlém startu použijete Visual Studio Code k místnímu vytvoření a otestování aplikace Durable Functions "hello world". Aplikace funkcí orchestruje a zřetědí volání do jiných funkcí. Pak publikujete kód funkce v Azure. Nástroje, které používáte, jsou dostupné prostřednictvím rozšíření Azure Functions editoru Visual Studio Code.
Požadavky
K dokončení tohoto rychlého startu je potřeba:
Nainstalovali jsme následující rozšíření editoru Visual Studio Code:
Nainstalovaná nejnovější verze nástrojů Azure Functions Core Tools .
Předplatné Azure. Pokud chcete používat Durable Functions, musíte mít účet Azure Storage.
Nainstalovaná sada .NET Core SDK verze 3.1 nebo novější
Testovací nástroj HTTP, který udržuje vaše data v bezpečí. Další informace najdete v tématu Nástroje pro testování HTTP.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Vytvoření projektu služby Azure Functions
V editoru Visual Studio Code vytvořte místní projekt Azure Functions.
V nabídce Zobrazit vyberte paletu příkazů (nebo vyberte Ctrl+Shift+P).
Na příkazovém řádku (
>
) zadejte a pak vyberte Azure Functions: Vytvořit nový projekt.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 vyberte nebo zadejte následující hodnoty:
Instrukce Akce Popis Výběr jazyka pro projekt aplikace funkcí Vyberte C#. Vytvoří místní projekt funkcí jazyka C#. Vyberte verzi. Vyberte Azure Functions v4. Tato možnost se zobrazí jenom v případě, že nástroje Core Tools ještě nejsou nainstalované. Nástroje Core Tools se nainstalují při prvním spuštění aplikace. Výběr modulu runtime .NET Vyberte izolovanou technologii .NET 8.0. Vytvoří projekt Functions, který podporuje .NET 8 spuštěný v izolovaném pracovním procesu a modul runtime Azure Functions 4.0. Další informace najdete v tématu s přehledem verzí modulu runtime Azure Functions. Výběr šablony pro první funkci projektu Vyberte Orchestraci trvalých funkcí. Vytvoří orchestraci Durable Functions. Volba typu odolného úložiště Vyberte Azure Storage. Výchozí zprostředkovatel úložiště pro Durable Functions. Další informace najdete v tématu Poskytovatelé úložiště Durable Functions. Zadejte název funkce. Zadejte HelloOrchestration. Název funkce orchestrace. Zadání oboru názvů Zadejte Company.Function. Obor názvů pro vygenerovanou třídu. Vyberte, jak chcete projekt otevřít. Vyberte Otevřít v aktuálním okně. Otevře Visual Studio Code ve složce, kterou jste vybrali.
Visual Studio Code nainstaluje Nástroje Azure Functions Core Tools, pokud je potřeba k vytvoření projektu. Vytvoří také projekt aplikace funkcí ve složce. Tento projekt obsahuje konfigurační soubory host.json a local.settings.json .
Další soubor, HelloOrchestration.cs, obsahuje základní stavební bloky aplikace Durable Functions:
Další informace o těchto funkcích naleznete v tématu Durable Functions typy a funkce.
Konfigurace úložiště
K místnímu otestování funkce můžete použít Azurite, emulátor pro Azure Storage. V local.settings.json nastavte hodnotu, AzureWebJobsStorage
která se má v tomto příkladu podobat UseDevelopmentStorage=true
:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated"
}
}
Pokud chcete nainstalovat a spustit rozšíření Azurite v editoru Visual Studio Code, zadejte na paletě příkazů Azurite: Start a vyberte Enter.
Pro aplikaci Durable Functions můžete použít další možnosti úložiště. Další informace o možnostech a výhodách úložiště najdete v tématu Poskytovatelé úložiště Durable Functions.
Místní testování funkce
Nástroje Azure Functions Core Tools umožňují spouštět projekt Azure Functions na místním vývojovém počítači. Při prvním spuštění funkce v editoru Visual Studio Code se zobrazí výzva k instalaci těchto nástrojů.
V editoru Visual Studio Code nastavte zarážku v
SayHello
kódu funkce aktivity a pak výběrem klávesy F5 spusťte projekt aplikace funkcí. Na panelu terminálu se zobrazí výstup z nástrojů Core Tools.Poznámka:
Další informace o ladění naleznete v tématu Diagnostika Durable Functions.
Pokud se zobrazí zpráva Nenašly se žádné funkce úloh, aktualizujte instalaci nástrojů Azure Functions Core Tools na nejnovější verzi.
Na panelu terminálu zkopírujte koncový bod adresy URL funkce aktivované protokolem HTTP.
Pomocí testovacího nástroje HTTP odešlete požadavek HTTP POST do koncového bodu adresy URL.
Odpověď je počáteční výsledek funkce HTTP. To vás informuje, že orchestrace aplikace Durable Functions byla úspěšně spuštěna. Zatím nezobrazuje konečný výsledek orchestrace. Odpověď obsahuje několik užitečných adres URL.
V tuto chvíli by se měla zobrazit zarážka ve funkci aktivity, protože orchestrace začala. Projděte si ji a získejte odpověď na stav orchestrace.
Zkopírujte hodnotu adresy URL ,
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 testovací nástroj HTTP.Požadavek se dotazuje instance orchestrace na stav. Měli byste vidět, že instance byla dokončena a že obsahuje výstupy nebo výsledky aplikace Durable Functions, jako je v tomto příkladu:
{ "name":"HelloCities", "instanceId":"7f99f9474a6641438e5c7169b7ecb3f2", "runtimeStatus":"Completed", "input":null, "customStatus":null, "output":"Hello, Tokyo! Hello, London! Hello, Seattle!", "createdTime":"2023-01-31T18:48:49Z", "lastUpdatedTime":"2023-01-31T18:48:56Z" }
Tip
Zjistěte, jak můžete sledovat chování přehrání aplikace Durable Functions prostřednictvím zarážek.
Pokud chcete zastavit ladění, v editoru Visual Studio Code vyberte 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áš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í, vyberte na panelu Aktivit 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ě nemáte účet Azure, vyberte Vytvořit účet Azure. Studenti můžou vybrat Vytvořit účet Azure for Students.
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ří k vašemu účtu Azure, se zobrazí na bočním panelu.
Vytvoření aplikace funkcí v Azure
V této části vytvoříte aplikaci funkcí a související prostředky v předplatném 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 editoru 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:
Instrukce Akce 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 globálně jedinečný název aplikace funkcí. Zadejte název, který je platný v cestě URL. Zadaný název se ověří, abyste měli jistotu, že je v Azure Functions jedinečný. Výběr zásobníku modulu runtime Vyberte jazyk, kterou aktuálně spouštíte místně. 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. Na panelu Azure: Protokol aktivit zobrazuje rozšíření Azure stav jednotlivých prostředků při jejich vytváření v Azure.
Po vytvoření aplikace funkcí 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.
- 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 Aplikace Azure, který definuje základního hostitele vaší aplikace funkcí.
- Instance Application Insights, která je připojená k aplikaci funkcí a která sleduje použití 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ě názvu, který jste zadali pro 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í do existující aplikace funkcí vždy přepíše obsah této aplikace v Azure.
Na paletě příkazů zadejte a pak vyberte Azure Functions: Nasadit do aplikace funkcí.
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
Na výstupním panelu editoru Visual Studio Code zkopírujte adresu URL triggeru HTTP. Adresa URL, která volá funkci aktivovanou protokolem HTTP, musí být v následujícím formátu:
https://<function-app-name>.azurewebsites.net/api/HelloOrchestration_HttpStart
Do adresního řádku prohlížeče vložte novou adresu URL požadavku HTTP. Při použití publikované aplikace musíte získat stejnou odpověď na stav, kterou jste získali při místním otestování.
Aplikace C# Durable Functions, kterou jste vytvořili a publikovali pomocí editoru Visual Studio Code, je připravená k použití.
Vyčištění prostředků
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
- Seznamte se s běžnými vzory aplikací Durable Functions.
V tomto rychlém startu pomocí sady Visual Studio 2022 místně vytvoříte a otestujete aplikaci Durable Functions "hello world". Funkce orchestruje a zřetědí volání do jiných funkcí. Pak publikujete kód funkce v Azure. Nástroje, které používáte, jsou dostupné prostřednictvím sady Funkcí vývoje pro Azure v sadě Visual Studio 2022.
Požadavky
K dokončení tohoto rychlého startu je potřeba:
Nainstalovaná sada Visual Studio 2022 .
Ujistěte se, že je nainstalovaná také úloha vývoje pro Azure. Visual Studio 2019 také podporuje vývoj Durable Functions, ale uživatelské rozhraní a kroky se liší.
Nainstalovaný a spuštěný emulátor Azurite.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Vytvoření projektu aplikace funkcí
Šablona Azure Functions vytvoří projekt, který můžete publikovat do aplikace funkcí v Azure. Pomocí aplikace funkcí můžete seskupit funkce jako logickou jednotku, abyste mohli snadněji spravovat, nasazovat, škálovat a sdílet prostředky.
V sadě Visual Studio v nabídce Soubor vyberte Nový>projekt.
V části Vytvořit nový projekt vyhledejte funkce, vyberte šablonu Azure Functions a pak vyberte Další.
Jako název projektu zadejte název projektu a pak vyberte OK. Název projektu musí být platný jako obor názvů jazyka C#, takže nepoužívejte podtržítka, pomlčky ani neosamocené znaky.
Další informace použijte nastavení popsaná v další tabulce.
Nastavení Akce Popis Pracovní proces Functions Vyberte .NET 8 Isolated (dlouhodobá podpora). Vytvoří projekt Azure Functions, který podporuje .NET 8 spuštěný v izolovaném pracovním procesu a modul runtime Azure Functions 4.0. Další informace najdete v tématu Jak cílit na verzi modulu runtime Azure Functions. Funkce Zadejte Orchestraci trvalých funkcí. Vytvoří orchestraci Durable Functions. Poznámka:
Pokud se v nabídce pracovních procesů Functions nezobrazuje .NET 8 Isolated (Dlouhodobá podpora), možná nemáte nejnovější sady a šablony nástrojů Azure Functions. Přejděte do části Projekty možností>nástrojů>a řešení>Azure Functions>A vyhledejte aktualizace ke stažení nejnovější verze.
Pokud chcete použít emulátor Azurite, ujistěte se, že je zaškrtnuté políčko Použít Azurite pro účet úložiště modulu runtime (AzureWebJobStorage). Pokud chcete vytvořit projekt Functions pomocí šablony orchestrace Durable Functions, vyberte Vytvořit. Projekt obsahuje základní konfigurační soubory, které potřebujete ke spuštění funkcí.
Poznámka:
Pro aplikaci Durable Functions můžete zvolit další možnosti úložiště. Další informace najdete v tématu Poskytovatelé úložiště Durable Functions.
Ve složce aplikace obsahuje soubor s názvem Function1.cs tři funkce. Tři funkce jsou základní stavební bloky aplikace Durable Functions:
Další informace o těchto funkcích naleznete v tématu Durable Functions typy a funkce.
Místní testování funkce
Nástroje Azure Functions Core Tools umožňují spouštět projekt Azure Functions na místním vývojovém počítači. Při prvním spuštění funkce v editoru Visual Studio Code se zobrazí výzva k instalaci těchto nástrojů.
V editoru Visual Studio Code nastavte zarážku v
SayHello
kódu funkce aktivity a pak vyberte F5. Pokud se zobrazí výzva, přijměte požadavek ze sady Visual Studio, abyste si stáhli a nainstalovali nástroje Azure Functions Core (příkazového řádku). Možná budete muset také povolit výjimku brány firewall, aby nástroje mohly zpracovávat požadavky HTTP.Poznámka:
Další informace o ladění naleznete v tématu Diagnostika Durable Functions.
Zkopírujte adresu URL vaší funkce z výstupu modulu runtime služby Azure Functions.
Vložte adresu URL požadavku HTTP do adresního řádku prohlížeče a spusťte požadavek. Následující snímek obrazovky ukazuje odpověď na místní požadavek GET, který funkce vrátí v prohlížeči:
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.
V tomto okamžiku by se měla zobrazit zarážka ve funkci aktivity, protože orchestrace začala. Projděte si ji a získejte odpověď na stav orchestrace.
Zkopírujte hodnotu adresy URL ,
statusQueryGetUri
vložte ji do adresního řádku prohlížeče a spusťte požadavek.Požadavek se dotazuje instance orchestrace na stav. Měli byste vidět, že instance byla dokončena a že obsahuje výstupy nebo výsledky odolné funkce, například v tomto příkladu:
{ "name":"HelloCities", "instanceId":"668814ac6ce84a43a9e6757f81dbc0bc", "runtimeStatus":"Completed", "input":null, "customStatus":null, "output":"Hello, Tokyo! Hello, London! Hello Seattle!", "createdTime":"2023-01-31T16:44:34Z", "lastUpdatedTime":"2023-01-31T16:44:37Z" }
Tip
Zjistěte, jak můžete sledovat chování přehrání aplikace Durable Functions prostřednictvím zarážek.
Pokud chcete ladění zastavit, vyberte 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.
Publikování projektu do Azure
Před publikováním projektu musíte mít ve svém předplatném Azure aplikaci funkcí. Aplikaci funkcí můžete vytvořit v sadě Visual Studio.
V Průzkumníku řešení klikněte pravým tlačítkem na požadovaný projekt a vyberte Publikovat. V části Target vyberte Azure a pak vyberte Další.
V konkrétním cíli vyberte aplikaci Funkcí Azure (Windows). Vytvoří se aplikace funkcí, která běží ve Windows. Vyberte Další.
V instanci služby Functions vyberte Vytvořit novou funkci Azure Functions.
Vytvořte novou instanci pomocí hodnot zadaných v následující tabulce:
Nastavení Hodnota Popis Jméno Globálně jedinečný název Název jednoznačně identifikující novou aplikaci funkcí. Přijměte tento název nebo zadejte nový název. Platné znaky jsou: a-z
,0-9
a-
.Předplatné Vaše předplatné Předplatné Azure, které se má použít. Přijměte toto předplatné nebo v rozevíracím seznamu vyberte nové. Skupina prostředků Název vaší skupiny prostředků Skupina prostředků, ve které chcete vytvořit aplikaci funkcí. Výběrem možnosti Nový vytvořte novou skupinu prostředků. Můžete také použít existující skupinu prostředků z rozevíracího seznamu. Typ plánu Využití Když projekt publikujete do aplikace funkcí, která běží v plánu Consumption, platíte jenom za provádění aplikace funkcí. Jiné plány hostování účtují vyšší náklady. Místo Umístění služby App Service Vyberte umístění v oblasti Azure blízko vás nebo jiné služby, ke kterým vaše funkce přistupují. Azure Storage Účet úložiště pro obecné účely Modul runtime Functions vyžaduje účet úložiště Azure. Výběrem možnosti Nový nakonfigurujte účet úložiště pro obecné účely. Můžete také použít existující účet, který splňuje požadavky na účet úložiště. Application Insights Instance Application Insights Měli byste povolit integraci Aplikace Azure lication Insights pro vaši aplikaci funkcí. Vyberte Nový a vytvořte novou instanci, a to buď v novém, nebo v existujícím pracovním prostoru služby Log Analytics. Můžete také použít existující instanci. Výběrem možnosti Vytvořit vytvoříte aplikaci funkcí a související prostředky v Azure. Stav vytváření prostředků se zobrazí v levém dolním rohu okna.
V instanci služby Functions se ujistěte, že je zaškrtnuté políčko Spustit ze souboru balíčku . Aplikace funkcí se nasadí pomocí příkazu Zip Deploy s povoleným režimem Spustit z balíčku . Zip Deploy je doporučená metoda nasazení pro váš projekt funkcí pro lepší výkon.
Vyberte Dokončit a v podokně Publikovat vyberte Publikovat a nasaďte balíček, který obsahuje soubory projektu do nové aplikace funkcí v Azure.
Po dokončení nasazení se na kartě Publikovat zobrazí kořenová adresa URL aplikace funkcí v Azure.
Na kartě Publikovat v části Hostování vyberte Otevřít na webu Azure Portal. Nový prostředek aplikace funkcí Azure se otevře na webu Azure Portal.
Testování funkce v Azure
Na stránce Publikovat profil zkopírujte základní adresu URL aplikace funkcí.
localhost:port
Nahraďte část adresy URL, kterou jste použili při místním otestování funkce novou základní adresou URL.Adresa URL, která volá trigger HTTP odolné funkce, musí být v následujícím formátu:
https://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>_HttpStart
Do adresního řádku prohlížeče vložte novou adresu URL požadavku HTTP. Když publikovanou aplikaci otestujete, musíte získat stejnou odpověď na stav, kterou jste získali při místním otestování.
Aplikace C# Durable Functions, kterou jste vytvořili a publikovali pomocí sady Visual Studio, je připravená k použití.
Vyčištění prostředků
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
- Seznamte se s běžnými vzory aplikací Durable Functions.