Quickstart: Uw eerste C#-functie maken in Azure met behulp van Visual Studio

Met Azure Functions kunt u Visual Studio gebruiken om lokale C#-functieprojecten te maken en dit project vervolgens eenvoudig te publiceren om te worden uitgevoerd in een schaalbare serverloze omgeving in Azure. Als u uw C#-apps liever lokaal ontwikkelt met Visual Studio Code, moet u in plaats daarvan de visual Studio Code-versie van dit artikel overwegen.

In dit artikel wordt standaard beschreven hoe u C#-functies maakt die worden uitgevoerd op .NET 8 in een geïsoleerd werkproces. Functie-apps die worden uitgevoerd in een geïsoleerd werkproces, worden ondersteund in alle versies van .NET die worden ondersteund door Functions. Zie Ondersteunde versies voor meer informatie.

In dit artikel leert u het volgende:

  • Visual Studio gebruiken om een C#-klassebibliotheekproject te maken.
  • Maak een functie die reageert op HTTP-aanvragen.
  • Voer uw code lokaal uit om het gedrag van de functie te controleren.
  • Implementeer uw codeproject in Azure Functions.

Voor het voltooien van deze quickstart worden kosten van een paar dollarcent of minder in rekening gebracht bij uw Azure-account.

In deze video ziet u hoe u een C#-functie maakt in Azure.

De stappen in de video worden ook beschreven in de volgende secties.

Vereisten

Een functie-appproject maken

Met de Azure Functions-projectsjabloon in Visual Studio maakt u een C#-klassebibliotheekproject dat u kunt publiceren naar een functie-app in Azure. U kunt een functie-app gebruiken om functies te groeperen in een logische eenheid, zodat u resources eenvoudiger kunt beheren, implementeren, schalen en delen.

  1. Selecteer in Visual Studio-menu Bestand>Nieuw>Project.

  2. Voer in Een nieuw project makenfuncties in het zoekvenster in, kies de sjabloon Azure Functions en selecteer vervolgens Volgende.

  3. Voer in Het nieuwe project configureren een projectnaam voor uw project in en selecteer vervolgens Volgende. De functie-appnaam moet geldig zijn als een C#-naamruimte. Gebruik dus geen onderstrepingstekens, afbreekstreepjes of andere niet-alfanumerieke tekens.

  4. Voor de overige instellingen voor aanvullende informatie ,

    Instelling Weergegeven als Beschrijving
    Functions-werkrol .NET 8.0 Geïsoleerde (langetermijnondersteuning) Uw functies worden uitgevoerd op .NET 8 in een geïsoleerd werkproces.
    Functie HTTP-trigger Met deze waarde wordt er een functie gemaakt die wordt geactiveerd door een HTTP-aanvraag.
    Azurite gebruiken voor runtime-opslagaccount (AzureWebJobsStorage) Inschakelen Omdat een functie-app in Azure een opslagaccount vereist, wordt er een toegewezen of gemaakt wanneer u uw project publiceert naar Azure. Een HTTP-trigger gebruikt geen Azure Storage-accountverbindingsreeks. Alle andere triggers vereisen een geldige Azure Storage-accountverbindingsreeks. Wanneer u deze optie selecteert, wordt de Azurite-emulator gebruikt.
    Verificatieniveau Anonieme De gemaakte functie kan door iedere client worden geactiveerd zonder een sleutel op te geven. Met deze autorisatie-instelling kunt u eenvoudig uw nieuwe functie testen. Raadpleeg Autorisatiesleutels in de HTTP- en webhookbindingen voor meer informatie over sleutels en autorisatie.

    Screenshot of Azure Functions project settings.

    Zorg ervoor dat u het Autorisatieniveau instelt op Anoniem. Als u het standaardniveau van de functie kiest, moet u de functiesleutel presenteren in aanvragen voor toegang tot uw functie-eindpunt in Azure.

  5. Selecteer OK om het functieproject en de door HTTP geactiveerde functie te maken.

Visual Studio maakt een project en klasse die standaardcode voor het type HTTP-triggerfunctie bevat. De standaardcode verzendt een HTTP-reactie met een waarde uit de hoofdtekst van de aanvraag of uit de query-tekenreeks. Met het kenmerk HttpTrigger wordt aangegeven dat de functie wordt geactiveerd door een HTTP-aanvraag.

De naam van de functie wijzigen

Met het kenmerk van de Function-methode wordt de naam van de functie ingesteld. Deze wordt standaard gegenereerd als Function1. Aangezien het hulpprogramma u niet toestaat de standaardnaam van de functie te wijzigen wanneer u het project maakt, raden we u aan even de tijd te nemen om een betere naam te maken voor de functieklasse, het bestand en de metagegevens.

  1. Klik in Verkenner met de rechtermuisknop op het bestand Function1.cs, en wijzig de naam in HttpExample.cs.

  2. Wijzig in de code de naam van de klasse Function1 in HttpExample.

  3. Wijzig in de benoemde Runmethode de naam van het Function methodekenmerk in HttpExample.

Uw functiedefinitie moet er nu uitzien als de volgende code:

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

Nu u de naam van de functie hebt gewijzigd, kunt u deze testen op de lokale computer.

De functie lokaal uitvoeren

Visual Studio kan worden geïntegreerd met Azure Functions Core Tools zodat u uw functies lokaal kunt testen met behulp van de volledige Azure Functions-runtime.

  1. Druk op F5 in Visual Studio om uw functie uit te voeren. Mogelijk moet u ook een firewall-uitzondering maken, zodat de hulpprogramma's HTTP-aanvragen kunnen afhandelen. Er worden geen autorisatieniveaus afgedwongen wanneer u een functie lokaal uitvoert.

  2. Kopieer de URL van uw functie vanuit de uitvoer van de Azure Functions-runtime.

    Azure local runtime

  3. Plak de URL voor de HTTP-aanvraag in de adresbalk van uw browser en voer de aanvraag uit. In de afbeelding hieronder ziet u de reactie in de browser op de lokale GET-aanvraag die door de functie wordt geretourneerd:

    Function localhost response in the browser

  4. Als u de foutopsporing wilt stoppen, drukt u op Shift+F5 in Visual Studio.

Nadat u hebt gecontroleerd of de functie correct wordt uitgevoerd op uw lokale computer, is het tijd om het project te publiceren in Azure.

Het project naar Azure publiceren

Visual Studio kan uw lokale project publiceren naar Azure. Voordat u uw project kunt publiceren, moet u een functie-app in uw Azure-abonnement hebben. Als u nog geen functie-app in Azure hebt, maakt Visual Studio-publicatie er een voor u de eerste keer dat u uw project publiceert. In dit artikel maakt u een functie-app en gerelateerde Azure-resources.

  1. Klik in Solution Explorer met de rechtermuisknop op het project en selecteer Publiceren. Selecteer vervolgens Azure in Target en Vervolgens.

    Screenshot of publish window.

  2. Selecteer De Azure-functie-app (Windows) voor het specifieke doel, waarmee een functie-app wordt gemaakt die wordt uitgevoerd in Windows en selecteer vervolgens Volgende.

    Screenshot of publish window with specific target.

  3. Kies een nieuwe Azure-functie maken in het functie-exemplaar...

    Screenshot of create a new function app instance.

  4. Maak een nieuw exemplaar met behulp van de waarden die zijn opgegeven in de volgende tabel:

    Instelling Weergegeven als Beschrijving
    Naam Wereldwijd unieke naam Naam waarmee uw nieuwe functie-app uniek wordt aangeduid. Accepteer deze naam of voer een nieuwe in. Geldige tekens zijn a-z, 0-9 en -.
    Abonnement Uw abonnement Het te gebruiken Azure-abonnement. Accepteer dit abonnement of selecteer een nieuwe uit de vervolgkeuzelijst.
    Resourcegroep Naam van uw resourcegroep De resourcegroep waarin u uw functie-app wilt maken. Selecteer Nieuw om een nieuwe resourcegroep te maken. U kunt ook een bestaande resourcegroep kiezen in de vervolgkeuzelijst.
    Abonnemtsype Verbruik Wanneer u uw project publiceert in een functie-app die wordt uitgevoerd in een verbruiksabonnement, betaalt u alleen voor uitvoeringen van uw functie-app. Andere hostingabonnement kosten meer.
    Location Locatie van de app-service Kies een Locatie in een regio bij u in de buurt of in de buurt van andere services die door uw functies worden gebruikt.
    Azure Storage Storage-account voor algemeen gebruik Er is een Azure-opslagaccount vereist voor de Functions-runtime. Selecteer Nieuw om een algemeen opslagaccount te configureren. U kunt ook een bestaand account kiezen dat voldoet aan de vereisten voor een opslagaccount.
    Application Insights Application Insights-exemplaar Schakel Application Insights-integratie in voor uw functie-app. Selecteer Nieuw om een nieuw exemplaar te maken, in een nieuwe of in een bestaande Log Analytics-werkruimte. U kunt ook een bestaand exemplaar kiezen.

    Screenshot of Create App Service dialog.

  5. Selecteer Maken om een functie-app en de bijbehorende resources te maken in Azure. De status van het maken van resources wordt linksonder in het venster weergegeven.

  6. Zorg ervoor dat het uitvoeren vanuit het pakketbestand is ingeschakeld in het Functions-exemplaar. Uw functie-app wordt geïmplementeerd met Zip-implementeren met de modus Uitvoeren vanuit pakket ingeschakeld. Zip Deploy is de aanbevolen implementatiemethode voor uw functions-project, wat resulteert in betere prestaties.

    Screenshot of Finish profile creation.

  7. Selecteer Voltooien en selecteer op de pagina Publiceren de optie Publiceren om het pakket met uw projectbestanden te implementeren in de nieuwe functie-app in Azure.

    Nadat de implementatie is voltooid, wordt de hoofd-URL van de functie-app in Azure weergegeven op het tabblad Publiceren .

  8. Kies Openen in Azure Portal op het tabblad Publiceren in de sectie Hosting. Hiermee opent u de nieuwe Azure-resource voor de functie-app in Azure Portal.

    Screenshot of Publish success message.

Uw functie controleren in Azure

  1. In Azure Portal moet u op de pagina Overzicht voor uw nieuwe functions-app staan.

  2. Selecteer onder Functions uw nieuwe functie met de naam HttpExample, selecteer vervolgens op de functiepagina functie-URL ophalen en vervolgens het pictogram Kopiëren naar klembord.

  3. Plak in de adresbalk in uw browser de URL die u zojuist hebt gekopieerd en voer de aanvraag uit.

    De URL die uw HTTP-triggerfunctie aanroept, heeft de volgende indeling:

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

  4. Ga naar deze URL. U ziet nu in de browser een antwoord op de externe GET-aanvraag dat is geretourneerd met de functie. Dit ziet er ongeveer als volgt uit:

    Function response in the browser

Resources opschonen

Resources verwijst in Azure naar functie-apps, functies, opslagaccounts,enzovoort. Deze zijn gegroepeerd in resourcegroepen. U kunt alle resources in een groep verwijderen door de groep zelf te verwijderen.

U hebt Azure-resources gemaakt om deze quickstart te voltooien. Deze resources kunnen bij u in rekening worden gebracht, afhankelijk van de accountstatus en serviceprijzen. Andere Quick Starts in deze verzameling zijn op deze Quick Start gebaseerd. Als u van plan bent om te werken met volgende quickstarts, zelfstudies of met een van de services die u in deze quickstart hebt gemaakt, moet u de resources niet opschonen.

Gebruik de volgende stappen om de functie-app en de bijbehorende resources te verwijderen om verdere kosten te voorkomen.

  1. Selecteer In het dialoogvenster Publiceren van Visual Studio in de sectie Hosting de optie Openen in Azure Portal.

  2. Selecteer op de pagina Functie-app het tabblad Overzicht, en selecteer vervolgens de koppeling onder Resourcegroep.

    Select the resource group to delete from the function app page

  3. Bekijk op de pagina Resourcegroep de lijst met opgenomen resources, en controleer of dit de resources zijn die u wilt verwijderen.

  4. Selecteer Resourcegroep verwijderen en volg de instructies.

    Verwijderen kan enkele minuten duren. Wanneer dit is voltooid, verschijnt een aantal seconden een melding in beeld. U kunt ook het belpictogram bovenaan de pagina selecteren om de melding te bekijken.

Volgende stappen

In deze quickstart hebt u Visual Studio gebruikt om in Azure een C#-functie-app met een eenvoudige HTTP-triggerfunctie te maken en te publiceren.

Zie de handleiding voor het uitvoeren van C# Azure Functions in een geïsoleerd werkproces voor meer informatie over het werken met C#-functies die worden uitgevoerd in een geïsoleerd werkproces. Bekijk ondersteunde versies van .NET om andere versies van ondersteunde .NET-versies te bekijken in een geïsoleerd werkproces.

Ga naar het volgende artikel voor informatie over het toevoegen van een Azure Storage-wachtrijbinding aan uw functie: