Verwenden Sie den Kafka-Nachrichtenauslöser und den Skriptverbraucher, um Nachrichten zu verarbeiten

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Rufen Sie Nachrichten aus Hermes mit dem Kafka-Nachrichtenauslöser in Flow Designer und dem Skriptverbraucher ab.

    Vorbereitungen

    Prozedur

    1. Erstellen Sie ein Thema, um Nachrichten zu verarbeiten.
      1. Verwenden Sie den folgenden Befehl, um ein Thema in Hermes zu erstellen.
        bin/kafka-topics.sh --create --command-config config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002, <instance name>.service-now.com:4003 --topic snc.<instance name>.topic1
        Ersetzen Sie<instance name> mit dem Namen Ihrer Instanz.
      2. Um das Thema anzuzeigen, melden Sie sich bei der Instanz an, und navigieren Sie zu Alle > IntegrationHub > Stream Connect > Themen.
        Hinweis:
        Das Erstellen eines Themas dauert ungefähr 10 Minuten.
    2. Erstellen Sie einen Flow-Auslöser, um Nachrichten aus dem Thema zu verarbeiten.
      1. Navigieren zu Alle > Prozessautomatisierung > Flow Designer.
      2. Auswahlvorgang Neu erstellen > Flow.
      3. Geben Sie im Formular „Flow-Eigenschaften“ einen Namen für Ihren Flow ein, und geben Sie dann Absendenein.
        In diesem Beispiel wird der Name Topic1 Consumerverwendet.
      4. Wählen Sie im Abschnitt „Auslöser“ die Option Auslöser hinzufügenund dann Kafka-Nachricht als Auslösertyp aus.
        Kafka-Nachricht ist der Auslösertyp für den Flow.
      5. Wählen Sie das Thema Topic1 aus.
        Wählen Sie topic1 für das Feld Thema aus.

        Sie können das Lupensymbol verwenden, um die Liste der verfügbaren Themen anzuzeigen.

      6. Navigieren Sie im Abschnitt „Aktionen“ des Flow zu Aktion, Flow-Logik oder Subflow hinzufügen > Flow-Logik > For Each.
      7. Ziehen Sie die Datenpille Nachrichten in das Feld Elemente, und wählen Sie dann Fertigaus.
      8. Navigieren Sie im Abschnitt „Aktionen“ des Flow zu Aktion, Flow-Logik oder Subflow hinzufügen > Aktion > ServiceNow Core > Protokoll.
      9. Ziehen Sie die Datenpille Nutzlast in das Feld Nachricht, und wählen Sie dann Fertigaus.
      10. Speichern Sie den Flow-Auslöser.
      11. Wechseln Sie zur Tabelle „Einstellungen“ [sys_flow_execution_setting], um die Berichterstellung für diesen Flow zu aktivieren.
      12. Erstellen Sie einen neuen Eintrag, und aktivieren Sie die Berichterstellung für den oben erstellten Flow.
        Erstellen eines neuen Einstellungsdatensatzes, um die Berichterstellung für den Flow zu aktivieren.
      13. Navigieren Sie zurück zu Ihrem Flow, und wählen Sie Aktivierenaus.
      14. Um Ihr Themenabonnement anzuzeigen, navigieren Sie zu Alle > Integrations-Hub > Stream Connect > Abonnements.
        Das Abonnement für das Thema topic1.
    3. Veröffentlichen Sie Nachrichten im Thema mit dem Kafka-Befehlszeilentool.
      1. Führen Sie den folgenden Befehl aus, um Nachrichten im Thema zu veröffentlichen.
        bin/kafka-console-producer.sh --topic snc.<instance name>.topic1  --producer.config  config/bootcamp.properties  --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002,<instance name>.service-now.com:4003

        Ersetzen Sie<instance name> mit dem Namen Ihrer Instanz.

        Dieser Befehl fordert Sie zur Eingabe von Nachrichten auf. Fügen Sie einige Beispielnachrichten hinzu. In diesem Beispiel werden die folgenden Nachrichten verwendet.
        • Test message1
        • Test message2
        • Test message3
        Sie sollten die Nachrichten in ungefähr einer Minute erhalten.
      2. Navigieren Sie zurück zum Flow, und wählen Sie Ausführungenaus.
        Wählen Sie Ausführungen aus, um zur Flow-Ausführungsansicht zu navigieren.
      3. Öffnen Sie die Flow-Ausführung.
        Ausführungsdetails für den Flow.
      4. Um die Statistiken für dieses Abonnement anzuzeigen, navigieren Sie zu Alle > Integrations-Hub > Stream Connect > Abonnements, öffnen Sie das Abonnement, und wechseln Sie zur Statistikansicht.
        Die Kafka-Statistiken für das Abonnement.
    4. Erstellen Sie einen Skriptverbraucher, um Nachrichten aus dem Thema zu verarbeiten.
      1. Navigieren zu IntegrationHub > Verbraucher > Skriptverbraucher.
      2. Wählen Sie Neu.
      3. Geben Sie im Feld Name einen Namen für Ihren Skriptverbraucher ein.
        In diesem Beispiel wird Topic1 Consumerverwendet.
      4. Legen Sie das Skript so fest, dass die Nachricht protokolliert wird, indem Sie im Skriptfeld die folgende Logik hinzufügen.
        for (var i = 0; i < messages.length; i++) {
              gs.info('Received message ' + JSON.stringify(messages[i].message));
         }
        
        Kafka-Skriptverbraucher, der das Skript im Feld Event-Verbraucher anzeigt.
      5. Speichern Sie das Formular.
      6. Wählen Sie im Abschnitt Zugehörige Links die Option Neu aus, um einen Kafka-Stream hinzuzufügen, um die Nachrichten zu verarbeiten.
      7. Legen Sie im Formular „Kafka-Stream“ die folgenden Feldwerte fest.
        • Name zu Stream „Thema1“.
        • Thema zu dem zuvor erstellten Thema topic1.
        • Max. Gleichzeitigkeit bis 1.
        • Beginnen Sie mit der Verarbeitungaller im Thema gespeicherten Nachrichten. Mit dieser Option können Sie die in diesem Thema bereits veröffentlichten Nachrichten lesen.
        • Nachrichtenverarbeitung zur automatischen Optimierung.
        Der Datensatz des Kafka-Streams.
      8. Klicken Sie unter Zugehörige Links auf den Link Aktivieren.
        Sie sollten das aktivierte Abonnement sehen können.
      9. Um die Nachrichten anzuzeigen, navigieren Sie zu Alle > Systemprotokolle > Systemprotokoll und filtern Nachrichten, die mit Empfangene Nachricht beginnen.
        Liste der empfangenen Nachrichten.
      10. Sie sollten alle Nachrichten nach 1 Minute sehen.

    Nächste Maßnahme

    Verwenden Sie ETL- und Transformationszuordnungs-Verbraucher, um Daten zu importieren.