Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku pomocí editoru Visual Studio Code vytvoříte vlastní funkci obslužné rutiny , která reaguje na požadavky HTTP. Po místním otestování kód nasadíte do bezserverového prostředí Azure Functions.
Vlastní obslužné rutiny lze použít k vytváření funkcí v libovolném jazyce nebo modulu runtime spuštěním procesu serveru HTTP. Tento článek podporuje Go i Rust.
Návod
Dokončením tohoto rychlého startu se vytvoří aplikace, která běží v plánu Elastic Premium, což může způsobit náklady ve vašem účtu Azure, i když ji nepoužíváte. Po dokončení článku byste měli uvolnit prostředky a odebrat funkční aplikaci, plán služby App Service a související prostředky.
Konfigurujte své prostředí
Než začnete, ujistěte se, že jsou splněné následující požadavky:
Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
Visual Studio Code na jedné z podporovaných platforem
Rozšíření Azure Functions pro Visual Studio Code
Doporučujeme přejít na nejnovější verzi.
go version
Pomocí příkazu zkontrolujte verzi.
Instalace nebo aktualizace nástrojů Core Tools
Rozšíření Azure Functions pro Visual Studio Code se integruje s nástroji Azure Functions Core Tools, abyste mohli spouštět a ladit funkce místně v editoru Visual Studio Code pomocí modulu runtime Azure Functions. Než začnete, je vhodné nainstalovat Nástroje Core Tools místně nebo aktualizovat existující instalaci tak, aby používala nejnovější verzi.
V editoru Visual Studio Code výběrem klávesy F1 otevřete paletu příkazů a pak vyhledejte a spusťte příkaz Azure Functions: Instalace nebo aktualizace nástrojů Core Tools.
Tento příkaz se pokusí spustit instalaci založené na balíčku nejnovější verze nástrojů Core Tools nebo aktualizovat existující instalaci založenou na balíčku. Pokud nemáte na místním počítači nainstalovaný npm nebo Homebrew, musíte místo toho nainstalovat nebo aktualizovat nástroje Core Tools ručně.
Vytvoření místního projektu
V této části pomocí editoru Visual Studio Code vytvoříte místní projekt vlastních obslužných rutin Azure Functions. Později v tomto článku publikujete kód funkce do 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 New Project...
.Zvolte umístění adresáře pro pracovní prostor projektu a zvolte Vybrat. Měli byste buď vytvořit novou složku, nebo zvolit prázdnou složku pro pracovní prostor projektu. Nevybírejte složku projektu, která už je součástí pracovního prostoru.
Podle pokynů na obrazovce zadejte tyto informace:
Instrukce Výběr Výběr jazyka pro projekt funkce Zvolte Custom Handler
.Výběr šablony pro první funkci projektu Zvolte HTTP trigger
.Zadejte název funkce. Zadejte HttpExample
.Úroveň autorizace Zvolte Anonymous
možnost , která umožňuje každému volat koncový bod funkce. Další informace najdete v tématu Úroveň autorizace.Vyberte, jak chcete projekt otevřít. Zvolte Open in current window
.Pomocí těchto informací Visual Studio Code vygeneruje projekt Azure Functions s triggerem HTTP. Soubory místního projektu můžete zobrazit v Průzkumníku.
Vytvoření a sestavení funkce
Soubor function.json ve složce HttpExample deklaruje funkci triggeru HTTP. Funkci dokončíte přidáním obslužné rutiny a jeho kompilací do spustitelného souboru.
Stisknutím kombinace kláves Ctrl+ N (Cmd + N v macOS) vytvořte nový soubor. Uložte ho jako obslužnou rutinu.go v kořenovém adresáři aplikace funkcí (ve stejné složce jako host.json).
Do souboru handler.go přidejte následující kód a soubor uložte. Toto je vaše vlastní obslužná rutina Go.
package main import ( "fmt" "log" "net/http" "os" ) func helloHandler(w http.ResponseWriter, r *http.Request) { message := "This HTTP triggered function executed successfully. Pass a name in the query string for a personalized response.\n" name := r.URL.Query().Get("name") if name != "" { message = fmt.Sprintf("Hello, %s. This HTTP triggered function executed successfully.\n", name) } fmt.Fprint(w, message) } func main() { listenAddr := ":8080" if val, ok := os.LookupEnv("FUNCTIONS_CUSTOMHANDLER_PORT"); ok { listenAddr = ":" + val } http.HandleFunc("/api/HttpExample", helloHandler) log.Printf("About to listen on %s. Go to https://127.0.0.1%s/", listenAddr, listenAddr) log.Fatal(http.ListenAndServe(listenAddr, nil)) }
Stisknutím kombinace kláves Ctrl + Shift + ' nebo vyberte Nový terminál z nabídky Terminál a otevřete nový integrovaný terminál v editoru VS Code.
Zkompilujte vlastní obslužnou rutinu pomocí následujícího příkazu. Spustitelný soubor s názvem
handler
(handler.exe
ve Windows) je výstupem v kořenové složce aplikace funkcí.go build handler.go
Konfigurace aplikace funkcí
Hostitel funkce musí být nakonfigurovaný tak, aby při spuštění spustil binární soubor vlastní obslužné rutiny.
Otevřete host.json.
customHandler.description
V části nastavte hodnotudefaultExecutablePath
nahandler
hodnotu (ve Windows, nastavte ji nahandler.exe
hodnotu ).customHandler
V části přidejte vlastnost s názvemenableForwardingHttpRequest
a nastavte její hodnotu natrue
. Pro funkce, které se skládají pouze z triggeru HTTP, toto nastavení zjednodušuje programování tím, že umožňuje pracovat s typickým požadavkem HTTP místo vlastní datové části požadavku obslužné rutiny.Potvrďte, že oddíl vypadá jako v tomto příkladu
customHandler
. Uložte soubor."customHandler": { "description": { "defaultExecutablePath": "handler", "workingDirectory": "", "arguments": [] }, "enableForwardingHttpRequest": true }
Aplikace funkcí je nakonfigurovaná tak, aby spustila spustitelný soubor vlastní obslužné rutiny.
Místní spuštění funkce
Tento projekt můžete spustit na místním vývojovém počítači před publikováním do Azure.
V integrovaném terminálu spusťte aplikaci funkcí pomocí nástrojů Azure Functions Core Tools.
func start
Se spuštěnými nástroji Core Tools přejděte na následující adresu URL a spusťte požadavek GET, který obsahuje
?name=Functions
řetězec dotazu.http://localhost:7071/api/HttpExample?name=Functions
Vrátí se odpověď, která v prohlížeči vypadá takto:
Informace o žádosti se zobrazí na panelu terminálu .
Stisknutím kombinace kláves Ctrl+C ukončete nástroje Core Tools.
Po ověření správného spuštění funkce na místním počítači je čas použít Visual Studio Code k publikování projektu přímo 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.
Kompilace vlastní obslužné rutiny pro Azure
V této části publikujete projekt do Azure v aplikaci funkcí s Linuxem. Ve většině případů musíte před publikováním do Azure znovu zkompilovat binární soubor a upravit konfiguraci tak, aby odpovídala cílové platformě.
V integrovaném terminálu zkompilujte obslužnou rutinu do Linuxu/x64. V kořenovém adresáři aplikace funkcí se vytvoří binární název
handler
.
Vytvoření aplikace funkcí v Azure
V této části vytvoříte aplikaci funkcí a související prostředky v předplatném Azure.
Na paletě příkazů zadejte Azure Functions: Vytvoření aplikace funkcí v Azure... (Upřesnit).
Pokud nejste přihlášení, zobrazí se výzva k přihlášení do Azure. Můžete také vytvořit bezplatný účet Azure. Po přihlášení z prohlížeče se vraťte do editoru Visual Studio Code.
Po zobrazení výzev zadejte tyto informace:
Instrukce Výběr Zadejte globálně jedinečný název nové aplikace funkcí. Zadejte globálně jedinečný název, který identifikuje novou aplikaci funkcí, a pak vyberte Enter. Platné znaky pro název aplikace funkcí jsou a-z
,0-9
a-
.Vyberte plán hostování. Zvolte plán hostováníPremium, který poskytuje bezserverové hostování v Linuxu, který se dynamicky škáluje podle potřeby. Vyberte místo pro nové zdroje. Vyberte umístění v oblasti blízko vás nebo v blízkosti jiných služeb, ke kterým vaše funkce přistupují. Zobrazí se jenom oblasti, které podporují vámi zvolený plán hostování. Vyberte běhové prostředí. Vyberte vlastní obslužnou rutinu. Vyberte operační systém. Vyberte Linux , protože aplikace byla zkompilována tak, aby běžela v Linuxu. Výběr plánu služby App Service pro Linux V případě plánů Elastic Premium musíte explicitně vytvořit nový plán služby App Service, zadat název plánu a vybrat cenovou úroveň EP1 . Výběr typu ověřování zdrojů Vyberte Spravovanou identitu, což je nejbezpečnější možnost připojení k výchozímu účtu úložiště hostitele. Při použití spravovaných identit s plánem Elastic Premium zůstane pro přístup ke službě Azure Files povolený přístup tajných klíčů k výchozímu úložišti hostitelů. Další informace najdete v tématu Spuštění bez Azure Files. Vyberte účet úložiště. Zvolte Vytvořit nový účet úložiště a na příkazovém řádku zadejte globálně jedinečný název nového účtu úložiště, který používá vaše aplikace funkcí. Názvy účtů úložiště musí mít délku 3 až 24 znaků a můžou obsahovat jenom číslice a malá písmena. Vyberte prostředek Application Insights pro vaši aplikaci. Zvolte Vytvořit nový prostředek Application Insights a na výzvu zadejte název instance použité k ukládání běhových dat z vašich funkcí. Vyberte identitu přiřazenou uživatelem Zvolte Vytvořit novou identitu přiřazenou uživatelem. Tato identita se používá při přístupu k výchozímu účtu úložiště hostitele pomocí ověřování Microsoft Entra ID. 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.
- 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í.
- Standardní účet Azure Storage, který používá hostitel Functions k udržování stavu a dalších informací o vaší aplikaci funkcí.
- Instance Application Insights, která je připojená k aplikaci funkcí a která sleduje použití funkcí v aplikaci.
- Spravovaná identita přiřazená uživatelem přidaná do role Přispěvatel dat objektů blob služby Storage v novém výchozím účtu úložiště hostitele.
- Spravovaná identita přiřazená uživatelem přidaná do role Přispěvatel dat objektů blob služby Storage v novém výchozím účtu úložiště hostitele.
Po vytvoření aplikace funkcí a použití balíčku nasazení se zobrazí oznámení.
Návod
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.
Spuštění funkce v Azure
Stisknutím klávesy F1 zobrazte paletu příkazů a pak vyhledejte a spusťte příkaz
Azure Functions:Execute Function Now...
. Pokud se zobrazí výzva, vyberte své předplatné.Vyberte nový prostředek aplikace funkcí a
HttpExample
jako funkci.V části Zadejte text požadavku a
{ "name": "Azure" }
stisknutím klávesy Enter odešlete tuto zprávu požadavku do funkce.Když se funkce spustí v Azure, zobrazí se odpověď v oznamovací oblasti. Rozbalte oznámení a zkontrolujte úplnou odpověď.
Vyčištění prostředků
Až budete pokračovat k dalšímu kroku a přidáte vazbu fronty Azure Storage do funkce, budete muset zachovat všechny prostředky, abyste mohli stavět na tom, co jste už udělali.
Jinak můžete pomocí následujícího postupu odstranit aplikaci funkcí a související prostředky, abyste se vyhnuli dalším nákladům.
V editoru Visual Studio Code stisknutím klávesy F1 otevřete paletu příkazů. Na paletě příkazů vyhledejte a vyberte
Azure: Open in portal
.Zvolte aplikaci funkcí a stiskněte Enter. Otevře se stránka aplikace funkcí na webu Azure Portal.
Na kartě Přehled vyberte pojmenovaný odkaz vedle skupiny prostředků.
Na stránce Skupina prostředků zkontrolujte seznam zahrnutých prostředků a ověřte, že se jedná o prostředky, které chcete odstranit.
Vyberte Odstranit skupinu prostředků a postupujte podle pokynů.
Odstranění může trvat několik minut. Po jeho dokončení se na několik sekund zobrazí oznámení. K zobrazení tohoto oznámení můžete také vybrat ikonu zvonku v horní části stránky.
Další informace o nákladech na službu Functions najdete v tématu Odhad nákladů na plán Consumption.