Schnellstart: Erstellen Ihrer ersten Funktion in Azure mit Visual StudioQuickstart: Create your first function in Azure using Visual Studio

In diesem Artikel wird mithilfe von Visual Studio eine auf der C#-Klassenbibliothek basierende Funktion erstellt, die auf HTTP-Anforderungen reagiert.In this article, you use Visual Studio to create a C# class library-based function that responds to HTTP requests. Der Code wird lokal getestet und anschließend in der serverlosen Umgebung von Azure Functions bereitgestellt.After testing the code locally, you deploy it to the serverless environment of Azure Functions.

Im Rahmen dieser Schnellstartanleitung fallen in Ihrem Azure-Konto ggf. geringfügige Kosten im Centbereich an.Completing this quickstart incurs a small cost of a few USD cents or less in your Azure account.

VoraussetzungenPrerequisites

Installieren Sie für dieses Tutorial zunächst Visual Studio 2019.To complete this tutorial, first install Visual Studio 2019. Wählen Sie bei der Installation die Workload Azure-Entwicklung aus.Ensure you select the Azure development workload during installation. Falls Sie stattdessen ein Azure Functions-Projekt mit Visual Studio 2017 erstellen möchten, müssen Sie zuerst die aktuellen Azure Functions-Tools installieren.If you want to create an Azure Functions project by using Visual Studio 2017 instead, you must first install the latest Azure Functions tools.

Installieren von Visual Studio mit der Workload „Azure-Entwicklung“

Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

Erstellen eines Funktionen-App-ProjektsCreate a function app project

Mit der Azure Functions-Projektvorlage in Visual Studio wird ein Projekt erstellt, das Sie in einer Funktions-App in Azure veröffentlichen können.The Azure Functions project template in Visual Studio creates a project that you can publish to a function app in Azure. Sie können mit einer Funktions-App Funktionen zu logischen Einheiten gruppieren. Dies erleichtert die Verwaltung, Bereitstellung, Skalierung und Freigabe von Ressourcen.You can use a function app to group functions as a logical unit for easier management, deployment, scaling, and sharing of resources.

  1. Wählen Sie im Visual Studio-Menü Datei > Neu > Projekt aus.From the Visual Studio menu, select File > New > Project.

  2. Geben Sie unter Neues Projekt erstellen den Suchbegriff functions in das Suchfeld ein, und wählen Sie die Vorlage Azure Functions und anschließend Weiter aus.In Create a new project, enter functions in the search box, choose the Azure Functions template, and then select Next.

  3. Geben Sie unter Neues Projekt konfigurieren im Feld Projektname einen Namen für Ihr Projekt ein, und wählen Sie anschließend Erstellen aus.In Configure your new project, enter a Project name for your project, and then select Create. Der Name der Funktions-App muss als C#-Namespace gültig sein, verwenden Sie daher keine Unterstriche, Bindestriche oder andere nicht alphanumerische Zeichen.The function app name must be valid as a C# namespace, so don't use underscores, hyphens, or any other nonalphanumeric characters.

  4. Verwenden Sie für die Einstellungen zum Erstellen einer neuen Azure Functions-Anwendung die Werte in der folgenden Tabelle:For the Create a new Azure Functions application settings, use the values in the following table:

    EinstellungSetting WertValue BESCHREIBUNGDescription
    Functions-RuntimeFunctions runtime Azure Functions v3
    (.NET Core)
    Azure Functions v3
    (.NET Core)
    Durch diesen Wert wird ein Funktionsprojekt mit Version 3.x der Runtime von Azure Functions erstellt, die .NET Core 3.x unterstützt.This value creates a function project that uses the version 3.x runtime of Azure Functions, which supports .NET Core 3.x. Azure Functions 1.x unterstützt .NET Framework.Azure Functions 1.x supports the .NET Framework. Weitere Informationen finden Sie unter Einstellen von Runtimeversionen von Azure Functions als Ziel.For more information, see Azure Functions runtime versions overview.
    FunktionsvorlageFunction template HTTP-TriggerHTTP trigger Mit diesem Wert wird eine Funktion erstellt, die durch eine HTTP-Anforderung ausgelöst wird.This value creates a function triggered by an HTTP request.
    Speicherkonto (AzureWebJobsStorage)Storage account (AzureWebJobsStorage) SpeicheremulatorStorage emulator Da für eine Azure-Funktion ein Speicherkonto erforderlich ist, wird ein Speicherkonto zugewiesen oder erstellt, wenn Sie Ihr Projekt in Azure veröffentlichen.Because an Azure Function requires a storage account, one is assigned or created when you publish your project to Azure. Von HTTP-Triggern wird keine Azure Storage-Kontoverbindungszeichenfolge verwendet. Für alle anderen Triggertypen ist dagegen eine gültige Azure Storage-Kontoverbindungszeichenfolge erforderlich.An HTTP trigger doesn't use an Azure Storage account connection string; all other trigger types require a valid Azure Storage account connection string.
    AutorisierungsstufeAuthorization level AnonymAnonymous Die erstellte Funktion kann von jedem Client ausgelöst werden, ohne dass ein Schlüssel angegeben werden muss.The created function can be triggered by any client without providing a key. Diese Autorisierungseinstellung erleichtert Ihnen das Testen Ihrer neuen Funktion.This authorization setting makes it easy to test your new function. Weitere Informationen zu Schlüsseln und zur Autorisierung finden Sie unter Autorisierungsschlüssel sowie in der Übersicht über HTTP-Trigger und -Bindungen in Azure Functions.For more information about keys and authorization, see Authorization keys and HTTP and webhook bindings.

    Azure Functions-Projekteinstellungen

    Stellen Sie sicher, dass Autorisierungsstufe auf Anonym festgelegt ist.Make sure you set the Authorization level to Anonymous. Bei Verwendung der Standardebene Funktion muss in Anforderungen für den Zugriff auf den Funktionsendpunkt der Funktionsschlüssel angegeben werden.If you choose the default level of Function, you're required to present the function key in requests to access your function endpoint.

  5. Wählen Sie Erstellen aus, um das Funktionsprojekt und die HTTP-Triggerfunktion zu erstellen.Select Create to create the function project and HTTP trigger function.

Visual Studio erstellt ein Projekt und eine Klasse mit Codebausteinen für den Funktionstyp „HTTP-Trigger“.Visual Studio creates a project and class that contains boilerplate code for the HTTP trigger function type. Mit Code in den Codebausteinen wird eine HTTP-Antwort gesendet, die einen Wert aus dem Anforderungstext oder der Abfragezeichenfolge enthält.The boilerplate code sends an HTTP response that includes a value from the request body or query string. Mit dem Attribut HttpTrigger wird angegeben, dass die Funktion von einer HTTP-Anforderung ausgelöst wird.The HttpTrigger attribute specifies that the function is triggered by an HTTP request.

Umbenennen der FunktionRename the function

Das Methodenattribut FunctionName dient zum Festlegen des Namens der Funktion, der standardmäßig als Function1 generiert wird.The FunctionName method attribute sets the name of the function, which by default is generated as Function1. Da die Tools Sie den Standardfunktionsnamen nicht überschreiben lassen, wenn Sie Ihr Projekt erstellen, nehmen Sie sich eine Minute Zeit, um einen besseren Namen für die Funktionsklasse, Datei und die Metadaten zu erstellen.Since the tooling doesn't let you override the default function name when you create your project, take a minute to create a better name for the function class, file, and metadata.

  1. Klicken Sie im Datei-Explorer mit der rechten Maustaste auf die Datei „Function1.cs“, und benennen Sie sie in HttpExample.cs um.In File Explorer, right-click the Function1.cs file and rename it to HttpExample.cs.

  2. Benennen Sie die Klasse „Function1“ im Code in ‚HttpExample‘ um.In the code, rename the Function1 class to `HttpExample'.

  3. Benennen Sie in der HttpTrigger-Methode namens Run das Methodenattribut FunctionName in HttpExample um.In the HttpTrigger method named Run, rename the FunctionName method attribute to HttpExample.

Nachdem Sie die Funktion nun umbenannt haben, können Sie sie auf Ihrem lokalen Computer testen.Now that you've renamed the function, you can test it on your local computer.

Lokales Ausführen der FunktionRun the function locally

Visual Studio wird in Azure Functions Core Tools integriert, sodass Sie Ihre Funktionen mithilfe der vollständigen Azure Functions-Runtime lokal testen können.Visual Studio integrates with Azure Functions Core Tools so that you can test your functions locally using the full Azure Functions runtime.

  1. Drücken Sie in Visual Studio die Taste F5, um Ihre Funktion auszuführen.To run your function, press F5 in Visual Studio. Sie müssen unter Umständen eine Firewallausnahme aktivieren, damit die Tools HTTP-Anforderungen verarbeiten können.You might need to enable a firewall exception so that the tools can handle HTTP requests. Autorisierungsebenen werden niemals erzwungen, wenn Sie eine Funktion lokal ausführen.Authorization levels are never enforced when you run a function locally.

  2. Kopieren Sie die URL Ihrer Funktion aus der Azure Functions-Laufzeitausgabe.Copy the URL of your function from the Azure Functions runtime output.

    Lokale Azure-Laufzeit

  3. Fügen Sie die URL der HTTP-Anforderung in die Adresszeile des Browsers ein.Paste the URL for the HTTP request into your browser's address bar. Hängen Sie anschließend die Abfragezeichenfolge ?name=<YOUR_NAME> an diese URL an, und führen Sie die Anforderung aus.Append the query string ?name=<YOUR_NAME> to this URL and run the request. In der folgenden Abbildung ist die Antwort des Browsers auf die von der Funktion zurückgegebene lokale GET-Anforderung dargestellt:The following image shows the response in the browser to the local GET request returned by the function:

    localhost-Antwort der Funktion im Browser

  4. Drücken Sie in Visual Studio UMSCHALT+F5, um das Debuggen zu beenden.To stop debugging, press Shift+F5 in Visual Studio.

Nachdem Sie sichergestellt haben, dass die Funktion auf Ihrem lokalen Computer richtig ausgeführt wird, können Sie das Projekt in Azure veröffentlichen.After you've verified that the function runs correctly on your local computer, it's time to publish the project to Azure.

Veröffentlichen des Projekts in AzurePublish the project to Azure

Sie müssen in Ihrem Azure-Abonnement über eine Funktions-App verfügen, um Ihr Projekt veröffentlichen zu können.Before you can publish your project, you must have a function app in your Azure subscription. Bei der Veröffentlichung in Visual Studio wird eine Funktions-App für Sie erstellt, wenn Sie das Projekt zum ersten Mal veröffentlichen.Visual Studio publishing creates a function app for you the first time you publish your project.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Veröffentlichen aus.In Solution Explorer, right-click the project and select Publish.

  2. Verwenden Sie unter Veröffentlichungsziel auswählen die in der folgenden Tabelle angegebenen Veröffentlichungsoptionen:In Pick a publish target, use the publish options specified in the following table:

    OptionOption BESCHREIBUNGDescription
    Azure Functions-NutzungsplanAzure Functions Consumption Plan Dient zum Erstellen einer Funktions-App in einer Azure-Cloudumgebung, die in einem Nutzungsplan ausgeführt wird.Create a function app in an Azure cloud environment that runs in a Consumption plan. Wenn Sie einen Nutzungsplan verwenden, bezahlen Sie nur für Ausführungen Ihrer Funktions-App.When you use a Consumption plan, you pay only for executions of your functions app. Für andere Hostingpläne fallen höhere Kosten an.Other hosting plans incur higher costs. Wenn Sie einen anderen Plan als einen Nutzungsplan verwenden müssen Sie die Skalierung Ihrer Funktions-App verwalten.If you run in a plan other than a Consumption plan, you must manage the scaling of your function app.
    Neu erstellenCreate New Eine neue Funktions-App wird mit zugehörigen Ressourcen in Azure erstellt.A new function app, with related resources, is created in Azure.
    Bei Verwendung von Vorhandene auswählen werden alle Dateien in der vorhandenen Funktions-App in Azure durch Dateien aus dem lokalen Projekt überschrieben.If you choose Select Existing, all files in the existing function app in Azure are overwritten by files from the local project. Verwenden Sie diese Option nur, wenn Sie Updates für eine vorhandene Funktions-App erneut veröffentlichen.Use this option only when you republish updates to an existing function app.
    Aus Paketdatei ausführenRun from package file Ihre Funktions-App wird unter Verwendung der ZIP-Bereitstellung mit aktiviertem Modus Run-From-Package bereitgestellt.Your function app is deployed using Zip Deploy with Run-From-Package mode enabled. Diese Bereitstellung führt zu einer besseren Leistung und wird für die Ausführung Ihrer Funktionen empfohlen.This deployment, which results in better performance, is the recommended way of running your functions.
    Wenn Sie diese Option nicht verwenden, stellen Sie vor der Veröffentlichung in Azure sicher, dass das Funktions-App-Projekt nicht lokal ausgeführt wird.If you don't use this option, make sure to stop your function app project from running locally before you publish to Azure.

    Erstellen eines Veröffentlichungsprofils

  3. Wählen Sie Profil erstellen aus.Select Create Profile. Falls Sie sich noch nicht über Visual Studio bei Ihrem Azure-Konto angemeldet haben, wählen Sie Anmelden aus.If you haven't already signed-in to your Azure account from Visual Studio, select Sign-in. Sie können auch ein kostenloses Azure-Konto erstellen.You can also create a free Azure account.

  4. Verwenden Sie unter App Service: Neu erstellen die Werte aus der folgenden Tabelle:In App Service: Create new, use the values specified in the following table:

    EinstellungSetting WertValue BESCHREIBUNGDescription
    NameName Global eindeutiger NameGlobally unique name Name, der Ihre neue Funktions-App eindeutig identifiziert.Name that uniquely identifies your new function app. Übernehmen Sie diesen Namen, oder geben Sie einen neuen Namen ein.Accept this name or enter a new name. Gültige Zeichen: a-z, 0-9 und -.Valid characters are: a-z, 0-9, and -.
    AbonnementSubscription Ihr AbonnementYour subscription Das zu verwendende Azure-Abonnement.The Azure subscription to use. Übernehmen Sie dieses Abonnement, oder wählen Sie in der Dropdownliste ein neues Abonnement aus.Accept this subscription or select a new one from the drop-down list.
    RessourcengruppeResource group Name Ihrer RessourcengruppeName of your resource group Die Ressourcengruppe, in der Ihre Funktions-App erstellt werden soll.The resource group in which to create your function app. Wählen Sie in der Dropdownliste eine vorhandene Ressourcengruppe aus, oder wählen Sie Neu aus, um eine neue Ressourcengruppe zu erstellen.Select an existing resource group from the drop-down list or choose New to create a new resource group.
    HostingplanHosting Plan Name Ihres HostingplansName of your hosting plan Wählen Sie Neu aus, um einen serverlosen Plan zu konfigurieren.Select New to configure a serverless plan. Wählen Sie unter Größe den Verbrauch aus.Make sure to choose the Consumption under Size. Wenn Sie Ihr Projekt in einer Funktions-App veröffentlichen, die in einem Verbrauchsplan ausgeführt wird, bezahlen Sie nur für die Ausführungen Ihrer Funktions-App.When you publish your project to a function app that runs in a Consumption plan, you pay only for executions of your functions app. Für andere Hostingpläne fallen höhere Kosten an.Other hosting plans incur higher costs. Bei Verwendung eines anderen Plans als Verbrauch müssen Sie die Skalierung Ihrer Funktions-App verwalten.If you run in a plan other than Consumption, you must manage the scaling of your function app.
    LocationLocation Standort des App-DienstsLocation of the app service Wählen Sie einen Standort in einer Region in Ihrer Nähe oder in der Nähe anderer Dienste aus, auf die Ihre Funktionen zugreifen.Choose a Location in a region near you or other services your functions access.
    Azure StorageAzure Storage Universelles SpeicherkontoGeneral-purpose storage account Für die Functions-Runtime wird ein Azure Storage-Konto benötigt.An Azure Storage account is required by the Functions runtime. Wählen Sie Neu aus, um ein universelles Speicherkonto zu konfigurieren.Select New to configure a general-purpose storage account. Sie können auch ein vorhandenes Konto auswählen, das die Anforderungen an das Speicherkonto erfüllt.You can also choose an existing account that meets the storage account requirements.

    Dialogfeld „App Service erstellen“

  5. Wählen Sie Erstellen aus, um eine Funktions-App und zugehörige Ressourcen in Azure mit diesen Einstellungen zu erstellen und Ihren Funktionsprojektcode bereitzustellen.Select Create to create a function app and its related resources in Azure with these settings and deploy your function project code.

  6. Klicken Sie auf Veröffentlichen, und warten Sie, bis die Bereitstellung abgeschlossen ist.Select Publish and wait for the deployment to complete.

    Nach Abschluss der Bereitstellung wird die Stamm-URL der Funktions-App in Azure auf der Registerkarte Veröffentlichen angezeigt.After the deployment completes the root URL of the function app in Azure is shown in the Publish tab.

  7. Wählen Sie auf der Registerkarte „Veröffentlichen“ die Option Im Cloud-Explorer verwalten aus.In the Publish tab, choose Manage in Cloud Explorer. Dadurch wird die Azure-Ressource für die neue Funktions-App im Cloud-Explorer geöffnet.This opens the new function app Azure resource in Cloud Explorer.

    Erstellen eines Veröffentlichungsprofils

    Im Cloud-Explorer können Sie Visual Studio verwenden, um die Inhalte der Website anzuzeigen, die Funktions-App zu starten und anzuhalten und direkt zu Funktions-App-Ressourcen in Azure und im Azure-Portal zu navigieren.Cloud Explorer lets you use Visual Studio to view the contents of the site, start and stop the function app, and browse directly to function app resources on Azure and in the Azure portal.

Testen der Funktion in AzureTest your function in Azure

  1. In Cloud-Explorer sollte Ihre neue Funktions-App ausgewählt sein.In Cloud Explorer, your new function app should be selected. Wenn nicht, erweitern Sie Ihr Abonnement > App Services, und wählen Sie Ihre neue Funktions-App aus.If not, expand your subscription > App Services, and select your new function app.

  2. Klicken Sie mit der rechten Maustaste auf die Funktions-App, und wählen Sie In Browser öffnen aus.Right-click the function app and choose Open in Browser. Dadurch wird der Stamm ihrer Funktions-App in Ihrem Standardwebbrowser geöffnet und die Seite angezeigt, die anzeigt, dass ihre Funktions-App ausgeführt wird.This opens the root of your function app in your default web browser and displays the page that indicates your function app is running.

    Ausgeführte Funktions-App

  3. Fügen Sie in der Adressleiste des Browsers die Zeichenfolge /api/HttpExample?name=Functions an die Basis-URL an, und führen Sie die Anforderung aus.In the address bar in the browser, append the string /api/HttpExample?name=Functions to the base URL and run the request.

    Die URL, über die Ihre Funktion mit HTTP-Trigger aufgerufen wird, hat das folgende Format:The URL that calls your HTTP trigger function is in the following format:

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

  4. Wechseln Sie zu dieser URL, und im Browser wird eine von der App auf die GET-Remoteanforderung zurückgegebene Antwort angezeigt, die wie im folgenden Beispiel aussieht:Go to this URL and you see a response in the browser to the remote GET request returned by the function, which looks like the following example:

    Ausgeführte Funktions-App

Bereinigen von RessourcenClean up resources

Andere Schnellstarts in dieser Sammlung bauen auf diesem Schnellstart auf.Other quickstarts in this collection build upon this quickstart. Überspringen Sie die Bereinigung der Ressourcen, falls Sie mit nachfolgenden Schnellstartanleitungen, Tutorials oder einem der Dienste, die Sie im Rahmen dieser Schnellstartanleitung erstellt haben, weiterarbeiten möchten.If you plan to work with subsequent quickstarts, tutorials, or with any of the services you have created in this quickstart, do not clean up the resources.

Ressourcen bezieht sich bei Azure auf Funktions-Apps, Funktionen, Speicherkonten und Ähnliches.Resources in Azure refer to function apps, functions, storage accounts, and so forth. Sie werden in Ressourcengruppen zusammengefasst, und sämtliche Inhalte einer Gruppe können durch das Löschen der Gruppe gelöscht werden.They're grouped into resource groups, and you can delete everything in a group by deleting the group.

Im Rahmen dieser Schnellstartanleitungen haben Sie Ressourcen erstellt.You created resources to complete these quickstarts. Für diese Ressourcen fallen je nach Kontostatus und Dienstpreisen unter Umständen Kosten an.You may be billed for these resources, depending on your account status and service pricing. Nicht mehr benötigte Ressourcen können wie folgt gelöscht werden:If you don't need the resources anymore, here's how to delete them:

  1. Erweitern Sie im Cloud-Explorer Ihr Abonnement > App Services, klicken Sie mit der rechten Maustaste auf ihre Funktions-App, und wählen Sie Im Portal öffnen aus.In the Cloud Explorer, expand your subscription > App Services, right-click your function app, and choose Open in Portal.

  2. Wählen Sie auf der Seite „Funktions-App“ die Registerkarte Übersicht und anschließend unter Ressourcengruppe den Link aus.In the function app page, select the Overview tab and then select the link under Resource group.

    Ausgeführte Funktions-App

  3. Prüfen Sie auf der Seite Ressourcengruppe die Liste mit den enthaltenen Ressourcen, und vergewissern Sie sich, dass es sich dabei um die Ressourcen handelt, die Sie löschen möchten.In the Resource group page, review the list of included resources, and verify that they're the ones you want to delete.

  4. Klicken Sie auf Ressourcengruppe löschen, und folgen Sie den Anweisungen.Select Delete resource group, and follow the instructions.

    Der Löschvorgang kann einige Minuten dauern.Deletion may take a couple of minutes. Nach Abschluss des Vorgangs wird kurz eine Benachrichtigung angezeigt.When it's done, a notification appears for a few seconds. Sie können auch am oberen Seitenrand auf das Glockensymbol klicken, um die Benachrichtigung anzuzeigen.You can also select the bell icon at the top of the page to view the notification.

Nächste SchritteNext steps

In dieser Schnellstartanleitung haben Sie mithilfe von Visual Studio eine C#-Funktions-App in Azure mit einer einfachen HTTP-Triggerfunktion erstellt und veröffentlicht.In this quickstart, you used Visual Studio to create and publish a C# function app in Azure with a simple HTTP trigger function.

Im nächsten Artikel erfahren Sie, wie Sie Ihrer Funktion eine Azure Storage-Warteschlangenbindung zu hinzufügen:Advance to the next article to learn how to add an Azure Storage queue binding to your function: