Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Lernprogramm erfahren Sie, wie Sie auf Azure Service Bus-Ereignisse reagieren, die mit Azure Event Grid mithilfe von Azure Logic Apps empfangen werden.
Voraussetzungen
Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
Erstellen eines Service Bus-Namespace
Befolgen Sie die Anleitungen in diesem Tutorial: Schnellstart: Erstellen eines Service Bus-Themas und eines oder mehrerer Abonnements dieses Themas im Azure-Portal, um folgende Aufgaben durchzuführen:
- Erstellen eines Service Bus Premium-Namespace.
- Abrufen der Verbindungszeichenfolge.
- Erstellen eines Service Bus-Themas.
- Erstellen eines Abonnements für das Thema. In diesem Tutorial wird nur ein einzelnes Abonnement benötigt. Die Abonnements S2 und S3 müssen also nicht erstellt werden.
Senden von Nachricht an das Service Bus-Thema
In diesem Abschnitt verwenden Sie eine Beispielanwendung, um Nachrichten an das Thema Service Bus zu senden, das Sie im vorherigen Abschnitt erstellt haben.
Klonen Sie das GitHub-Repository „azure-service-bus repository“, oder laden Sie die ZIP-Datei herunter, und extrahieren Sie Dateien daraus.
Navigieren Sie in Visual Studio zum Ordner \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2, und öffnen Sie die Datei SBEventGridIntegration.sln.
Erweitern Sie im Projektmappen-Explorer-Fenster das MessageSender-Projekt , und wählen Sie Program.cs aus.
Ersetzen Sie
<SERVICE BUS NAMESPACE - CONNECTION STRING>
durch die Verbindungszeichenfolge für Ihren Service Bus-Namespace und<TOPIC NAME>
durch den Namen des Themas.const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>"; const string TopicName = "<TOPIC NAME>";
Erstellen und führen Sie das Programm aus, um fünf Testnachrichten (
const int numberOfMessages = 5;
) an das Service Bus-Thema zu senden.
Empfangen von Nachrichten mithilfe von Logic Apps
Erstellen Sie in diesem Abschnitt eine Azure-Logik-App, die Service Bus-Ereignisse mithilfe von Azure Event Grid empfängt.
Wählen Sie +Erstellen Sie eine Ressource, wählen Sie "Integration" und dann "Logik-App" aus.
Führen Sie auf der Seite "Logik-App erstellen " die folgenden Schritte aus:
Wählen Sie die Option Verbrauch>Multimandant und dann Auswählen.
Wählen Sie Ihr Azure-Abonnement aus.
Geben Sie eine Ressourcengruppe ein. Wählen Sie die Ressourcengruppe aus, die Sie für andere Ressourcen verwendet haben, z. B. den Service Bus-Namespace, den Sie zuvor erstellt haben.
Geben Sie einen Namen für die Logik-App ein.
Wählen Sie die Region für die Logik-App aus.
Wählen Sie Überprüfen + Erstellen aus.
Wählen Sie auf der Seite "Überprüfen + Erstellen " die Option "Erstellen " aus, um die Logik-App zu erstellen.
Wählen Sie auf der Seite "Bereitstellung abgeschlossen " die Option "Zur Ressource wechseln " aus, um zur Seite " Logik-App " zu navigieren.
Hinzufügen eines Schritts zum Empfangen von Nachrichten von Service Bus mithilfe des Ereignisrasters
Erweitern Sie Entwicklungstools , und wählen Sie Logik-App-Vorlagen aus.
Wählen Sie "Leerer Workflow" aus. Der Logik-App-Designer wird geöffnet.
Führen Sie im Designer die folgenden Schritte aus:
Wählen Sie "Trigger hinzufügen" aus, und suchen Sie dann nach "Ereignisraster".
Wählen Sie "Wenn ein Ressourcenereignis auftritt" aus.
Screenshot des Logic Apps Designers mit ausgewähltem Event Grid Trigger.
Wählen Sie Anmelden aus.
Wählen Sie auf der Seite "Bei Ihrem Konto anmelden " das Konto aus, mit dem Sie sich bei Azure anmelden möchten.
Führen Sie auf der Seite "Wenn ein Ressourcenereignis auftritt " die folgenden Schritte aus:
Wählen Sie für den Ressourcentyp"Microsoft.ServiceBus.Namespaces" aus.
Wählen Sie Ihr Azure-Abonnement.
Wählen Sie für den Ressourcennamen Ihren ServiceBus-Namespace aus.
Wählen Sie unter "Erweiterte Parameter" den Abwärtspfeil aus.
Wählen Sie "Suffixfilter" aus, und verschieben Sie dann den Fokus außerhalb der Dropdownliste.
Geben Sie für Suffix-Filter den Namen Ihres Service Bus-Themenabonnements ein.
Wählen Sie das + Zeichen aus, und wählen Sie dann "Aktion hinzufügen" aus.
Suchen Sie nach ServiceBus.
Wählen Sie „Mehr anzeigen“ und dann „Nachrichten aus einem Thema-Abonnement abrufen (Vorschausperre)“ aus.
Folgen Sie diesen Schritten:
Geben Sie einen Namen für die Verbindung ein. Beispiel: Abrufen von Nachrichten aus dem Themenabonnement.
Überprüfen Sie, ob der Authentifizierungstyp auf Zugriffsschlüssel festgelegt ist.
Kopieren Sie für Verbindungszeichenfolge die Verbindungszeichenfolge und fügen Sie sie in den zuvor gespeicherten Service Bus-Namespace ein.
Wählen Sie "Neu erstellen" aus.
Wählen Sie Ihr Thema und Ihr Abonnement aus.
Hinzufügen eines Schritts zum Verarbeiten und Abschließen empfangener Nachrichten
In diesem Abschnitt fügen Sie Schritte hinzu, um die empfangene Nachricht in einer E-Mail zu senden und dann die Nachricht abzuschließen. In einem realen Szenario verarbeiten Sie eine Nachricht in der Logik-App, bevor Sie die Nachricht abschließen.
Hinzufügen einer ForEach-Schleife
Wählen Sie das + Zeichen aus, und wählen Sie dann "Aktion hinzufügen" aus.
Suchen und wählen Sie dann Für jede aus.
Wenn Sie eine Ausgabe aus vorherigen Schritten auswählen möchten, wählen Sie den Blitz aus, oder geben / Sie den Befehl ein, und wählen Sie "Dynamischen Inhalt einfügen" aus.
Wählen Sie Text unter Ruft Nachrichten aus einem Themenabonnement ab (Peek-Lock) aus.
Hinzufügen eines Schritts in der Foreach-Schleife zum Senden einer E-Mail mit dem Nachrichtentext
Wählen Sie in der For Each-Schleife+ aus und dann Aktion hinzufügen.
Suchen Sie nach Office 365 und wählen Sie dann Mehr anzeigen aus.
Wählen Sie Office 365 Outlook in den Suchergebnissen aus.
Wählen Sie in der Liste der Aktionen die Option " E-Mail senden" (V2) aus.
Wählen Sie "Anmelden" aus, und führen Sie die Schritte zum Erstellen einer Verbindung mit Office 365 Outlook aus.
Führen Sie im Fenster " E-Mail senden" (V2) die folgenden Schritte aus:
Wählen Sie innerhalb des Textfelds einen Text für Body (Text) aus, und führen Sie die folgenden Schritte aus:
Geben Sie für "An" eine E-Mail-Adresse ein.
Für Subject („Betreff“) geben Sie Vom Service Bus-Themenabonnement empfangene Nachricht ein.
Wählen Sie im Text den Ausdruck aus, oder geben Sie / ein und wählen Sie Ausdruck einfügen.
Geben Sie den folgenden Ausdruck ein:
base64ToString(items('For_each')?['ContentData'])
Wählen Sie Hinzufügen aus.
Hinzufügen einer weiteren Aktion in der Foreach-Schleife zum Abschließen der Nachricht
Wählen Sie in der For Each-Schleife die Option + aus, und wählen Sie dann "Aktion hinzufügen" aus.
Suchen Sie nach ServiceBus.
Wählen Sie aus der Liste der Aktionen "Nachricht in einem Themenabonnement vervollständigen" aus.
Wählen Sie Ihr ServiceBus-Thema aus.
Wählen Sie ein Abonnement für das Thema aus.
Wählen Sie im Sperrtoken der Nachricht den Ausdruck aus oder geben Sie / ein und wählen Sie Ausdruck einfügen aus.
Wählen Sie Dynamische Inhalte und das Sperr-Token aus. Wählen Sie Hinzufügen aus.
Wählen Sie auf der Symbolleiste im Logik-Apps-Designer " Speichern " aus, um die Logik-App zu speichern.
Testen der App
Wenn Sie noch keine Testnachrichten an das Thema gesendet haben, folgen Sie den Anweisungen im Abschnitt " Nachrichten senden an den ServiceBus ", um Nachrichten an das Thema zu senden.
Navigieren Sie zur Seite "Übersicht" Ihrer Logik-App. Wählen Sie dann im unteren Bereich die Registerkarte " Verlauf ausführen " aus. Sie sehen die an das Thema gesendeten Nachrichten zu Logik-App-Ausführungen. Es kann einige Minuten dauern, bis die Ausführungen der Logik-App angezeigt werden. Wählen Sie auf der Symbolleiste " Aktualisieren" aus, um die Seite zu aktualisieren.
Wählen Sie eine Ausführung der Logik-App aus, um die Details dafür anzuzeigen. Beachten Sie, dass in der For-Schleife fünf Nachrichten verarbeitet wurden.
Sie sollten eine E-Mail für jede Nachricht erhalten, die die Logik-App empfängt.
Fehlersuche
Wenn nach dem Warten und Aktualisieren einige Zeit keine Aufrufe angezeigt werden, führen Sie die folgenden Schritte aus:
Vergewissern Sie sich, dass die Nachrichten das Service Bus-Thema erreicht haben. Weitere Informationen finden Sie auf der Seite Service Bus-Thema unter dem Zähler Eingehende Nachrichten. In diesem Fall wird die MessageSender-Anwendung einmal ausgeführt, sodass es fünf Nachrichten gibt.
Vergewissern Sie sich, dass im Service Bus-Abonnement keine aktiven Nachrichten vorhanden sind.
Falls auf dieser Seite keine Ereignisse angezeigt werden, sollten Sie sich vergewissern, dass auf der Seite Service Bus-Abonnement kein Wert für Anzahl aktiver Nachrichten angezeigt wird. Wenn die Anzahl für diesen Zähler größer als 0 ist, werden die Nachrichten des Abonnements aus irgendeinem Grund nicht an die Handlerfunktion (Handler für Ereignisabonnement) weitergeleitet. Vergewissern Sie sich, dass Sie das Ereignisabonnement ordnungsgemäß eingerichtet haben.
Darüber hinaus werden übermittelte Ereignisse auf der Seite Ereignisse des Service Bus-Namespace angezeigt.
Sie können auch auf der Seite Ereignisabonnement verfolgen, dass die Ereignisse übermittelt wurden. Sie können auf diese Seite zugreifen, indem Sie auf der Seite Ereignisse das Ereignisabonnement auswählen.
Verwandte Inhalte
- Informieren Sie sich ausführlicher über Azure Event Grid.
- Erfahren Sie mehr über Azure Functions.
- Erfahren Sie mehr über das Logic Apps-Feature von Azure App Service.
- Weitere Informationen zu Azure Service Bus