Sdílet prostřednictvím


Rychlý start: Vytvoření a nasazení kódu funkce pro Azure pomocí Visual Studio Code

Pomocí Visual Studio Code vytvořte funkci, která reaguje na požadavky HTTP ze šablony. Pomocí GitHub Copilot vylepšete vygenerovaný kód funkce, ověřte aktualizace kódu místně a pak ho nasaďte do plánu hostování Flex Consumption bez serveru v Azure Functions.

Pomocí Visual Studio Code vytvořte vlastní obslužnou rutinu, která reaguje na požadavky HTTP. Po místním ověření kódu ho nasadíte do plánu hostování Flex Consumption bez serveru v 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.

Dokončením tohoto průvodce se váš účet Azure zatíží nákladem ve výši několika amerických centů nebo méně.

Nezapomeňte vybrat upřednostňovaný vývojový jazyk v horní části článku.

Požadavky

  • Sada Java Development Kit, verze 8, 11, 17 nebo 21 (jen pro Linux).

  • Apache Maven verze 3.0 nebo novější.

  • Balíček rozšíření Java

  • Node.js 18.x nebo vyšší. Pomocí příkazu zkontrolujte svou verzi.
  • Pokračovat
  • Rust
  • Doporučujeme nejnovější verzi Go. Pomocí příkazu zkontrolujte svou 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 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 Visual Studio Code otevřete paletu příkazů výběrem klávesy F1 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 použijete Visual Studio Code k vytvoření místního projektu Azure Functions ve vašem upřednostňovaném jazyce. Později v článku aktualizujete, spustíte a publikujete kód funkce do Azure.

  1. V Visual Studio Code stisknutím klávesy F1 otevřete paletu příkazů. 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:

    Podnět Výběr
    Výběr jazyka Zvolte .
    Select a technologie .NET runtime Zvolte technologie .NET 8.0 LTS.
    Výběr šablony pro první funkci projektu Zvolte .
    Zadejte název funkce. Zadejte .
    Poskytněte obor názvů Zadejte .
    Úroveň autorizace Zvolte , který vyžaduje přístupový klíč pro volání koncového bodu funkce. Další informace najdete v tématu Úroveň autorizace.
    Vyberte, jak chcete projekt otevřít. Zvolte .
    Podnět Výběr
    Výběr jazyka Zvolte Java.
    Vyberte verzi Java Zvolte Java 8, Java 11, Java 17 nebo Java 21, Java verzi, na které běží vaše funkce v Azure. Zvolte Java verzi, kterou jste místně ověřili.
    Zadejte ID skupiny. Zvolte .
    Zadejte ID artefaktu. Zvolte .
    Uveďte verzi. Zvolte .
    Zadejte název balíčku. Zvolte .
    Zadejte název aplikace. Zvolte .
    Výběr šablony pro první funkci projektu Zvolte .
    Vyberte nástroj sestavení pro projekt Java Zvolte .
    Vyberte, jak chcete projekt otevřít. Zvolte .
    Podnět Výběr
    Výběr jazyka Zvolte .
    Výběr programovacího modelu JavaScriptu Zvolte .
    Výběr šablony pro první funkci projektu Zvolte .
    Zadejte název funkce. Zadejte .
    Úroveň autorizace Zvolte , který vyžaduje přístupový klíč pro volání koncového bodu funkce. Další informace najdete v tématu Úroveň autorizace.
    Vyberte, jak chcete projekt otevřít. Zvolte .
    Podnět Výběr
    Výběr jazyka Zvolte .
    Výběr programovacího modelu JavaScriptu Zvolte .
    Výběr šablony pro první funkci projektu Zvolte .
    Zadejte název funkce. Zadejte .
    Úroveň autorizace Zvolte , který vyžaduje přístupový klíč pro volání koncového bodu funkce. Další informace najdete v tématu Úroveň autorizace.
    Vyberte, jak chcete projekt otevřít. Zvolte .
    Podnět Výběr
    Výběr jazyka Zvolte Python.
    Vyberte interpreta Python a vytvořte virtuální prostředí Zvolte preferovaný interpret Python. Pokud se možnost nezobrazí, zadejte úplnou cestu k binárnímu souboru Python.
    Výběr šablony pro první funkci projektu Zvolte .
    Název funkce, kterou chcete vytvořit Zadejte .
    Úroveň autorizace Zvolte , který vyžaduje přístupový klíč pro volání koncového bodu funkce. Další informace najdete v tématu Úroveň autorizace.
    Vyberte, jak chcete projekt otevřít. Zvolte .
    Podnět Výběr
    Výběr jazyka pro projekt funkce Zvolte .
    Výběr šablony pro první funkci projektu Zvolte .
    Zadejte název funkce. Zadejte .
    Úroveň autorizace Zvolte , který vyžaduje přístupový klíč pro volání koncového bodu funkce. Další informace najdete v tématu Úroveň autorizace.
    Vyberte, jak chcete projekt otevřít. Zvolte .
    Podnět Výběr
    Výběr jazyka pro projekt funkce Zvolte .
    Výběr šablony pro první funkci projektu Zvolte .
    Zadejte název funkce. Zadejte .
    Úroveň autorizace Zvolte , který vyžaduje přístupový klíč pro volání koncového bodu funkce. Další informace najdete v tématu Úroveň autorizace.
    Vyberte, jak chcete projekt otevřít. Zvolte .

    Pomocí těchto informací Visual Studio Code vygeneruje projekt kódu pro Azure Functions s koncovým bodem funkce triggeru HTTP. Soubory místního projektu můžete zobrazit v Průzkumníku. Další informace o vytvořených souborech najdete v tématu Vygenerované soubory projektu.

  1. V souboru local.settings.json aktualizujte nastavení jako v následujícím příkladu:

    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    

    Toto nastavení říká místnímu hostiteli Functions, aby používal emulátor úložiště pro připojení k úložišti vyžadované modelem Python v2. Když projekt publikujete do Azure, použije toto nastavení výchozí účet úložiště. Pokud během místního vývoje používáte účet Azure Storage, nastavte připojovací řetězec úložiště zde.

Spusťte emulátor.

  1. V Visual Studio Code stisknutím klávesy F1 otevřete paletu příkazů. Na paletě příkazů vyhledejte a vyberte .

  2. Zkontrolujte dolní panel a ověřte, že jsou spuštěné emulační služby Azurite. Pokud ano, můžete funkci spustit místně.

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.

  • Pokračovat
  • Rust
  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 na Windows) je výstupem v kořenové složce aplikace funkcí.

    go build handler.go
    

Konfigurujte svou funkční aplikaci

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. V části customHandler.description nastavte hodnotu defaultExecutablePath na handler (na Windows nastavte hodnotu handler.exe).

  3. V části přidejte vlastnost s názvem a nastavte její hodnotu na . 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. Uložte soubor.

    "customHandler": {
      "description": {
        "defaultExecutablePath": "handler",
        "workingDirectory": "",
        "arguments": []
      },
      "enableForwardingHttpRequest": true
    }
    

Funkční aplikace je nakonfigurovaná tak, aby spustila vlastní spustitelný soubor obslužné rutiny.

Místní spuštění funkce

Visual Studio Code se integruje s nástroji Azure Functions Core Tools, abyste před publikováním do Azure mohli tento projekt spustit na místním vývojovém počítači.

  1. Pokud chcete funkci spustit místně, stiskněte klávesu F5 nebo ikonu Spustit a ladit na panelu aktivit na levé straně. Na panelu Terminál se zobrazí výstup ze základních nástrojů. Aplikace se spustí na panelu Terminálu . Můžete vidět koncový bod URL vaší funkce aktivované protokolem HTTP spuštěné místně.

    Snímek obrazovky s výstupem místní funkce VS Code

    Pokud máte potíže se spuštěním na Windows, ujistěte se, že výchozí terminál pro Visual Studio Code není nastavený na WSL Bash.

  2. Nástroje Core Tools stále běží v Terminal, zvolte na panelu aktivit ikonu Azure. V oblasti pracovní plochy rozbalte položku Místní funkce projektu. Klikněte pravým tlačítkem (Windows) nebo Ctrl - klikněte na novou funkci (macOS) a zvolte Execute Function Now... .

    Spustit funkci nyní ve Visual Studio Code

  3. V Těle požadavku se zobrazí hodnota těla zprávy { "name": "Azure" }. Stisknutím klávesy Enter odešlete tento požadavek do své funkce.

  4. Když se funkce spustí místně a vrátí odpověď, v Visual Studio Code se vyvolá oznámení. Informace o spuštění funkce se zobrazují na panelu terminálu .

  5. Při zaměření na panel Terminálu stisknutím kombinace kláves Ctrl + C zastavte Nástroje Core Tools a odpojte ladicí program.

Po ověření správného spuštění funkce na místním počítači můžete volitelně použít nástroje AI, jako je GitHub Copilot v Visual Studio Code, a aktualizovat kód funkce generované šablonou.

Použití AI k normalizaci a ověření vstupu

Tento příklad výzvy k Copilot Chat aktualizuje existující kód funkce, aby načetl parametry z řetězce dotazu nebo textu JSON. Použije formátování nebo převody typů a vrátí parametry jako JSON v odpovědi:

Modify the function to accept name, email, and age from the JSON body of the
request. If any of these parameters are missing from the query string, read
them from the JSON body. Return all three parameters in the JSON response, 
applying these rules:
Title-case the name
Lowercase the email
Convert age to an integer if possible, otherwise return "not provided"
Use sensible defaults if any parameter is missing
Make sure that any added packages are compatible with the version of the packages already in the project
Modify the function to accept name, email, and age from the JSON body of the
request. If any of these parameters are missing from the query string, read
them from the JSON body. Return all three parameters in the JSON response, 
applying these rules:
Title-case the name
Lowercase the email
Convert age to an integer if possible, otherwise return "not provided"
Use sensible defaults if any parameter is missing
Modify the function to accept name, email, and age from the JSON body of the
request. If any of these parameters are missing from the query string, read
them from the JSON body. Return all three parameters in the JSON response, 
applying these rules:
Title-case the name
Lowercase the email
Convert age to an integer if possible, otherwise return "not provided"
Use sensible defaults if any parameter is missing
Update the FunctionTest.java file to test the new logic. 

Podle potřeby můžete přizpůsobit výzvu, abyste mohli přidat konkrétní údaje. Potom znovu spusťte aplikaci místně a po změně kódu ověřte, že funguje podle očekávání. Tentokrát použijte text zprávy, například:

{ "name": "devon torres", "email": "torres.devon@contoso.com", "age": "34" }

Tip

GitHub Copilot využívá AI, takže jsou možné překvapení a chyby. Pokud během provádění dojde k nějakým chybám, vložte chybovou zprávu do okna chatu, vyberte Agent režimu a požádejte o pomoc s řešením chyby Copilot. Další informace najdete v tématu Copilot nejčastější dotazy.

Při spuštění v režimu agenta závisí výsledky tohoto přizpůsobení na konkrétních nástrojích dostupných pro vašeho agenta.

Až budete s aplikací spokojeni, publikujte projekt přímo do Azure pomocí Visual Studio Code.

Po ověření správného spuštění funkce na místním počítači použijte Visual Studio Code k publikování projektu přímo do Azure.

Přihlášení k Azure

Než budete moct vytvářet Azure prostředky nebo publikovat aplikaci, musíte se přihlásit k Azure.

  1. Pokud ještě nejste přihlášení, na panelu Aktivita vyberte ikonu Azure. Potom v části Zdroje vyberte Sign in to Azure.

    Screenshot okna pro přihlášení do Azure v aplikaci 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ě účet Azure nemáte, vyberte Vytvoření účtu Azure. Studenti můžou vybrat Vytvořit účet Azure pro studenty.

  2. Po zobrazení výzvy v prohlížeči vyberte svůj Azure účet a přihlaste se pomocí 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ří vašemu Azure účtu, se zobrazí na bočním panelu.

Vytvoření aplikace funkcí v Azure

V této části vytvoříte funkční aplikaci v plánu Flex Consumption společně se souvisejícími prostředky ve vašem 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.

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

  2. Na příkazovém řádku zadejte následující informace:

    Podnět Činnost
    Výběr předplatného Vyberte Azure předplatné, které chcete použít. Výzva se nezobrazí, pokud v části Prostředky uvidíte jenom jedno předplatné.
    Zadejte nový název aplikace funkcí. Zadejte globálně jedinečný název platný v cestě URL. Zadaný název se ověří, abyste měli jistotu, že je v Azure Functions jedinečný.
    Výběr umístění pro nové prostředky Vyberte Azure oblast. Pokud chcete dosáhnout lepšího výkonu , vyberte oblast blízko vás. Zobrazí se pouze oblasti podporované plány Flex Consumption.
    Výběr zásobníku modulu runtime Vyberte jazykovou verzi, kterou aktuálně spouštíte lokálně.
    Vyberte typ ověřování zdroje Vyberte Spravovanou identitu, což je nejbezpečnější možnost připojení k výchozímu účtu úložiště hostitele.

    Na panelu Azure: Protokol aktivit se v rozšíření Azure zobrazuje stav jednotlivých prostředků při jejich vytváření v Azure.

    Snímek obrazovky, který zobrazuje protokol o vytváření prostředků Azure.

  3. Po vytvoření funkční aplikace se ve vašem Azure předplatném 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.
    • 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 Azure App Service, který definuje základního hostitele vaší aplikace funkcí.
    • Standardní účet Azure Storage, který používá hostitel služby Functions k udržování stavu a dalších informací o vaší aplikaci funkcí.
    • Instance Application Insights, která je připojená k funkční aplikaci a sleduje použití vašich funkcí v této 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.

    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ší funkční aplikací vytvoří na základě vámi zadaného názvu této aplikace. 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í.

Kompilace vlastní obslužné rutiny pro Azure

V této části zkompilujete projekt pro nasazení do Azure v aplikaci funkcí s Linuxem. Ve většině případů je potřeba znovu zkompilovat binární soubor a upravit konfiguraci tak, aby odpovídala cílové platformě, než ji publikujete do Azure.

  • Pokračovat
  • Rust
  • V integrovaném terminálu zkompilujte obslužnou rutinu do Linuxu/x64.

    GOOS=linux GOARCH=amd64 go build handler.go
    

V kořenovém adresáři aplikace funkcí se vytvoří binární název .

Nasazení projektu do Azure

Důležité

Nasazení aplikace do již existující funkční aplikace vždy přepíše obsah této aplikace v Azure.

  1. Na paletě příkazů zadejte a pak vyberte Azure Functions: Deploy to Function App.

  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 View Output 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 okna 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 nastavte ji jako svou funkci.

  3. V části Zadejte text požadavku a 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ěď.

Řešení problémů

Při řešení nejběžnějších problémů, ke kterým dochází při použití tohoto článku, použijte následující tabulku.

Problém Řešení
Nemůžete vytvořit projekt místní funkce? Ujistěte se, že máte nainstalované rozšíření Azure Functions.
Nemůžete funkci spustit místně? Ujistěte se, že máte nainstalovanou nejnovější verzi nástrojů Azure Functions Core Tools.
Při spuštění na Windows se ujistěte, že výchozí prostředí terminálu pro Visual Studio Code není nastavené na WSL Bash.
Nemůžete funkci nasadit do Azure? Zkontrolujte výstup kvůli informacím o chybě. Ikona zvonku v pravém dolním rohu je dalším způsobem zobrazení výstupu. Publikovali jste ji do existující aplikace funkcí? Tato akce přepíše obsah této aplikace v Azure.
Nešlo spustit cloudovou aplikaci Function? Nezapomeňte použít řetězec dotazu k odeslání parametrů nebo tělo žádosti pro vlastní obslužné rutiny.

Vyčistěte zdroje

Když budete pokračovat k dalšímu kroku a přidáte do funkce vazbu fronty Azure Storage, 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 Visual Studio Code otevřete průzkumníka Azure výběrem ikony Azure.
  2. V části Skupiny prostředků najděte svou skupinu prostředků.
  3. Klikněte pravým tlačítkem na skupinu prostředků a vyberte Odstranit.

Další informace o nákladech na Functions si můžete přečíst v tématu Odhad nákladů na Consumption plan.

Další kroky

K vytvoření aplikace funkcí s jednoduchou funkcí aktivovanou protokolem HTTP jste použili Visual Studio Code. V dalších článcích tuto funkci rozbalíte připojením k Azure Cosmos DB nebo Azure Storage. Další informace o připojení k jiným službám Azure najdete v tématu Přidání vazeb k existující funkci v Azure Functions. Další informace o zabezpečení najdete v tématu Securing Azure Functions.