Cvičení – publikování funkce do Azure pomocí nástrojů Core Tools

Dokončeno

V tomto cvičení vytvoříte aplikaci funkcí v Azure a publikujete projekt.

Vytvoření aplikace funkcí

Důležité

Postupy v této lekci závisí na práci dokončené v lekci 3. Sandbox pro tento modul musí být aktivní. Sandbox poskytuje bezplatný dočasný přístup k Azure a Azure CLI.

Azure Cloud Shell by už měl být přihlášený k vašemu účtu a měl by být nakonfigurovaný. Pokud sandbox není aktivní, ztratili jste potřebný přístup, prostředky a výstup, které potřebujete. Vraťte se a dokončete lekci 3.

Než budete moct publikovat kód do aplikace funkcí pomocí Nástrojů Core Tools, musíte aplikaci vytvořit v Azure pomocí Azure CLI z Cloud Shellu.

Pokud chcete vytvořit aplikaci funkcí v Azure, spusťte v Azure Cloud Shellu následující příkazy.

RESOURCEGROUP="<rgn>[sandbox resource group]</rgn>"
STORAGEACCT=learnstorage$(openssl rand -hex 5)
FUNCTIONAPP=learnfunctions$(openssl rand -hex 5)

az storage account create \
  --resource-group "$RESOURCEGROUP" \
  --name "$STORAGEACCT" \
  --kind StorageV2 \
  --location centralus

az functionapp create \
  --resource-group "$RESOURCEGROUP" \
  --name "$FUNCTIONAPP" \
  --storage-account "$STORAGEACCT" \
  --runtime node \
  --consumption-plan-location centralus \
  --functions-version 4

Tyto příkazy fungují takto:

  • První tři řádky v horní části vytvářejí proměnné prostředí s hodnotami, které používáme opakovaně v následujících příkazech.

    • Pro skupinu prostředků zadejte skupinu vytvořenou sandboxem. Tato hodnota by už měla být správná na základě vašeho aktuálního sandboxu.
    • Názvy účtů úložiště a aplikací funkcí zahrnují $(openssl rand -hex 5), který generuje náhodný řetězec s pěti znaky, aby se zajistilo, že názvy splňují požadavek na globální jedinečnost a také další požadavky na pojmenování služeb.
  • az storage account create vytvoří účet úložiště Azure, který aplikace funkcí používá. Účet úložiště je samostatný prostředek Azure, který je potřeba vytvořit před vytvořením aplikace funkcí.

  • Příkaz az functionapp create vytvoří aplikaci funkcí. Vaše nová aplikace používá node modul runtime (JavaScript), který spouští bezserverový plán hostování Consumption.

Poznámka:

Příkaz az functionapp create se také pokusí automaticky vytvořit instanci aplikace Přehledy pro monitorování spuštění ve vaší aplikaci funkcí. Vzhledem k tomu, že prostředky aplikace založené na pracovním prostoru Přehledy momentálně nejde hostovat v sandboxu, vaše funkce fungují, ale protokoly spouštění se neodesílají do Přehledy aplikace.

Publikování do Azure

Teď, když jste vytvořili aplikaci funkcí v Azure, můžete projekt publikovat pomocí nástrojů Core Tools.

Spuštěním následujících příkazů v Cloud Shellu publikujte. Nejprve spusťte cd , abyste před publikováním měli jistotu, že jste stále ve složce projektu functions.

cd ~/loan-wizard
func azure functionapp publish "$FUNCTIONAPP" --force

Poznámka:

Pokud tento příkaz zobrazí chybu, že aplikace nemůže najít, počkejte dvě minuty a zkuste to znovu. Novým aplikacím funkcí pár sekund trvá, než jsou po vytvoření zjistitelné pro nástroje Core Tools.

Připojujete --force se také k příkazu, abyste aktualizovali neshodu verzí aplikace funkcí.

Na rozdíl od předchozího cvičení, kde jste funkci dočasně hostli místně z nástrojů Core Tools, je teď vaše funkce aktivní na webu. Zůstane globálně dostupný, dokud nevyprší platnost sandboxu pro tento kurz. Vzhledem k tomu, že koncový bod HTTP byl definován s anonymous úrovní autorizace, může k němu přistupovat kdokoli na webu.

Spuštění funkce

Vaše funkce je teď publikovaná do Azure a můžete ji volat odkudkoli. Jako funkce aktivovaná protokolem HTTP, která reaguje na požadavky GET, je možné ji spustit z libovolného prohlížeče.

  1. Spuštěním následujícího příkazu získejte adresu URL požadavku:

    func azure functionapp list-functions "$FUNCTIONAPP" --show-keys
    
  2. Vložte adresu URL z výstupu na novou kartu prohlížeče. Zobrazí se stejný výstup, který jste zaznamenali při místním spuštění funkce bez zadání správných parametrů řetězce dotazu. Při použití anonymous úrovně autorizace nejsou ve výstupu zahrnuty žádné klíče.

  3. Přidejte ?principal=5000&rate=.035&term=36 na konec adresy URL a vyberte Enter. Ujistěte se, že v případě přítomnosti code parametr zachováte. Vrácený výsledek je 6300.000000000001podle očekávání.