Freigeben über


Lernprogramm: Reagieren auf Azure Service Bus-Ereignisse, die mit Azure Event Grid empfangen werden, mithilfe von Azure Logic Apps

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.

  1. Klonen Sie das GitHub-Repository „azure-service-bus repository“, oder laden Sie die ZIP-Datei herunter, und extrahieren Sie Dateien daraus.

  2. Navigieren Sie in Visual Studio zum Ordner \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2, und öffnen Sie die Datei SBEventGridIntegration.sln.

  3. Erweitern Sie im Projektmappen-Explorer-Fenster das MessageSender-Projekt , und wählen Sie Program.cs aus.

  4. 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>";
    
  5. Erstellen und führen Sie das Programm aus, um fünf Testnachrichten (const int numberOfMessages = 5;) an das Service Bus-Thema zu senden.

    Screenshot zeigt die Konsolen-App-Ausgabe, die das Senden von 5 Nachrichten anzeigt.

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.

  1. Wählen Sie +Erstellen Sie eine Ressource, wählen Sie "Integration" und dann "Logik-App" aus.

    Screenshot des Logik-App-Menüs „Ressource erstellen > Integration >“.

  2. Führen Sie auf der Seite "Logik-App erstellen " die folgenden Schritte aus:

    1. Wählen Sie die Option Verbrauch>Multimandant und dann Auswählen.

    2. Wählen Sie Ihr Azure-Abonnement aus.

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

    4. Geben Sie einen Namen für die Logik-App ein.

    5. Wählen Sie die Region für die Logik-App aus.

    6. Wählen Sie Überprüfen + Erstellen aus.

      Screenshot der Seite

    7. Wählen Sie auf der Seite "Überprüfen + Erstellen " die Option "Erstellen " aus, um die Logik-App zu erstellen.

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

  1. Erweitern Sie Entwicklungstools , und wählen Sie Logik-App-Vorlagen aus.

    Screenshot der Seite

  2. Wählen Sie "Leerer Workflow" aus. Der Logik-App-Designer wird geöffnet.

  3. Führen Sie im Designer die folgenden Schritte aus:

    1. Wählen Sie "Trigger hinzufügen" aus, und suchen Sie dann nach "Ereignisraster".

    2. Wählen Sie "Wenn ein Ressourcenereignis auftritt" aus.

      Screenshot des Logic Apps Designers mit ausgewähltem Event Grid Trigger.

  4. Wählen Sie Anmelden aus.

    Screenshot des Logik-Apps-Designers mit ausgewählter Schaltfläche

  5. Wählen Sie auf der Seite "Bei Ihrem Konto anmelden " das Konto aus, mit dem Sie sich bei Azure anmelden möchten.

  6. Führen Sie auf der Seite "Wenn ein Ressourcenereignis auftritt " die folgenden Schritte aus:

    1. Wählen Sie für den Ressourcentyp"Microsoft.ServiceBus.Namespaces" aus.

    2. Wählen Sie Ihr Azure-Abonnement.

    3. Wählen Sie für den Ressourcennamen Ihren ServiceBus-Namespace aus.

    4. Wählen Sie unter "Erweiterte Parameter" den Abwärtspfeil aus.

    5. Wählen Sie "Suffixfilter" aus, und verschieben Sie dann den Fokus außerhalb der Dropdownliste.

      Screenshot, der das Hinzufügen eines neuen Parameters vom Typ Suffix-Filter zeigt.

    6. Geben Sie für Suffix-Filter den Namen Ihres Service Bus-Themenabonnements ein.

      Screenshot des Logic Apps-Designers mit Verbindungskonfiguration für den Service Bus-Namespace.

  7. Wählen Sie das + Zeichen aus, und wählen Sie dann "Aktion hinzufügen" aus.

    1. Suchen Sie nach ServiceBus.

      Screenshot, der die Auswahl des Service Bus zeigt.

    2. Wählen Sie „Mehr anzeigen“ und dann „Nachrichten aus einem Thema-Abonnement abrufen (Vorschausperre)“ aus.

      Screenshot des Logic Apps-Designers, in dem die Option

    3. Folgen Sie diesen Schritten:

      1. Geben Sie einen Namen für die Verbindung ein. Beispiel: Abrufen von Nachrichten aus dem Themenabonnement.

      2. Überprüfen Sie, ob der Authentifizierungstyp auf Zugriffsschlüssel festgelegt ist.

      3. Kopieren Sie für Verbindungszeichenfolge die Verbindungszeichenfolge und fügen Sie sie in den zuvor gespeicherten Service Bus-Namespace ein.

      4. Wählen Sie "Neu erstellen" aus.

        Screenshot: Logic Apps-Designer mit angegebener Service Bus-Verbindungszeichenfolge.

    4. Wählen Sie Ihr Thema und Ihr Abonnement aus.

      Screenshot des Logic Apps-Designers mit dem angegebenen ServiceBus-Thema und -Abonnement.

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

  1. Wählen Sie das + Zeichen aus, und wählen Sie dann "Aktion hinzufügen" aus.

  2. Suchen und wählen Sie dann Für jede aus.

    Screenshot der ausgewählten For-each-Operation.

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

  4. Wählen Sie Text unter Ruft Nachrichten aus einem Themenabonnement ab (Peek-Lock) aus.

    Screenshot der Auswahl von „Für jede Eingabe“.

Hinzufügen eines Schritts in der Foreach-Schleife zum Senden einer E-Mail mit dem Nachrichtentext

  1. Wählen Sie in der For Each-Schleife+ aus und dann Aktion hinzufügen.

    Screenshot der Auswahl der Schaltfläche „+“ in „Für jede Schleife“.

  2. Suchen Sie nach Office 365 und wählen Sie dann Mehr anzeigen aus.

  3. Wählen Sie Office 365 Outlook in den Suchergebnissen aus.

    Screenshot, der die Auswahl von Office 365 zeigt.

  4. Wählen Sie in der Liste der Aktionen die Option " E-Mail senden" (V2) aus.

    Screenshot der Auswahl des Vorgangs

  5. Wählen Sie "Anmelden" aus, und führen Sie die Schritte zum Erstellen einer Verbindung mit Office 365 Outlook aus.

  6. Führen Sie im Fenster " E-Mail senden" (V2) die folgenden Schritte aus:

  7. Wählen Sie innerhalb des Textfelds einen Text für Body (Text) aus, und führen Sie die folgenden Schritte aus:

    1. Geben Sie für "An" eine E-Mail-Adresse ein.

    2. Für Subject („Betreff“) geben Sie Vom Service Bus-Themenabonnement empfangene Nachricht ein.

    3. Wählen Sie im Text den Ausdruck aus, oder geben Sie / ein und wählen Sie Ausdruck einfügen.

    4. Geben Sie den folgenden Ausdruck ein:

      base64ToString(items('For_each')?['ContentData'])
      
    5. Wählen Sie Hinzufügen aus.

      Screenshot des Ausdrucks für „Textkörper“ der Aktivität „E-Mail senden“.

Hinzufügen einer weiteren Aktion in der Foreach-Schleife zum Abschließen der Nachricht

  1. Wählen Sie in der For Each-Schleife die Option + aus, und wählen Sie dann "Aktion hinzufügen" aus.

    1. Suchen Sie nach ServiceBus.

    2. Wählen Sie aus der Liste der Aktionen "Nachricht in einem Themenabonnement vervollständigen" aus.

      Screenshot der Auswahl von „Nachricht abschließen“ in einem Themenabonnement.

    3. Wählen Sie Ihr ServiceBus-Thema aus.

    4. Wählen Sie ein Abonnement für das Thema aus.

    5. Wählen Sie im Sperrtoken der Nachricht den Ausdruck aus oder geben Sie / ein und wählen Sie Ausdruck einfügen aus.

    6. Wählen Sie Dynamische Inhalte und das Sperr-Token aus. Wählen Sie Hinzufügen aus.

      Screenshot, der das Feld für Sperrtoken zeigt.

  2. Wählen Sie auf der Symbolleiste im Logik-Apps-Designer " Speichern " aus, um die Logik-App zu speichern.

    Screenshot der Schaltfläche „Speichern“ in der erstellten Logikapp.

Testen der App

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

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

    Screenshot des Ausführungsverlaufs der Logik-App.

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

    Screenshot, der die Details für die ausgewählte Logik-App-Ausführung zeigt.

  4. Sie sollten eine E-Mail für jede Nachricht erhalten, die die Logik-App empfängt.

    Screenshot von Outlook mit den Nachrichten, die aus dem Themenabonnement empfangen wurden.

Fehlersuche

Wenn nach dem Warten und Aktualisieren einige Zeit keine Aufrufe angezeigt werden, führen Sie die folgenden Schritte aus:

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

    Screenshot der Seite

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

    Screenshot der Seite

  3. Darüber hinaus werden übermittelte Ereignisse auf der Seite Ereignisse des Service Bus-Namespace angezeigt.

    Screenshot der Seite „Ereignisse“ der Seite „Service Bus-Namespace“.

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

    Screenshot der Seite