フローデザイナー の Kafka メッセージトリガーとスクリプトコンシューマーを使用して、Hermes からメッセージを取得します。
手順
-
メッセージを消費するトピックを作成します。
-
次のコマンドを使用して、Hermes にトピックを作成します。
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
必ず
<instance name> をインスタンス名で置き換えてください。
-
トピックを表示するには、インスタンスにログインし、次の場所に移動します。 .
-
トピックからメッセージを消費するフロートリガーを作成します。
-
移動先 .
-
選択 .
-
[フロープロパティ] フォームで、フローの名前を入力し、[送信] を入力します。
この例では、Topic1 Consumer という名前を使用しています。
-
トリガーセクションで [トリガーを追加] を選択し、トリガータイプとして [Kafka メッセージ] を選択します。
-
Topic1 トピックを選択します。
虫眼鏡アイコンを使用すると、利用可能なトピックのリストを表示できます。
-
フローの [アクション] セクションで、次の場所に移動します。 .
-
[メッセージ] データピルを [アイテム] フィールドにドラッグし、[完了]を選択します。
-
フローの [アクション] セクションで、次の場所に移動します。 .
-
[ペイロード] データピルを [メッセージ] フィールドにドラッグし、[完了]を選択します。
-
フロートリガーを [保存] します。
-
設定 [sys_flow_execution_setting] テーブルに移動して、このフローのレポートを有効にします。
-
新しいエントリを作成し、上記で作成したフローへのレポートを有効にします。
-
フローに戻り、[アクティブ化 (Activate)] を選択します。
-
トピックのサブスクリプションを表示するには、次に移動します .
-
Kafka コマンドラインツールを使用して、トピックにメッセージを公開します。
-
次のコマンドを実行して、topic にメッセージを公開します。
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
必ず <instance name> をインスタンス名で置き換えてください。
このコマンドはメッセージの入力を促すものです。サンプルメッセージをいくつか追加します。この例では、次のメッセージを使用します。
- テストメッセージ 1
- テストメッセージ 2
- テストメッセージ 3
1 分ほどでメッセージを受信するはずです。
-
フローに戻り、[実行]を選択します。
-
フロー実行を開きます。
-
このサブスクリプションの統計情報を表示するには、次の場所に移動します。 をクリックし、サブスクリプションを開いて、統計ビューに移動します。
-
トピックからメッセージを消費するフローコンシューマーを作成します。
-
移動先 .
-
[新規] を選択します。
-
[名前] フィールドに、スクリプトコンシューマーの名前を入力します。
この例では、Topic1 Consumer を使用しています。
-
スクリプトボックスに次のロジックを追加して、メッセージをログに記録するスクリプトを設定します。
for (var i = 0; i < messages.length; i++) {
gs.info('Received message ' + JSON.stringify(messages[i].message));
}
-
フォームを保存します。
-
[関連リンク] セクションで、[新規] を選択して、メッセージを消費する Kafka ストリームを追加します。
-
[Kafka ストリーム] フォームで、次のフィールド値を設定します。
- [名前] を「Topic1 Stream」を設定します。
- [トピック] を前に作成したトピック topic1 に設定します。
- [最大同時実行] を「1」に設定します。
- [トピックに保存されているすべてのメッセージ (All the messages stored in the topic)] に[消費を開始 (Start Consuming)] を設定します。このオプションを使用すると、このトピックに既に公開されているメッセージを読むことができます。
- [メッセージ処理 (Message handling)] を [自動的に最適化 (Automatically optimize)] に設定します。
-
[関連リンク] の下で [アクティブ化] リンクを選択します。
アクティブ化されたサブスクリプションを確認できるはずです。
-
メッセージを表示するには、次の場所に移動します。 をクリックし、[受信済みメッセージ] で始まるメッセージをフィルター処理します。
-
1 分後にすべてのメッセージが表示されるはずです。