Místní vytváření a spouštění funkcí Azure Functions pomocí nástrojů Core Tools

Dokončeno

Nástroje Azure Functions Core Tools umožňují vyvíjet a spouštět funkce na místním počítači z příkazového řádku.

Chcete vytvořit první funkci, jednoduchou kalkulačku zájmu, místně na vlastním počítači a ne v editoru funkcí na webu Azure Portal. Nejste si jistí, jestli chcete použít vývojové prostředí, jako je Visual Studio nebo Visual Studio Code, z nichž obě je možné rozšířit tak, aby podporovaly Azure Functions přímo. Nakonec se rozhodnete použít nástroje Core Tools z příkazového řádku a základního textového editoru.

V této lekci se dozvíte, jak pomocí nástrojů Core Tools vytvářet a spouštět funkce místně. Než je použijeme ve cvičení v další lekci, seznámíme se s nástroji Core Tools, které vás provedou těmito koncepty pomocí Azure Cloud Shellu.

Co je Azure Functions Core Tools?

Azure Functions Core Tools je samostatný modul runtime spolu se sadou nástrojů příkazového řádku, které můžete použít k vývoji, spouštění a nasazování kódu funkce z místního počítače.

Core Tools podporuje několik funkcí souvisejících s funkcemi, mezi které patří:

  • Vygenerujte soubory a složky, které potřebujete k místnímu vývoji funkcí.
  • Zadejte místní modul runtime, abyste mohli testovat a ladit funkce v počítači.
  • Publikujte své funkce do Azure.

Pomocí nástrojů Core Tools můžete tyto úlohy provádět z příkazového řádku. Použijte libovolný textový editor, který chcete napsat kód a upravit konfiguraci. K přihlášení k Azure, vytvoření prostředků Azure a nasazení souborů projektu potřebujete také Azure CLI nebo Azure PowerShell.

Nástroje Core Tools jsou zabalené jako jeden nástroj příkazového řádku s názvem func. Pokud spustíte func z příkazového řádku bez jakýchkoli jiných příkazů, zobrazí se informace o verzi a průvodce používáním. Nemusíte ji teď číst, ale vypadá takto:

A portion of the help text output by func.

Visual Studio i Visual Studio Code používají Nástroje Core Tools k zajištění integrovaného místního prostředí ladění.

Tady jsou některé základní koncepty funkcí.

Aplikace funkcí a projekty funkcí

Při místním vývoji funkcí pracujete v projektu funkcí. Projekt je složka obsahující kód a konfigurační soubory, které definují vaše funkce. Tento projekt kódu se nasadí do prostředku aplikace funkcí v Azure. V instanci aplikace funkcí sdílejí všechny funkce společnou sadu hodnot konfigurace a prostředků.

Každá aplikace funkcí cílí na konkrétní sadu jazyků a každá sada má vlastní požadavky na projekt specifické pro jazyk. Naštěstí nemusíte projekt funkcí vytvářet ručně sami. Pomocí nástrojů Core Tools můžete vygenerovat projekty funkcí a funkce úplně od začátku v požadovaném jazyce.

Verze nástrojů Core Tools

Protože Nástroje Core Tools zahrnují modul runtime Azure Functions, musí hlavní verze nástrojů Core Tools, kterou používáte, vždy odpovídat hlavní verzi modulu runtime Functions v Azure. V současné době je doporučená verze modulu runtime Služby Functions verze 4.x a jedinou verzí, která podporuje všechny jazyky. I když tento kurz popisuje a používá nástroje Core Tools verze 4.x, nemusíte nic instalovat na svůj vlastní počítač. V tomto kurzu místo toho použijete Nástroje Core Tools v prostředí Azure Cloud Shellu v prohlížeči. Cloud Shell už má správné verze nástrojů Core Tools, Azure CLI a Node.js společně s editorem kódu, který už je nainstalovaný.

Místní vývoj vs. vývoj na webu Azure Portal

I když Azure Portal poskytuje integrovaný editor kódu funkce, můžete ho použít jenom pro konkrétní zásobníky jazyků. Pomocí portálu také nemůžete upravovat funkce, které vyvíjíte místně a nasazujete do Azure. Když začnete používat jakýkoli místní pracovní postup vývoje, nemůžete pomocí webu Azure Portal provádět změny kódu funkce.

Nástroje Core Tools podporují místní vývoj pro všechny sady jazyků podporované službou Azure Functions.

Místní vytváření funkcí

Tady je podrobnější pohled na to, jak vytvářet funkce pomocí nástrojů Core Tools a spouštět je místně. V tomto kurzu se dozvíte, jak publikovat do Azure později.

Vytvoření nového projektu funkcí pomocí func init

Pokud chcete vytvořit nový projekt funkcí, spusťte na příkazovém řádku func init.

Output from func init creating a JavaScript function project.

func init vás požádá o modul runtime jazyka, který se má pro aplikaci použít. Přizpůsobí obsah složky projektu odpovídajícím způsobem.

Při vytváření nového projektu funkcí závisí soubory zahrnuté do složky projektu na modulu runtime jazyka, který vyberete. Bez ohledu na to, který modul runtime zvolíte, jsou vždy k dispozici dva nejdůležitější soubory projektu:

  • V souboru host.json jsou uložené konfigurační hodnoty modulu runtime aplikace funkcí, například možnosti protokolování. Nastavení uložená v tomto souboru se používají při místním spuštění funkcí i v Azure.
  • local.settings.json ukládá konfigurační hodnoty, které platí jenom pro aplikaci funkcí, když běží místně pomocí nástrojů Core Tools. Tento soubor obsahuje dva druhy nastavení:
    • Místní nastavení modulu runtime: Slouží ke konfiguraci místního modulu runtime.
    • Vlastní nastavení aplikace: Přidáte je a nakonfigurujete podle potřeb vaší aplikace. Všechny funkce v aplikaci mají přístup a můžou je používat.

Projekty funkcí, které generuje func init, neobsahují žádné funkce. V další části zjistíte, jak ho přidat.

Vytvoření nové funkce pomocí func new

Každá jednotlivá funkce v projektu vyžaduje kód a konfiguraci pro definování jeho chování. Spuštění func new ve složce projektu funkcí vytvoří novou funkci a všechny soubory, které potřebujete začít vyvíjet.

Output from func new creating a JavaScript function.

Jakmile se zeptáte, jaký typ triggeru funkce chcete použít a co chcete funkci pojmenovat, func new vygeneruje kompletní počáteční implementaci připravenou k publikování ve zvoleném jazyce projektu funkce. Počáteční kód ukazuje, jak použít typ triggeru, který jste vybrali, a je zde, abyste mohli rychle začít. Tělo funkce nahraďte vlastní implementací a jste připraveni sestavovat, spouštět, testovat a publikovat.

V další části tohoto kurzu vytvoříte func new funkci aktivovanou protokolem HTTP a upravíte počáteční implementaci tak, aby prováděla výpočet jednoduchého úroku.

Místní spouštění funkcí

Funkce nejsou programy, které je možné spouštět samostatně. Musí být hostované. Hostitel Azure Functions využívá všechno mimo kód funkce: načte konfiguraci, naslouchá aktivačním událostem a požadavkům HTTP, spustí pracovní proces pro jazyk, ve kterém jsou vaše funkce napsané, zapisuje výstup protokolu a další. Aplikace funkcí v Azure spouští hostitele automaticky při spuštění.

Pomocí nástrojů Core Tools můžete spustit vlastní instanci hostitele Azure Functions a vyzkoušet si funkce místně před jejich publikováním. Spuštěním funkcí před jejich publikováním můžete ověřit správné načtení konfigurace a kódu a otestovat funkce provedením skutečných volání HTTP bez potřeby prostředků Azure.

Hostitele funkcí spustíte místně tak, že ze složky projektu funkcí spustíte příkaz func start. Na konci výstupu nástroje Core Tools zobrazují místní adresy URL, které můžete použít k volání jednotlivých funkcí. Když tento hostitel běží, můžete k interakci s funkcemi použít jakékoli nástroje nebo knihovny, které umožňují volání HTTP, například curl. Nástroje Core Tools zapisují veškerý výstup protokolu vytvořený hostitelem do terminálu v reálném čase.

func start output showing a function invocation URL.