Snabb start: skapa en Go-eller Rust-funktion i Azure med Visual Studio Code

I den här artikeln använder du Visual Studio Code för att skapa en anpassad hanterings funktion som svarar på http-begäranden. När du har testat koden lokalt distribuerar du den till den serverbaserade miljön för Azure Functions.

Anpassade hanterare kan användas för att skapa funktioner på valfritt språk eller i körnings miljö genom att köra en HTTP-Server process. Den här artikeln stöder både Go -och Rust.

Att slutföra den här snabb starten innebär en låg kostnad av några USD cent eller mindre i ditt Azure-konto.

Konfigurera din miljö

Innan du börjar bör du kontrol lera att du har följande krav på plats:

Skapa ditt lokala projekt

I det här avsnittet använder du Visual Studio Code för att skapa ett lokalt Azure Functions anpassat hanterings projekt. Senare i den här artikeln ska du publicera funktionskoden till Azure.

  1. Välj Azure-ikonen i Aktivitetsfältet och gör sedan följande i Azure: I området för funktioner väljer du ikonen Skapa nytt projekt....

    Välj Skapa ett nytt projekt

  2. Välj en katalogplats för projektarbetsytan och välj Välj.

    Anteckning

    De här stegen har utformats för att slutföras utanför en arbets yta. Välj i det här fallet inte en projektmapp som ingår i en arbetsyta.

  3. Ange följande information i meddelanderutorna:

    • Välj ett språk för ditt funktionsprojekt: Välj Custom.

    • Välj en mall för projektets första funktion: Välj HTTP trigger.

    • Ange ett funktionsnamn: Skriv HttpExample.

    • Autentiseringsnivå: Välj Anonymous , vilket gör att vem som helst kan anropa funktions slut punkten. Mer information om autentiseringsnivå finns i Authorization Keys.

    • Välj hur du vill öppna projektet: Välj Add to workspace.

  4. Med hjälp av den här informationen genererar Visual Studio Code ett Azure Functions-projekt med en HTTP-utlösnings funktion. Du kan visa de lokala projektfilerna i Utforskaren. Mer information om filer som skapas finns i genererade projektfiler.

Skapa och skapa din funktion

function.js filen i mappen HttpExample DEKLARerar en http-utlösnings funktion. Du slutför funktionen genom att lägga till en hanterare och kompilera den till en körbar fil.

  1. Tryck på CTRL + n (cmd + n på MacOS) för att skapa en ny fil. Spara som hanterare. gå till Function app-roten (i samma mapp som host.jspå).

  2. I hanteraren. go lägger du till följande kod och sparar filen. Det här är din anpassade hanterare.

    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. Tryck på CTRL + SKIFT + ' eller Välj ny terminal på menyn Terminal för att öppna en ny integrerad Terminal i vs Code.

  4. Kompilera din anpassade hanterare med hjälp av följande kommando. En körbar fil med namnet handler ( handler.exe i Windows) är utdata i rotmappen för Function-appen.

    go build handler.go
    

    VS Code – build go anpassad hanterare

Konfigurera din Function-app

Funktions värden måste konfigureras för att köra den anpassade hanterare-binärfilen när den startas.

  1. Öppna host.jspå.

  2. I customHandler.description avsnittet ställer du in värdet för defaultExecutablePath till handler (i Windows, ställer in det på handler.exe ).

  3. I customHandler avsnittet lägger du till en egenskap med namnet enableForwardingHttpRequest och anger dess värde till true . För funktioner som bara består av en HTTP-utlösare, underlättar den här inställningen programmering genom att du kan arbeta med en typisk HTTP-begäran i stället för den anpassade hanteraren begär nytto Last.

  4. Bekräfta att customHandler avsnittet ser ut som i det här exemplet. Spara filen.

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

Function-appen har kon figurer ATS för att starta den anpassade hanterarens körbara fil.

Köra funktionen lokalt

Du kan köra det här projektet på den lokala utvecklings datorn innan du publicerar till Azure.

  1. Starta Function-appen i den integrerade terminalen med hjälp av Azure Functions Core Tools.

    func start
    
  2. Med kärn verktyg som kör, navigerar du till följande URL för att köra en GET-begäran, som inkluderar ?name=Functions frågesträng.

    http://localhost:7071/api/HttpExample?name=Functions

  3. Ett svar returneras, vilket ser ut så här i en webbläsare:

    Webbläsare – exempel på localhost-utdata

  4. Information om begäran visas på panelen Terminal .

    Start-VS Code-utdata för aktivitets värd

  5. Tryck på CTRL + C för att stoppa Core tools.

När du har kontrollerat att funktionen fungerar korrekt på den lokala datorn är det dags att använda Visual Studio Code för att publicera projektet direkt till Azure.

Logga in på Azure

Innan du kan publicera appen måste du logga in på Azure.

  1. Om du inte redan är inloggad väljer du Azure-ikonen i aktivitets fältet och väljer sedan Logga in på Azure i avsnittet Azure: Functions . Om du inte redan har en, kan du skapa ett kostnads fritt Azure-konto. Studenter kan skapa ett kostnads fritt Azure-konto för studenter.

    Logga in på Azure i VS Code

    Om du redan är inloggad går du till nästa avsnitt.

  2. När du uppmanas till webbläsaren väljer du ditt Azure-konto och loggar in med dina autentiseringsuppgifter för Azure-kontot.

  3. När du har loggat in kan du stänga det nya webbläsarfönstret. De prenumerationer som tillhör ditt Azure-konto visas i sido fältet.

Kompilera den anpassade hanteraren för Azure

I det här avsnittet publicerar du ditt projekt till Azure i en Function-app som kör Linux. I de flesta fall måste du kompilera om binärfilen och ändra konfigurationen så att den matchar mål plattformen innan du publicerar den på Azure.

  1. Kompilera hanteraren till linux/x64 i den integrerade terminalen. En binär namngiven namn handler skapas i Function app-roten.

    GOOS=linux GOARCH=amd64 go build handler.go
    

Publicera projektet på Azure

I det här avsnittet ska du skapa en Function-app och relaterade resurser i din Azure-prenumeration och sedan distribuera din kod.

Viktigt

Om du publicerar till en befintlig funktionsapp skrivs innehållet i den appen över i Azure.

  1. Välj Azure-ikonen i aktivitets fältet och välj sedan knappen distribuera till Function-appen i avsnittet Azure: functions.

    Publicera projektet till Azure

  2. Ange följande information i meddelanderutorna:

    • Välj mapp: Välj en mapp från din arbets yta eller bläddra till en mapp som innehåller din Function-app. Du ser inte det här om du redan har en giltig Function-app öppen.

    • Välj prenumeration: Välj den prenumeration som ska användas. Du ser inte det här om du bara har en prenumeration.

    • Välj Funktionsapp i Azure: Välj + Create new Function App (advanced).

      Viktigt

      Med advanced alternativet kan du välja det operativ system som din funktions program körs i Azure, vilket i det här fallet är Linux.

      VS-kod – Välj avancerad skapa ny function-app

    • Ange ett globalt unikt namn för Function-appen: Ange ett namn som är giltigt i en URL-sökväg. Namnet du skriver verifieras för att säkerställa att det är unikt i Azure Functions.

    • Välj en körnings stack: Välj Custom Handler .

    • Välj ett operativ system: Välj Linux .

    • Välj en värd plan: Välj Consumption .

    • Välj en resurs grupp: Välj + Create new resource group . Ange ett namn för resurs gruppen. Det här namnet måste vara unikt i din Azure-prenumeration. Du kan använda det namn som föreslås i prompten.

    • Välj ett lagrings konto: Välj + Create new storage account . Det här namnet måste vara globalt unikt inom Azure. Du kan använda det namn som föreslås i prompten.

    • Välj en Application Insights resurs: Välj + Create Application Insights resource . Det här namnet måste vara globalt unikt inom Azure. Du kan använda det namn som föreslås i prompten.

    • Välj en plats för nya resurser: om du vill ha bättre prestanda väljer du en region nära dig. Tillägget visar status för enskilda resurser när de skapas i Azure i meddelande fältet.

    Meddelande om skapande av Azure-resurs

  3. När det är slutfört skapas följande Azure-resurser i din prenumeration:

    • En resurs grupp, som är en logisk behållare för relaterade resurser.
    • Ett standard Azure Storage-kontosom upprätthåller tillstånd och annan information om dina projekt.
    • En förbruknings plan som definierar den underliggande värden för din server lös Function-app.
    • En Function-app som tillhandahåller miljön för att köra funktions koden. Med en Function-app kan du gruppera funktioner som en logisk enhet för enklare hantering, distribution och delning av resurser inom samma värd plan.
    • En Application Insights instans som är ansluten till Function-appen, som spårar användningen av din server lös funktion.

    Ett meddelande visas när funktionsappen har skapats och distributionspaketet har tillämpats.

  4. Välj Visa utdata i det här meddelandet för att Visa skapande-och distributions resultaten, inklusive de Azure-resurser som du har skapat. Om du saknar meddelandet väljer du klock ikonen i det nedre högra hörnet för att se den igen.

    Skapa fullständig avisering

Kör funktionen i Azure

  1. Gå tillbaka till avsnittet Azure: Functions i sido fältet, expandera din prenumeration, din nya Function-app och functions. Högerklicka (Windows) eller CTRL- klicka (MacOS) på HttpExample funktionen och välj Kör funktion nu....

    Kör funktionen nu i Azure från Visual Studio Code

  2. I Ange brödtext för begäran visas bröd texten för begär ande meddelandet { "name": "Azure" } . Skicka meddelandet till din funktion genom att trycka på RETUR.

  3. När funktionen körs i Azure och returnerar ett svar, aktive ras ett meddelande i Visual Studio Code.

Rensa resurser

När du fortsätter till Nästa steg och lägger till en Azure Storage Queue-bindning till din funktion måste du hålla alla dina resurser på plats för att bygga vidare på det du redan har gjort.

Annars kan du använda följande steg för att ta bort Function-appen och dess relaterade resurser för att undvika ytterligare kostnader.

  1. I Visual Studio Code, trycker du på F1 för att öppna kommando paletten. I paletten kommando söker du efter och väljer Azure Functions: Open in portal .

  2. Välj Function-appen och tryck på RETUR. Sidan Function-appen öppnas i Azure Portal.

  3. På fliken Översikt väljer du den namngivna länken bredvid resurs grupp.

    Välj den resursgrupp som du vill ta bort från sidan för funktionsappar.

  4. Granska listan över resurser som ingår och verifiera att det är dem som du vill ta bort på sidan Resursgrupp.

  5. Välj Ta bort resursgrupp och följ instruktionerna.

    Borttagningen kan ta några minuter. När du är färdig visas ett meddelande i några sekunder. Du kan även välja klockikonen längst upp på sidan för att se meddelandet.

Mer information om funktions kostnader finns i uppskatta förbruknings plan kostnader.

Nästa steg