Erstellen Ihrer ersten Funktion mit Visual StudioCreate your first function using Visual Studio

Mit Azure Functions können Sie Code in einer serverlosen Umgebung ausführen, ohne vorher eine VM erstellen oder eine Webanwendung veröffentlichen zu müssen.Azure Functions lets you execute your code in a serverless environment without having to first create a VM or publish a web application.

In diesem Artikel erfahren Sie, wie Sie mit Visual Studio 2019 eine Funktion vom Typ „hello world“ lokal erstellen und testen und anschließend in Azure veröffentlichen.In this article, you learn how to use Visual Studio 2019 to locally create and test a "hello world" function and then publish it to Azure. Diese Schnellstartanleitung gilt für Visual Studio 2019.This quickstart is designed for Visual Studio 2019. Wenn Sie ein Functions-Projekt mit Visual Studio 2017 erstellen, müssen Sie zuerst die aktuellen Azure Functions-Tools installieren.When creating a Functions project using Visual Studio 2017, you must first install the latest Azure Functions tools.

localhost-Antwort der Funktion im Browser

VoraussetzungenPrerequisites

Für dieses Tutorial müssen Sie zunächst Visual Studio 2019 installieren.To complete this tutorial, you must first install Visual Studio 2019. Vergewissern Sie sich, dass auch die Workload Azure-Entwicklung installiert ist.Make sure that the Azure development workload is also installed.

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 in einer Funktions-App in Azure veröffentlicht werden kann.The Azure Functions project template in Visual Studio creates a project that can be published to a function app in Azure. Sie können mit einer Funktions-App Funktionen zu logischen Einheiten gruppieren, um die Verwaltung, Bereitstellung und Freigabe von Ressourcen zu ermöglichen.You can use a function app to group functions as a logical unit for management, deployment, and sharing of resources.

  1. Wählen Sie in Visual Studio im Menü Datei die Optionen Neu > Projekt aus.In Visual Studio, on the File menu, select New > Project.

  2. Suchen Sie im Dialogfeld Neues Projekt erstellen nach functions, und wählen Sie die Vorlage Azure Functions und dann Weiter aus.In the Create a new project dialog box, search for functions, choose the Azure Functions template, and select Next.

  3. Geben Sie einen Namen für Ihr Projekt ein, und wählen Sie Erstellen aus.Enter a name for your project, and 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 unter Neue Azure Functions-Anwendung erstellen die folgenden Optionen:In Create a new Azure Functions application, use the following options:

    • Azure Functions v2 (.NET Core) 1Azure Functions v2 (.NET Core) 1
    • HTTP-TriggerHTTP trigger
    • Storage Account (Speicherkonto): SpeicheremulatorStorage Account: Storage Emulator
    • Autorisierungsstufe: AnonymousAuthorization level: Anonymous
    OptionOption Empfohlener WertSuggested value BESCHREIBUNGDescription
    Functions-RuntimeFunctions runtime Azure Functions 2.x
    (.NET Core)
    Azure Functions 2.x
    (.NET Core)
    Mit dieser Einstellung wird ein Funktionsprojekt mit Version 2.x der Runtime von Azure Functions erstellt, die .NET Core unterstützt.This setting creates a function project that uses the version 2.x runtime of Azure Functions, which supports .NET Core. 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 Target Azure Functions runtime version.
    FunktionsvorlageFunction template HTTP-TriggerHTTP trigger Mit dieser Einstellung wird eine Funktion erstellt, die mit einer HTTP-Anforderung ausgelöst wird.This setting creates a function triggered by an HTTP request.
    SpeicherkontoStorage Account SpeicheremulatorStorage Emulator Für einen HTTP-Trigger wird die Azure Storage-Kontoverbindung nicht verwendet.An HTTP trigger doesn't use the Azure Storage account connection. Für alle anderen Triggertypen ist eine gültige Speicherkonto-Verbindungszeichenfolge erforderlich.All other trigger types require a valid Storage account connection string. Da für Functions ein Speicherkonto erforderlich ist, wird ein Konto zugewiesen oder erstellt, wenn Sie Ihr Projekt in Azure veröffentlichen.Because Functions requires a storage account, one is assigned or created when you publish your project to Azure.
    AutorisierungsstufeAuthorization level AnonymousAnonymous 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 im Artikel HTTP- und Webhookbindungen in Azure Functions.For more information about keys and authorization, see Authorization keys in the HTTP and webhook bindings.

    Hinweis

    Stellen Sie sicher, dass Autorisierungsstufe auf Anonymous festgelegt ist.Make sure you set the Authorization level to Anonymous. Bei Auswahl der Standardebene Function müssen Sie in Anforderungen für den Zugriff auf den Funktionsendpunkt den Funktionsschlüssel angeben.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 per HTTP ausgelöste Funktion zu erstellen.Select Create to create the function project and HTTP-triggered 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 dem Attribut FunctionName der Methode wird der Name der Funktion festgelegt. Der Standardname lautet HttpTrigger.The FunctionName attribute on the method sets the name of the function, which by default is HttpTrigger. 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. 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.

Sie können die Funktionalität Ihrer Funktion mithilfe von Eingabe- und Ausgabebindungen erweitern, indem Sie die geeigneten Attribute auf die Methode anwenden.You can expand the capabilities of your function using input and output bindings by applying the appropriate attributes to the method. Weitere Informationen finden Sie im Abschnitt Trigger und Bindungen in der C#-Entwicklerreferenz zu Azure Functions.For more information, see the Triggers and bindings section of the Azure Functions C# developer reference.

Nachdem Sie nun Ihr Funktionsprojekt und eine Funktion mit HTTP-Trigger erstellt haben, können Sie sie auf Ihrem lokalen Computer testen.Now that you've created your function project and an HTTP-triggered 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 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 Functions runtime.

  1. Drücken Sie F5, um Ihre Funktion auszuführen.To run your function, press F5. Sie müssen möglicherweise eine Firewallausnahme aktivieren, damit die Tools HTTP-Anforderungen verarbeiten können.You may need to enable a firewall exception so that the tools can handle HTTP requests. Autorisierungsstufen werden bei lokaler Ausführung nie erzwungen.Authorization levels are never enforced when running 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 execute the request. Hier ist die Antwort des Browsers auf die von der Funktion zurückgegebene lokale GET-Anforderung abgebildet:The following 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 UMSCHALT+F5, um das Debuggen zu beenden.To stop debugging, press Shift + F5.

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 have 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, bevor Sie Ihr Projekt veröffentlichen können.You must have a function app in your Azure subscription before you can publish your project. 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 im Dialogfeld Veröffentlichungsziel auswählen die Veröffentlichungsoptionen, wie in der Tabelle unterhalb der Abbildung angegeben:In the Pick a publish target dialog, use the publish options as specified in the table below the image:

    Auswählen eines Veröffentlichungsziels

    OptionOption BESCHREIBUNGDescription
    Azure Functions-NutzungsplanAzure Functions Consumption plan 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 only pay for executions of your functions app. Für andere Hostingpläne fallen höhere Kosten an.Other hosting plans incur higher costs. Weitere Informationen finden Sie unter Skalierung und Hosting von Azure Functions.To learn more, see Azure Functions scale and hosting.
    Neue 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 der Auswahl von Vorhandene auswählen werden alle Dateien in der vorhandenen Funktions-App in Azure durch Dateien aus dem lokalen Projekt überschrieben.When 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 erneut Updates für eine vorhandene Funktions-App veröffentlichen.Only use this option when republishing 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. Dies Vorgehensweise wird zum Ausführen Ihrer Funktionen empfohlen und erzielt eine bessere Leistung.This is the recommended way of running your functions, which results in better performance. 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.When not using this option, make sure to stop your function app project from running locally before you publish to Azure.
  3. Wählen Sie Veröffentlichen.Select Publish. 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 im Dialogfeld App Service: Neu erstellen die Hostingeinstellungen wie in der Tabelle unter der Abbildung angegeben:In the App Service: Create new dialog, use the Hosting settings as specified in the table below the image:

    Dialogfeld „App Service erstellen“

    EinstellungSetting Empfohlener WertSuggested value BeschreibungDescription
    NameName Global eindeutiger NameGlobally unique name Name, der Ihre neue Funktions-App eindeutig identifiziert.Name that uniquely identifies your new function app. Gültige Zeichen sind a-z, 0-9 und -.Valid characters are a-z, 0-9, and -.
    AbonnementSubscription Auswählen Ihres AbonnementsChoose your subscription Das zu verwendende Azure-Abonnement.The Azure subscription to use.
    RessourcengruppeResource Group myResourceGroupmyResourceGroup Name der Ressourcengruppe, in der die Funktions-App erstellt wird.Name of the resource group in which to create your function app. Wählen Sie Neu aus, um eine neue Ressourcengruppe zu erstellen.Choose New to create a new resource group.
    HostingplanHosting Plan VerbrauchsplanConsumption plan Achten Sie darauf, unter Größe den Verbrauch auszuwählen, nachdem Sie Neu ausgewählt haben, um einen serverlosen Tarif zu erstellen.Make sure to choose the Consumption under Size after you select New to create a serverless plan. 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.Also, choose a Location in a region near you or near other services your functions access. Bei der Ausführung in einem anderen Plan als Verbrauch müssen Sie die Skalierung Ihrer Funktions-App verwalten.When you run in a plan other than Consumption, you must manage the scaling of your function app.
    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 erstellen.Select New to create a general-purpose storage account. Sie können auch ein vorhandenes Konto verwenden, das die Anforderungen an das Speicherkonto erfüllt.You can also use an existing account that meets the storage account requirements.
  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 related resources in Azure with these settings and deploy your function project code.

  6. Notieren Sie sich nach Abschluss der Bereitstellung den Wert der Website-URL, da es sich dabei um die Adresse Ihrer Funktions-App in Azure handelt.After the deployment is complete, make a note of the Site URL value, which is the address of your function app in Azure.

    Veröffentlichen einer Erfolgsmeldung

Testen der Funktion in AzureTest your function in Azure

  1. Kopieren Sie die Basis-URL der Funktions-App von der Seite „Veröffentlichungsprofil“.Copy the base URL of the function app from the Publish profile page. Ersetzen Sie den Teil localhost:port der URL, die Sie beim lokalen Testen der Funktion verwendet haben, durch die neue Basis-URL.Replace the localhost:port portion of the URL you used when testing the function locally with the new base URL. Stellen Sie wie zuvor sicher, dass Sie die Abfragezeichenfolge ?name=<YOUR_NAME> an diese URL anhängen und die Anforderung ausführen.As before, make sure to append the query string ?name=<YOUR_NAME> to this URL and execute the request.

    Die URL, über die Ihre per HTTP ausgelöste Funktion aufgerufen wird, sollte das folgende Format haben:The URL that calls your HTTP triggered function should be in the following format:

     http://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>?name=<YOUR_NAME> 
    
  2. Fügen Sie diese neue URL für die HTTP-Anforderung in die Adresszeile des Browsers ein.Paste this new URL for the HTTP request into your browser's address bar. Hier ist die Antwort des Browsers auf die von der Funktion zurückgegebene GET-Remoteanforderung abgebildet:The following shows the response in the browser to the remote GET request returned by the function:

    Funktionsantwort im Browser

Nächste SchritteNext steps

Sie haben Visual Studio genutzt, um eine C#-Funktions-App in Azure mit einer einfachen Funktion zu erstellen und zu veröffentlichen, die per HTTP ausgelöst wird.You have used Visual Studio to create and publish a C# function app in Azure with a simple HTTP triggered function. Weitere Informationen zum Entwickeln von Funktionen als .NET-Klassenbibliotheken finden Sie unter C#-Entwicklerreferenz zu Azure Functions.To learn more about developing functions as .NET class libraries, see Azure Functions C# developer reference.