Snabbstart: Skapa din första C#-funktion i Azure med Visual Studio

Med Azure Functions kan du använda Visual Studio för att skapa lokala C#-funktionsprojekt och sedan enkelt publicera projektet för att köras i en skalbar serverlös miljö i Azure. Om du föredrar att utveckla dina C#-appar lokalt med Hjälp av Visual Studio Code bör du i stället överväga den Visual Studio Code-baserade versionen av den här artikeln.

Som standard visar den här artikeln hur du skapar C#-funktioner som körs på .NET 8 i en isolerad arbetsprocess. Funktionsappar som körs i en isolerad arbetsprocess stöds i alla versioner av .NET som stöds av Functions. Mer information finns i Versioner som stöds.

I den här artikeln kan du se hur du:

  • Använd Visual Studio för att skapa ett C#-klassbiblioteksprojekt.
  • Skapa en funktion som svarar på HTTP-begäranden.
  • Kör koden lokalt för att verifiera funktionsbeteendet.
  • Distribuera kodprojektet till Azure Functions.

Slutförande av den här snabbstarten medför en liten kostnad på några USD-cent eller mindre på ditt Azure-konto.

Den här videon visar hur du skapar en C#-funktion i Azure.

Stegen i videon beskrivs också i följande avsnitt.

Förutsättningar

Skapa ett funktionsapprojekt

Azure Functions-projektmallen i Visual Studio skapar ett C#-klassbiblioteksprojekt som du kan publicera till en funktionsapp i Azure. Du kan använda en funktionsapp för att gruppera funktioner som en logisk enhet för enklare hantering, distribution, skalning och delning av resurser.

  1. På Visual Studio-menyn väljer du Arkiv>Nytt>projekt.

  2. I Skapa ett nytt projekt anger du funktioner i sökrutan, väljer Azure Functions-mallen och väljer sedan Nästa.

  3. I Konfigurera det nya projektet anger du ett projektnamn för projektet och väljer sedan Nästa. Funktionsappens namn måste vara ett giltigt C#-namnområde. Du kan inte använda understreck, bindestreck eller andra icke-alfanumeriska tecken.

  4. För återstående ytterligare informationsinställningar ,

    Inställning Värde beskrivning
    Functions Worker .NET 8.0 Isolerad (långsiktigt stöd) Funktionerna körs på .NET 8 i en isolerad arbetsprocess.
    Funktion HTTP-utlösare Det här värdet skapar en funktion som utlöses av en HTTP-begäran.
    Använda Azurite för körningslagringskonto (AzureWebJobsStorage) Aktivera Eftersom en funktionsapp i Azure kräver ett lagringskonto tilldelas eller skapas en när du publicerar projektet till Azure. En HTTP-utlösare använder inte ett Azure Storage-konto anslutningssträng. Alla andra utlösartyper kräver ett giltigt Azure Storage-konto anslutningssträng. När du väljer det här alternativet används Azurite-emulatorn .
    Auktoriseringsnivå Anonym Funktionen som skapats kan utlösas av alla klienter utan att en nyckel anges. Den här auktoriseringsinställningen gör det enkelt att testa den nya funktionen. Mer information om nycklar och auktorisering finns i Auktoriseringsnycklar och HTTP- och webhookbindningar.

    Screenshot of Azure Functions project settings.

    Se till att du anger auktoriseringsnivån till Anonym. Om du väljer standardnivån funktion måste du presentera funktionsnyckeln i begäranden för att få åtkomst till funktionsslutpunkten i Azure.

  5. Välj Skapa för att skapa funktionsprojektet och funktionen HTTP-utlösare.

Visual Studio skapar ett projekt och en klass som innehåller exempelkod för funktionstypen HTTP-utlösare. Den formaterade exempelkoden skickar ett HTTP-svar som innehåller ett värde från förfrågan eller frågesträngen. Attributet HttpTrigger anger att funktionen utlöses av en HTTP-begäran.

Byt namn på funktionen

Metodattributet Function anger namnet på funktionen, som som standard genereras som Function1. Eftersom verktygen inte låter dig åsidosätta standardfunktionsnamnet när du skapar projektet tar det en minut att skapa ett bättre namn för funktionsklassen, filen och metadata.

  1. I Utforskaren högerklickar du på filen Function1.cs och byter namn på den till HttpExample.cs.

  2. I koden byter du namn på klassen Function1 till HttpExample.

  3. I metoden med namnet Runbyter du namn på metodattributet Function till HttpExample.

Funktionsdefinitionen bör nu se ut som följande kod:

[Function("HttpExample")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.AuthLevelValue, "get", "post")] HttpRequest req)
{
    return new OkObjectResult("Welcome to Azure Functions!");
}

Nu när du har bytt namn på funktionen kan du testa den på den lokala datorn.

Kör funktionen lokalt

Visual Studio integreras med Azure Functions Core Tools så att du kan testa dina funktioner lokalt med hjälp av den fullständiga Azure Functions-körningen.

  1. Om du vill köra funktionen trycker du på F5 i Visual Studio. Du kan behöva aktivera ett brandväggsfel så att verktygen kan hantera HTTP-begäranden. Auktoriseringsnivåer tillämpas aldrig när du kör en funktion lokalt.

  2. Kopiera URL:en för funktionen från dina Azure Functions-utdata.

    Azure local runtime

  3. Klistra in URL:en för HTTP-begäran i webbläsarens adressfält och kör begäran. Följande bild visar svaret i webbläsaren på den lokala GET-begäran som returneras av funktionen:

    Function localhost response in the browser

  4. Om du vill sluta felsöka trycker du på Skift+F5 i Visual Studio.

När du har kontrollerat att funktionen körs korrekt på den lokala datorn är det dags att publicera projektet på Azure.

Publicera projektet på Azure

Visual Studio kan publicera ditt lokala projekt till Azure. Innan du kan publicera projektet måste du ha en funktionsapp i din Azure-prenumeration. Om du inte redan har en funktionsapp i Azure skapar Visual Studio-publiceringen en för dig första gången du publicerar projektet. I den här artikeln skapar du en funktionsapp och relaterade Azure-resurser.

  1. I Solution Explorer högerklickar du på projektet och väljer Publicera. I Mål väljer du Azure och sedan Nästa.

    Screenshot of publish window.

  2. Välj Azure-funktionsapp (Windows) för det specifika målet, som skapar en funktionsapp som körs i Windows och välj sedan Nästa.

    Screenshot of publish window with specific target.

  3. I funktionsinstansen väljer du Skapa en ny Azure-funktion...

    Screenshot of create a new function app instance.

  4. Skapa en ny instans med de värden som anges i följande tabell:

    Inställning Värde Beskrivning
    Namn Globalt unikt namn Namn som unikt identifierar din nya funktionsapp. Acceptera det här namnet eller ange ett nytt namn. Giltiga tecken är: a-z, 0-9och -.
    Abonnemang Din prenumeration Den Azure-prenumeration som ska användas. Acceptera den här prenumerationen eller välj en ny i listrutan.
    Resursgrupp Namnet på resursgruppen Den resursgrupp där du vill skapa funktionsappen. Välj Ny för att skapa en ny resursgrupp. Du kan också välja en befintlig resursgrupp i listrutan.
    Plantyp Förbrukning När du publicerar projektet till en funktionsapp som körs i en förbrukningsplan betalar du bara för körningar av funktionsappen. Andra värdplaner medför högre kostnader.
    Plats Plats för apptjänsten Välj en plats i en region nära dig eller andra tjänster som dina funktioner har åtkomst till.
    Azure Storage Allmänt lagringskonto Azure Functions-körmiljön kräver ett Azure Storage-konto. Välj Ny för att konfigurera ett allmänt lagringskonto. Du kan också välja ett befintligt konto som uppfyller kraven för lagringskontot.
    Application Insights Application Insights-instans Du bör aktivera Application Insights-integrering för din funktionsapp. Välj Ny för att skapa en ny instans, antingen i en ny eller i en befintlig Log Analytics-arbetsyta. Du kan också välja en befintlig instans.

    Screenshot of Create App Service dialog.

  5. Välj Skapa för att skapa en funktionsapp och dess relaterade resurser i Azure. Statusen för resursskapande visas längst ned till vänster i fönstret.

  6. I Functions-instansen kontrollerar du att paketfilen Kör från är markerad. Funktionsappen distribueras med Zip Deploy med Läget Run-From-Package aktiverat. Zip Deploy är den rekommenderade distributionsmetoden för funktionsprojektet som ger bättre prestanda.

    Screenshot of Finish profile creation.

  7. Välj Slutför och på sidan Publicera väljer du Publicera för att distribuera paketet som innehåller dina projektfiler till den nya funktionsappen i Azure.

    När distributionen är klar visas rot-URL:en för funktionsappen i Azure på fliken Publicera .

  8. På fliken Publicera i avsnittet Värd väljer du Öppna i Azure-portalen. Då öppnas den nya funktionsappens Azure-resurs i Azure-portalen.

    Screenshot of Publish success message.

Verifiera din funktion i Azure

  1. I Azure-portalen bör du vara på sidan Översikt för din nya funktionsapp.

  2. Under Funktioner väljer du din nya funktion med namnet HttpExample. Välj sedan Hämta funktions-URL på funktionssidan och sedan ikonen Kopiera till Urklipp.

  3. I adressfältet i webbläsaren klistrar du in den URL som du precis kopierade och kör begäran.

    URL:en som anropar http-utlösarfunktionen är i följande format:

    https://<APP_NAME>.azurewebsites.net/api/HttpExample?name=Functions

  4. Gå till den här URL:en och du ser ett svar i webbläsaren på den fjärranslutna GET-begäran som returneras av funktionen, vilket ser ut som i följande exempel:

    Function response in the browser

Rensa resurser

Resurser i Azure avser funktionsappar, funktioner, lagringskonton och så vidare. De är grupperade i resursgrupper och du kan ta bort allt i en grupp genom att ta bort gruppen.

Du har skapat Azure-resurser för att slutföra den här snabbstarten. Det är möjligt att du debiteras för de här resurserna beroende på din kontostatus och dina servicepriser. De andra snabbstarterna i den här samlingen bygger på den här snabbstarten. Om du planerar att arbeta med efterföljande snabbstarter, självstudier eller med någon av de tjänster som du har skapat i den här snabbstarten ska du inte rensa resurserna.

Använd följande steg för att ta bort funktionsappen och dess relaterade resurser för att undvika ytterligare kostnader.

  1. I dialogrutan Publicera i Visual Studio går du till avsnittet Värd och väljer Öppna i Azure-portalen.

  2. På funktionsappsidan väljer du fliken Översikt och väljer sedan länken under Resursgrupp.

    Select the resource group to delete from the function app page

  3. På sidan Resursgrupp granskar du listan över inkluderade resurser och kontrollerar att det är de som du vill ta bort.

  4. 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 högst upp på sidan för att se meddelandet.

Nästa steg

I den här snabbstarten använde du Visual Studio för att skapa och publicera en C#-funktionsapp i Azure med en enkel HTTP-utlösarfunktion.

Mer information om hur du arbetar med C#-funktioner som körs i en isolerad arbetsprocess finns i Guiden för att köra C# Azure Functions i en isolerad arbetsprocess. Kolla in .NET-versioner som stöds för att se andra versioner av .NET-versioner som stöds i en isolerad arbetsprocess.

Gå vidare till nästa artikel för att lära dig hur du lägger till en Azure Storage-köbindning till din funktion: