Rychlý start: Vytvoření funkce Go nebo Rust v Azure pomocí editoru Visual Studio Code

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.

Při dokončení tohoto rychlého zprovoznění vzniknou ve vašem účtu Azure náklady ve výši několika centů USD (nebo menší).

Konfigurujte své prostředí

Než začnete, ujistěte se, že jsou splněné následující požadavky:

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.

  1. 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....

  2. 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.

  3. 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 Anonymousmož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.

  1. 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).

  2. 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))
    }
    
  3. 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.

  4. 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
    

    VS Code – vlastní obslužná rutina buildu 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.

  1. Otevřete host.json.

  2. customHandler.description V části nastavte hodnotu defaultExecutablePath na handler hodnotu (ve Windows, nastavte ji na handler.exehodnotu ).

  3. customHandler V části přidejte vlastnost s názvem enableForwardingHttpRequest a nastavte její hodnotu na true. 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.

  4. 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.

  1. V integrovaném terminálu spusťte aplikaci funkcí pomocí nástrojů Azure Functions Core Tools.

    func start
    
  2. 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

  3. Vrátí se odpověď, která v prohlížeči vypadá takto:

    Prohlížeč – příklad výstupu localhost

  4. Informace o žádosti se zobrazí na panelu terminálu .

    Spuštění hostitele úlohy – výstup terminálu VS Code

  5. 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.

  1. 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.

    Snímek obrazovky s oknem přihlášení k Azure v editoru Visual Studio Code

    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.

  2. 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.

  3. 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ě.

  1. 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 .

    GOOS=linux GOARCH=amd64 go build handler.go
    

Vytvoření aplikace funkcí v Azure

V této části vytvoříte aplikaci funkcí a související prostředky v předplatném Azure.

  1. Na panelu Aktivit zvolte ikonu Azure. Pak v oblasti Prostředky vyberte + ikonu a zvolte možnost Vytvořit aplikaci funkcí v Azure .

    Vytvoření prostředku v předplatném Azure

  2. Podle pokynů na obrazovce zadejte tyto informace:

    Instrukce Výběr
    Výběr předplatného Vyberte předplatné, které chcete použít. Tato funkce 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. Název, který zadáte, se ověří, aby se zajistilo, že je jedinečný ve službě Azure Functions.
    Výběr zásobníku modulu runtime Zvolte vlastní obslužnou rutinu.
    Výběr umístění pro nové prostředky Pokud chcete dosáhnout lepšího výkonu , zvolte oblast blízko vás.

    Rozšíření zobrazuje stav jednotlivých prostředků při jejich vytváření v Azure na panelu Protokol aktivit.

    Protokol vytvoření prostředku Azure

  3. 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.
    • 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.

  1. Na paletě příkazů zadejte a pak vyberte Azure Functions: Nasadit do aplikace funkcí.

  2. 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í.

  3. 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.

    Snímek obrazovky s oknem Zobrazit výstup

Spuštění funkce v Azure

  1. 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é.

  2. Vyberte nový prostředek aplikace funkcí a HttpExample jako funkci.

  3. V části Zadejte text požadavku a { "name": "Azure" }stisknutím klávesy Enter odešlete tuto zprávu požadavku do funkce.

  4. 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.

  1. 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.

  2. Zvolte aplikaci funkcí a stiskněte Enter. Otevře se stránka aplikace funkcí na webu Azure Portal.

  3. Na kartě Přehled vyberte pojmenovaný odkaz vedle skupiny prostředků.

    Snímek obrazovky s výběrem skupiny prostředků, která se má odstranit ze stránky aplikace funkcí

  4. Na stránce Skupina prostředků zkontrolujte seznam zahrnutých prostředků a ověřte, že se jedná o prostředky, které chcete odstranit.

  5. 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.

Další kroky