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 die Visual Studio 2017-Tools für Azure Functions verwenden, um eine „hello world“-Funktion lokal zu erstellen und zu testen.In this article, you learn how to use the Visual Studio 2017 tools for Azure Functions to locally create and test a "hello world" function. Anschließend veröffentlichen Sie den Funktionscode in Azure.You then publish the function code to Azure. Diese Tools sind als Teil der Azure-Entwicklungsworkload in Visual Studio 2017 verfügbar.These tools are available as part of the Azure development workload in Visual Studio 2017.

localhost-Antwort der Funktion im Browser

Dieses Thema enthält ein Video zu einigen grundlegenden Schritten.This topic includes a video that demonstrates the same basic steps.

VoraussetzungenPrerequisites

Für dieses Tutorial benötigen Sie Folgendes:To complete this tutorial:

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, 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 Funktionen-App Funktionen zu logischen Einheiten gruppieren, um die Verwaltung, Bereitstellung und Freigabe von Ressourcen zu ermöglichen.A function app lets you 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.In Visual Studio, select New > Project from the File menu.

  2. Wählen Sie im Dialogfeld Neues Projekt die Option Installiert, erweitern Sie Visual C# > Cloud, und wählen Sie Azure Functions aus. Geben Sie unter Name einen Namen für Ihr Projekt ein, und klicken Sie auf OK.In the New Project dialog, select Installed, expand Visual C# > Cloud, select Azure Functions, type a Name for your project, and click OK. 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.

    Dialogfeld „Neues Projekt“ zum Erstellen einer Funktion in Visual Studio

  3. Verwenden Sie die Einstellungen, die in der Tabelle unter der Abbildung angegeben sind.Use the settings specified in the table that follows the image.

    Dialogfeld „Neue Funktion“ in Visual Studio

    EinstellungSetting Empfohlener WertSuggested value BESCHREIBUNGDescription
    VersionVersion Azure Functions 2.xAzure Functions 2.x
    (.NET Core)(.NET Core)
    Hierdurch wird ein Funktionsprojekt mit Version 2.x der Runtime von Azure Functions erstellt, die .NET Core unterstützt.This 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 How to target Azure Functions runtime version.
    VorlageTemplate HTTP-TriggerHTTP trigger Es wird eine Funktion erstellt, die mit einer HTTP-Anforderung ausgelöst wird.This creates a function triggered by an HTTP request.
    SpeicherkontoStorage account SpeicheremulatorStorage Emulator Für einen HTTP-Trigger wird die Storage-Kontoverbindung nicht verwendet.An HTTP trigger doesn't use the 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.
    ZugriffsrechteAccess rights 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 im Artikel HTTP- und Webhookbindungen in Azure Functions.For more information about keys and authorization, see Authorization keys in the HTTP and webhook bindings.
  4. Klicken Sie auf OK, um das Funktionsprojekt und die per HTTP ausgelöste Funktion zu erstellen.Click OK to create the function project and HTTP triggered function.

Visual Studio erstellt ein Projekt, das eine Klasse mit den Codebausteinen für den gewählten Funktionstyp enthält.Visual Studio creates a project and in it a class that contains boilerplate code for the chosen function type. Mit dem FunctionName-Attribut der Methode wird der Name der Funktion festgelegt.The FunctionName attribute on the method sets the name of the function. Mit dem HttpTrigger-Attribut wird angegeben, dass die Funktion mit 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 Eingabe- und Ausgabebindungen einer Funktion hinzufügen, indem Sie die geeigneten Attribute auf die Methode anwenden.You can add input and output bindings to a function 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 Testen der FunktionTest the function locally

Mit Azure Functions Core-Tools können Sie ein Azure Functions-Projekt auf dem lokalen Entwicklungscomputer ausführen.Azure Functions Core Tools lets you run an Azure Functions project on your local development computer. Sie werden beim ersten Starten einer Funktion in Visual Studio zum Installieren dieser Tools aufgefordert.You are prompted to install these tools the first time you start a function from Visual Studio.

  1. Drücken Sie F5, um Ihre Funktion zu testen.To test your function, press F5. Akzeptieren Sie die entsprechende Aufforderung von Visual Studio zum Herunterladen und Installieren der Azure Functions Core (CLI)-Tools.If prompted, accept the request from Visual Studio to download and install Azure Functions Core (CLI) tools. Sie müssen möglicherweise auch eine Firewallausnahme aktivieren, damit die Tools HTTP-Anforderungen verarbeiten können.You may also need to enable a firewall exception so that the tools can handle HTTP requests.

  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. Sie können eine Funktions-App direkt in Visual Studio erstellen.You can create a function app right from Visual Studio.

  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. Wählen Sie Azure-Funktionen-App, Neu erstellen und dann Veröffentlichen.Select Azure Function App, choose Create New, and then select Publish.

    Auswählen eines Veröffentlichungsziels

    Wenn Sie Von ZIP-Datei ausführen (empfohlen) aktivieren, wird Ihre Funktions-App in Azure direkt über das Bereitstellungspaket ausgeführt.When you enable Run from Zip, your function app in Azure is run directly from the deployment package. Weitere Informationen finden Sie unter Run your Azure Functions from a package file (Ausführen von Azure Functions über eine Paketdatei).For more information, see Run your Azure Functions from a package file.

    Achtung

    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.

  3. Wenn Sie Visual Studio noch nicht mit Ihrem Azure-Konto verbunden haben, wählen Sie Konto hinzufügen aus.If you haven't already connected Visual Studio to your Azure account, select Add an account....

  4. Verwenden Sie im Dialogfeld App Service erstellen die Hosting-Einstellungen in der Tabelle unter der Abbildung:In the Create App Service dialog, use the Hosting settings as specified in the table below the image:

    Dialogfeld „App Service erstellen“

    EinstellungSetting Empfohlener WertSuggested value BESCHREIBUNGDescription
    App-NameApp Name Global eindeutiger NameGlobally unique name Name, der Ihre neue Funktions-App eindeutig identifiziert.Name that uniquely identifies your new function app.
    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.
    App Service-PlanApp Service Plan VerbrauchsplanConsumption plan Achten Sie darauf, unter Größe den Verbrauch auszuwählen, nachdem Sie auf Neu geklickt haben, um einen serverlosen Tarif zu erstellen.Make sure to choose the Consumption under Size after you click 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.
    SpeicherkontoStorage Account Allgemeines 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. Klicken Sie auf Neu, um ein universelles Speicherkonto zu erstellen.Click 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. Klicken Sie auf Erstellen, um eine Funktions-App und zugehörige Ressourcen in Azure mit diesen Einstellungen zu erstellen und Ihren Funktionsprojektcode bereitzustellen.Click 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

Video ansehenWatch the video

Nächste SchritteNext steps

Sie haben Visual Studio genutzt, um eine C#-Funktions-App 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 with a simple HTTP triggered function.