Schnellstart: Erstellen Ihrer ersten C#-Funktion in Azure mithilfe von Visual Studio

Mit Azure Functions können Sie Visual Studio zum Erstellen lokaler C#-Funktionsprojekte verwenden und diese Projekte dann mühelos zur Ausführung in einer skalierbaren serverlosen Umgebung in Azure veröffentlichen. Wenn Sie Ihre C#-Apps lieber lokal mit Visual Studio Code entwickeln möchten, sollten Sie stattdessen die auf Visual Studio Code basierende Version dieses Artikels berücksichtigen.

Dieser Artikel zeigt Ihnen, wie Sie standardmäßig C#-Funktionen erstellen, die unter .NET 8 in einem isolierten Workerprozess ausgeführt werden. Funktions-Apps, die in einem isolierten Workerprozess ausgeführt werden, werden in allen Versionen von .NET unterstützt, die von Functions unterstützt werden. Weitere Informationen finden Sie unter Unterstützte Versionen.

In diesem Artikel werden folgende Vorgehensweisen behandelt:

  • Verwenden Sie Visual Studio, um ein C#-Klassenbibliotheksprojekt zu erstellen.
  • Erstellen Sie eine Funktion, die auf HTTP-Anforderungen reagiert.
  • Führen Sie Ihren Code lokal aus, um das Funktionsverhalten zu überprüfen.
  • Stellen Sie Ihr Codeprojekt für Azure Functions bereit.

Im Rahmen dieser Schnellstartanleitung fallen in Ihrem Azure-Konto ggf. geringfügige Kosten im Centbereich an.

In diesem Video wird gezeigt, wie Sie eine C#-Funktion in Azure erstellen.

Die Schritte im Video werden auch in den folgenden Abschnitten beschrieben.

Voraussetzungen

Erstellen eines Funktionen-App-Projekts

Mit der Azure Functions-Projektvorlage in Visual Studio wird ein Bibliotheksprojekt der Klasse C# erstellt, das Sie in einer Funktions-App in Azure veröffentlichen können. Sie können mit einer Funktions-App Funktionen zu logischen Einheiten gruppieren. Dies erleichtert die Verwaltung, Bereitstellung, Skalierung und Freigabe von Ressourcen.

  1. Wählen Sie im Visual Studio-Menü Datei>Neu>Projekt aus.

  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.

  3. Geben Sie unter Neues Projekt konfigurieren im Feld Projektname einen Namen für Ihr Projekt ein, und wählen Sie anschließend Weiter aus. Der Name der Funktions-App muss als C#-Namespace gültig sein, verwenden Sie daher keine Unterstriche, Bindestriche oder andere nicht alphanumerische Zeichen.

  4. Für die übrigen Einstellungen von Zusätzliche Informationen,

    Einstellung Wert BESCHREIBUNG
    Functions-Worker .NET 8.0 isoliert (LTS) Ihre Funktionen werden in .NET 8 in einem isolierten Workerprozess ausgeführt.
    Function HTTP-Trigger Mit diesem Wert wird eine Funktion erstellt, die durch eine HTTP-Anforderung ausgelöst wird.
    Verwenden von Azurite für das Runtimespeicherkonto (AzureWebJobsStorage) Aktivieren Da für eine Funktions-App in Azure ein Speicherkonto erforderlich ist, wird ein Speicherkonto zugewiesen oder erstellt, wenn Sie Ihr Projekt in Azure veröffentlichen. Von HTTP-Triggern wird keine Azure Storage-Kontoverbindungszeichenfolge verwendet. Für alle anderen Triggertypen ist dagegen eine gültige Azure Storage-Kontoverbindungszeichenfolge erforderlich. Wenn Sie diese Option auswählen, wird der Azurite-Emulator verwendet.
    Autorisierungsstufe Anonym Die erstellte Funktion kann von jedem Client ausgelöst werden, ohne dass ein Schlüssel angegeben werden muss. Diese Autorisierungseinstellung erleichtert Ihnen das Testen Ihrer neuen Funktion. 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.

    Screenshot of Azure Functions project settings.

    Stellen Sie sicher, dass Autorisierungsstufe auf Anonym festgelegt ist. Bei Verwendung der Standardebene Funktion muss in Anforderungen für den Zugriff auf den Funktionsendpunkt in Azure der Funktionsschlüssel angegeben werden.

  5. Wählen Sie Erstellen aus, um das Funktionsprojekt und die HTTP-Triggerfunktion zu erstellen.

Visual Studio erstellt ein Projekt und eine Klasse mit Codebausteinen für den Funktionstyp „HTTP-Trigger“. Mit Code in den Codebausteinen wird eine HTTP-Antwort gesendet, die einen Wert aus dem Anforderungstext oder der Abfragezeichenfolge enthält. Mit dem Attribut HttpTrigger wird angegeben, dass die Funktion von einer HTTP-Anforderung ausgelöst wird.

Umbenennen der Funktion

Das Methodenattribut Function dient zum Festlegen des Namens der Funktion, der standardmäßig als Function1 generiert wird. 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.

  1. Klicken Sie im Datei-Explorer mit der rechten Maustaste auf die Datei „Function1.cs“, und benennen Sie sie in HttpExample.cs um.

  2. Benennen Sie die Klasse „Function1“ im Code in HttpExample um.

  3. Benennen Sie in der Methode mit dem Namen Run das Methodenattribut Function in HttpExample um.

Die Definition der Funktion sollte nun wie folgt aussehen:

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

Nachdem Sie die Funktion nun umbenannt haben, können Sie sie auf Ihrem lokalen Computer testen.

Lokales Ausführen der Funktion

Visual Studio wird in Azure Functions Core Tools integriert, sodass Sie Ihre Funktionen mithilfe der vollständigen Azure Functions-Runtime lokal testen können.

  1. Drücken Sie in Visual Studio die Taste F5, um Ihre Funktion auszuführen. Sie müssen unter Umständen eine Firewallausnahme aktivieren, damit die Tools HTTP-Anforderungen verarbeiten können. Autorisierungsebenen werden niemals erzwungen, wenn Sie eine Funktion lokal ausführen.

  2. Kopieren Sie die URL Ihrer Funktion aus der Azure Functions-Laufzeitausgabe.

    Azure local runtime

  3. Fügen Sie die URL der HTTP-Anforderung in die Adresszeile des Browsers ein, und führen Sie die Anforderung aus. Im folgenden Bild wird die Antwort auf die lokale GET-Anforderung im Browser angezeigt, die von der Funktion zurückgegeben wird:

    Function localhost response in the browser

  4. Drücken Sie in Visual Studio UMSCHALTTASTE+F5, um das Debuggen zu beenden.

Nachdem Sie sichergestellt haben, dass die Funktion auf Ihrem lokalen Computer richtig ausgeführt wird, können Sie das Projekt in Azure veröffentlichen.

Veröffentlichen des Projekts in Azure

Visual Studio kann Ihr lokales Projekt in Azure veröffentlichen. Sie müssen in Ihrem Azure-Abonnement über eine Funktions-App verfügen, um Ihr Projekt veröffentlichen zu können. Wenn Sie noch keine Funktions-App in Azure besitzen, wird mit der Visual Studio-Veröffentlichung eine solche zum ersten Mal für Sie erstellt, wenn Sie Ihr Projekt veröffentlichen. In diesem Artikel erstellen Sie eine Funktions-App und dazugehörige Azure-Ressourcen.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Veröffentlichen aus. Wählen Sie unter Ziel die Option Azure und dann Weiter aus.

    Screenshot of publish window.

  2. Wählen Sie Azure-Funktions-App (Windows) als das Spezifische Ziel aus. Es wird eine Funktions-App erstellt, die unter Windows ausgeführt wird, und wählen Sie dann Weiter aus.

    Screenshot of publish window with specific target.

  3. Wählen Sie unter Funktionsinstanz die Option Neue Azure-Funktion erstellen aus.

    Screenshot of create a new function app instance.

  4. Erstellen Sie eine neue Instanz mit den Werten aus der folgenden Tabelle:

    Einstellung Wert Beschreibung
    Name Global eindeutiger Name Name, der Ihre neue Funktions-App eindeutig identifiziert. Übernehmen Sie diesen Namen, oder geben Sie einen neuen Namen ein. Gültige Zeichen: a-z, 0-9 und -.
    Abonnement Ihr Abonnement Das zu verwendende Azure-Abonnement. Übernehmen Sie dieses Abonnement, oder wählen Sie in der Dropdownliste ein neues Abonnement aus.
    Ressourcengruppe Name Ihrer Ressourcengruppe Die Ressourcengruppe, in der Sie Ihre Funktions-App erstellen möchten. Wählen Sie Neu aus, um eine neue Ressourcengruppe zu erstellen. Sie können ebenfalls eine vorhandene Ressourcengruppe in der Dropdownliste auswählen.
    Plantyp Nutzung 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. Für andere Hostingpläne fallen höhere Kosten an.
    Location Standort des App-Diensts 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.
    Azure Storage Universelles Speicherkonto Für die Functions-Laufzeit ist ein Azure-Speicherkonto erforderlich. Wählen Sie Neu aus, um ein universelles Speicherkonto zu konfigurieren. Sie können auch ein vorhandenes Konto auswählen, das die Anforderungen an das Speicherkonto erfüllt.
    Application Insights Application Insights-Instanz Sie sollten die Application Insights-Integration für Ihre Funktions-App aktivieren. Wählen Sie Neu aus, um eine neue Instanz in einem neuen oder einem vorhandenen Log Analytics-Arbeitsbereich zu erstellen. Sie können ebenfalls eine vorhandene Instanz auswählen.

    Screenshot of Create App Service dialog.

  5. Wählen Sie Erstellen aus, um eine Funktions-App und die zugehörigen Ressourcen in Azure zu erstellen. Der Status der Ressourcenerstellung wird links unten im Fenster angezeigt.

  6. Vergewissern Sie sich unter Funktionsinstanz, dass die Option Aus Paketdatei ausführen aktiviert ist. Ihre Funktions-App wird unter Verwendung der ZIP-Bereitstellung mit aktiviertem Modus Run-From-Package bereitgestellt. Zip Deploy ist die empfohlene Bereitstellungsmethode für Ihr Funktionsprojekt, da damit eine bessere Leistung erzielt wird.

    Screenshot of Finish profile creation.

  7. Wählen Sie Fertig stellen und anschließend auf der Seite „Veröffentlichen“ die Option Veröffentlichen aus, um das Paket mit Ihren Projektdateien in der neuen Funktions-App in Azure bereitzustellen.

    Nach Abschluss der Bereitstellung wird die Stamm-URL der Funktions-App in Azure auf der Registerkarte Veröffentlichen angezeigt.

  8. Wählen Sie auf der Registerkarte „Veröffentlichen“ im Abschnitt „Hosting“ die Option Im Azure-Portal öffnen aus. Dadurch wird die Azure-Ressource für die neue Funktions-App im Azure-Portal geöffnet.

    Screenshot of Publish success message.

Überprüfen Ihrer Funktion in Azure

  1. Im Azure-Portal sollten Sie sich auf der Seite Übersicht für Ihre neue Funktions-App befinden.

  2. Wählen Sie unter Funktionen die neue Funktion HttpExample aus, und wählen Sie dann auf der Funktionsseite Funktions-URL abrufen und dann das Symbol Kopieren in Zwischenablage aus.

  3. Fügen Sie in der Adressleiste in Ihrem Browser die URL ein, die Sie soeben kopiert haben, und führen Sie die Anforderung aus.

    Die URL, über die Ihre Funktion mit HTTP-Trigger aufgerufen wird, hat das folgende Format:

    https://<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:

    Function response in the browser

Bereinigen von Ressourcen

Ressourcen bezieht sich bei Azure auf Funktions-Apps, Funktionen, Speicherkonten und Ähnliches. Sie werden in Ressourcengruppen zusammengefasst, und sämtliche Inhalte einer Gruppe können durch das Löschen der Gruppe gelöscht werden.

Sie haben Azure-Ressourcen erstellt, um diesen Schnellstart abzuschließen. Für diese Ressourcen fallen je nach Kontostatus und Dienstpreisen unter Umständen Kosten an. Andere Schnellstarts in dieser Sammlung bauen auf diesem Schnellstart auf. Ü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.

Löschen Sie mit den folgenden Schritten die Funktions-App und die zugehörigen Ressourcen, um weitere Kosten zu vermeiden.

  1. Wählen Sie im Dialogfeld „Visual Studio-Veröffentlichung“ im Abschnitt „Hosting“ die Option Im Azure-Portal öffnen aus.

  2. Wählen Sie auf der Seite „Funktions-App“ die Registerkarte Übersicht und anschließend unter Ressourcengruppe den Link aus.

    Select the resource group to delete from the function app page

  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.

  4. Klicken Sie auf Ressourcengruppe löschen, und folgen Sie den Anweisungen.

    Der Löschvorgang kann einige Minuten dauern. Nach Abschluss des Vorgangs wird kurz eine Benachrichtigung angezeigt. Sie können auch am oberen Seitenrand auf das Glockensymbol klicken, um die Benachrichtigung anzuzeigen.

Nächste Schritte

In dieser Schnellstartanleitung haben Sie mithilfe von Visual Studio eine C#-Funktions-App in Azure mit einer einfachen HTTP-Triggerfunktion erstellt und veröffentlicht.

Weitere Informationen zum Arbeiten mit C#-Funktionen, die in einem isolierten Workerprozess ausgeführt werden, finden Sie im Leitfaden zum Ausführen von Azure Functions für C# in einem isolierten Workerprozess. Sehen Sie sich von .NET unterstützte Versionen an, um andere Versionen unterstützter .NET-Versionen in einem isolierten Workerprozess anzuzeigen.

Im nächsten Artikel erfahren Sie, wie Sie Ihrer Funktion eine Azure Storage-Warteschlangenbindung zu hinzufügen: