Hinzufügen von Meldungen in die Warteschlange von Azure Storage mithilfe von Functions

Mithilfe von Eingabe- und Ausgabebindungen in Azure Functions können Sie Daten aus externen Diensten deklarativ für Ihren Code verfügbar machen. In dieser Schnellstartanleitung verwenden Sie eine Ausgabebindung, um eine Meldung in einer Warteschlange zu erstellen, wenn eine Funktion durch eine HTTP-Anforderung ausgelöst wird. Die von Ihrer Funktion erstellten Warteschlangenmeldungen zeigen Sie mithilfe des Azure Speichercontainers an.

Voraussetzungen

So führen Sie diesen Schnellstart durch:

  • Ein Azure-Abonnement. Sollten Sie kein Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

  • Folgen Sie der Anleitung unter Erstellen Ihrer ersten Funktion im Azure-Portal, lassen Sie dabei aber den Schritt Bereinigen von Ressourcen weg. In dieser Schnellstartanleitung werden die Funktions-App und die Funktion erstellt, die hier verwendet werden.

Hinzufügen einer Ausgabebindung

In diesem Abschnitt verwenden Sie die Benutzeroberfläche des Portals, um der zuvor erstellten Funktion eine Queue Storage-Ausgabebindung hinzuzufügen. Durch diese Bindung können Sie mit minimalem Programmieraufwand eine Meldung in einer Warteschlange erstellen. Sie müssen keinen Code für Aufgaben wie das Öffnen einer Speicherverbindung, das Erstellen einer Warteschlange oder das Abrufen eines Verweises auf eine Warteschlange schreiben. Die Azure Functions-Laufzeit und die Warteschlangen-Ausgabebindung nehmen Ihnen diese Aufgaben ab.

  1. Öffnen Sie im Azure-Portal die Seite „Funktions-App“ für die Funktions-App, die Sie in Erstellen Ihrer ersten Funktion im Azure-Portal erstellt haben. Um die Seite zu öffnen, suchen Sie nach Funktions-App und wählen die Option dann aus. Wählen Sie Ihre Funktions-App dann aus.

  2. Wählen Sie Ihre Funktions-App und dann die Funktion aus, die Sie im Rahmen der vorherigen Schnellstartanleitung erstellt haben.

  3. Wählen Sie Integration aus, und wählen Sie dann + Ausgabe hinzufügen aus.

    Create an output binding for your function.

  4. Wählen Sie den Bindungstyp Azure Queue Storage aus, und fügen Sie die Einstellungen aus der Tabelle nach dem folgenden Screenshot hinzu:

    Add a Queue storage output binding to a function in the Azure portal.

    Einstellung Vorgeschlagener Wert Beschreibung
    Name des Meldungsparameters outputQueueItem Der Name des Ausgabebindungsparameters
    Warteschlangenname outqueue Der Name der zu verknüpfenden Warteschlange in Ihrem Speicherkonto.
    Speicherkontoverbindung AzureWebJobsStorage Sie können die Speicherkontoverbindung verwenden, die bereits von Ihrer Funktions-App verwendet wird, oder eine neue erstellen.
  5. Klicken Sie auf OK, um die Bindung hinzuzufügen.

Nachdem Sie eine Ausgabebindung definiert haben, müssen Sie den Code aktualisieren, um die Bindung zum Hinzufügen von Meldungen in eine Warteschlange verwenden zu können.

Hinzufügen von Code, der die Ausgabebindung verwendet

In diesem Abschnitt fügen Sie Code hinzu, der eine Meldung in die Ausgabewarteschlange schreibt. Die Meldung enthält den Wert, der an den HTTP-Trigger in der Abfragezeichenfolge übergeben wird. Wenn die Abfragezeichenfolge also beispielsweise name=Azure enthält, lautet die Warteschlangenmeldung Name passed to the function: Azure (An die Funktion übergebener Name: Azure).

  1. Wählen Sie in Ihrer Funktion Code+ Test aus, um den Funktionscode im Editor anzuzeigen.

  2. Aktualisieren Sie den Funktionscode gemäß Ihrer Funktionssprache:

    Fügen Sie der Methodensignatur einen Parameter vom Typ outputQueueItem hinzu, wie im folgenden Beispiel zu sehen.

    public static async Task<IActionResult> Run(HttpRequest req,
        ICollector<string> outputQueueItem, ILogger log)
    {
        ...
    }
    

    Fügen Sie im Text der Funktion kurz vor der return-Anweisung Code hinzu, der unter Verwendung des Parameters eine Warteschlangenmeldung erstellt.

    outputQueueItem.Add("Name passed to the function: " + name);
    
  3. Klicken Sie zum Speichern der Änderungen auf Speichern.

Testen der Funktion

  1. Nachdem die Codeänderungen gespeichert wurden, klicken Sie auf Testen.

  2. Vergewissern Sie sich, dass der Test der folgenden Abbildung entspricht, und wählen Sie Ausführen aus.

    Test the queue storage binding in the Azure portal.

    Beachten Sie, dass der Anforderungstext den name-Wert Azure enthält. Dieser Wert erscheint in der Warteschlangenmeldung, die erstellt wird, wenn die Funktion aufgerufen wird.

    Anstatt auf Ausführen zu klicken, können Sie die Funktion auch aufrufen, indem Sie eine URL in einen Browser eingeben und den name-Wert in der Abfragezeichenfolge angeben. Die Browsermethode wird in der vorherigen Schnellstartanleitung gezeigt.

  3. Überprüfen Sie die Protokolle, um sicherzustellen, dass die Funktion erfolgreich durchgeführt wurde.

Eine neue Warteschlange mit dem Namen outqueue wird in Ihrem Speicherkonto von der Laufzeit von Azure Functions erstellt, wenn die Ausgabebindung zum ersten Mal verwendet wird. Sie vergewissern sich mithilfe des Speicherkontos, dass die Warteschlange und eine Meldung darin erstellt wurden.

Suchen nach dem mit AzureWebJobsStorage verbundenen Speicherkonto

  1. Wechseln Sie zu ihrer Funktions-App, und wählen Sie Konfiguration aus.

  2. Wählen Sie unter Anwendungseinstellungen die Option AzureWebJobsStorage aus.

    Screenshot shows the Configuration page with AzureWebJobsStorage selected.

  3. Ermitteln Sie den Kontonamen, und notieren Sie ihn sich.

    Locate the storage account connected to AzureWebJobsStorage.

Überprüfen der Ausgabewarteschlange

  1. Wählen Sie in der Ressourcengruppe für Ihre Funktions-App das Speicherkonto aus, das Sie im Rahmen dieses Schnellstarts verwenden.

  2. Wählen Sie unter Warteschlangendienst die Option Warteschlangen aus, und wählen Sie dann die Warteschlange mit dem Namen outqueue aus.

    Die Warteschlange enthält die Meldung, die die Warteschlangen-Ausgabebindung erstellt hat, als Sie die per HTTP ausgelöste Funktion ausgeführt haben. Wenn Sie die Funktion mit dem name-Standardwert Azure aufgerufen haben, lautet die Warteschlangenmeldung Name passed to the function: Azure (An die Funktion übergebener Name: Azure).

  3. Führen Sie die Funktion erneut aus. Daraufhin erscheint eine weitere Meldung in der Warteschlange.

Bereinigen von Ressourcen

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.

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.

Im Rahmen dieser Schnellstartanleitungen haben Sie Ressourcen erstellt. Für diese Ressourcen fallen je nach Kontostatus und Dienstpreisen unter Umständen Kosten an. Nicht mehr benötigte Ressourcen können wie folgt gelöscht werden:

  1. Navigieren Sie im Azure-Portal zur Seite Ressourcengruppe.

    Von der Seite „Funktions-App“ aus gelangen Sie zu dieser Seite, indem Sie auf die Registerkarte Übersicht und anschließend unter Ressourcengruppe auf den Link klicken.

    Select the resource group to delete from the function app page.

    Vom Dashboard aus gelangen Sie zu dieser Seite, indem Sie Ressourcengruppen und anschließend die Ressourcengruppe auswählen, die Sie für diesen Artikel verwendet haben.

  2. 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.

  3. 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 einer vorhandenen Funktion eine Ausgabebindung hinzugefügt. Weitere Informationen zu Bindungen an Queue Storage finden Sie unter Azure Storage-Warteschlangenbindungen in Azure Functions.