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 diesem Artikel verwenden Sie eine Ausgabebindung, um eine Nachricht in einer Warteschlange zu erstellen, wenn eine HTTP-Anforderung eine Funktion auslöst. Die von Ihrer Funktion erstellten Warteschlangenmeldungen zeigen Sie mithilfe des Azure Speichercontainers an.
Voraussetzungen
Ein Azure-Abonnement. Falls Sie kein Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Folgen Sie den Anweisungen in Erstellen Ihrer ersten Funktion im Azure-Portal, wobei Sie den Schritt Ressourcen bereinigen weglassen, um die In diesem Artikel zu verwendende Funktions-App und Funktion zu erstellen.
Hinzufügen einer Ausgabebindung
In diesem Abschnitt verwenden Sie die Portal-Benutzeroberfläche, um eine Azure Queue Storage-Ausgabebindung zu der Funktion hinzuzufügen, die Sie in den Voraussetzungen erstellt haben. 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.
Suchen Sie im Azure-Portal nach der Funktions-App, die Sie im Azure-Portal erstellt haben, und wählen Sie sie aus.
Wählen Sie in Ihrer Funktions-App die von Ihnen erstellte Funktion aus.
Wählen Sie Integration aus, und wählen Sie dann + Ausgabe hinzufügen aus.
Wählen Sie den Bindungstyp Azure Queue Storage aus, und fügen Sie die Einstellungen aus der Tabelle nach dem folgenden Screenshot hinzu:
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 vorhandene Speicherkontoverbindung verwenden, die von Ihrer Funktions-App verwendet wird, oder eine neue erstellen. 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 an die Funktion weitergegeben: Azure.
Wählen Sie in Ihrer Funktion Code+ Test aus, um den Funktionscode im Editor anzuzeigen.
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);
Wählen Sie Speichern aus, um Ihre Änderungen zu speichern.
Testen der Funktion
Nachdem die Codeänderungen gespeichert wurden, klicken Sie auf Testen.
Vergewissern Sie sich, dass Ihr Test diesem Screenshot entspricht, und wählen Sie dann Ausführen aus.
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. Diese Browsermethode wird in Erstellen Ihrer ersten Funktion aus dem Azure-Portal angezeigt.Ü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 Functions-Runtime 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
Erweitern Sie in Ihrer Funktions-App Einstellungen, und wählen Sie dann Umgebungsvariablen aus.
Wählen Sie auf der Registerkarte App-Einstellungen AzureWebJobsStorage aus.
Ermitteln Sie den Kontonamen, und notieren Sie ihn sich.
Überprüfen der Ausgabewarteschlange
Wählen Sie in der Ressourcengruppe für Ihre Funktions-App das Speicherkonto aus, das Sie verwenden.
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).Führen Sie die Funktion erneut aus.
Eine neue Meldung wird in einer Warteschlange angezeigt.
Bereinigen von Ressourcen
In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt. Wenn Sie diese Ressourcen in Zukunft nicht mehr benötigen, können Sie sie löschen, indem Sie die Ressourcengruppe löschen.
Wählen Sie im Azure-Portalmenü oder auf der Startseite die Option Ressourcengruppen aus. Wählen Sie auf der Seite Ressourcengruppen die Option myResourceGroup aus.
Stellen Sie auf der Seite myResourceGroup sicher, dass die Ressourcen aufgelistet sind, die Sie löschen möchten.
Wählen Sie die Option Löschen aus, geben Sie zur Bestätigung im Textfeld myResourceGroup ein, und wählen Sie anschließend Löschen aus.
Zugehöriger Inhalt
In diesem Artikel haben Sie einer vorhandenen Funktion eine Ausgabebindung hinzugefügt. Weitere Informationen zum Binden an Queue Storage finden Sie unter Queue Storage-Trigger und -Bindungen.
- Konzepte für Azure Functions-Trigger und -Bindungen
Erfahren Sie, wie Functions in andere Dienste integriert wird. - Entwicklerreferenz zu Azure Functions
Enthält weitere technische Informationen zur Functions-Runtime und eine Referenz für das Programmieren von Funktionen sowie das Festlegen von Triggern und Bindungen. - Lokales Codieren und Testen von Azure Functions
Beschreibt die Optionen für das lokale Entwickeln der Funktionen.