---
sourceDocument: Yokohama データと自動化
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/yokohama/integrate-applications

 Release :

    - yokohama

ft:locale :

    - ja-JP

ft:publication_title :

    - Yokohama データと自動化

ft:clusterId :

    - crint

bundleId :

    - crint

workflow :

    - Creator


---

# Kafka メッセージトリガーとスクリプトコンシューマーを使用してメッセージを消費する

# Kafka メッセージトリガーとスクリプトコンシューマーを使用してメッセージを消費する {#ariaid-title1}

* リリースバージョン: Yokohama
* 
* 更新日 2025年01月30日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：6分

ワークフロースタジオ の Kafka メッセージトリガーとスクリプトコンシューマーを使用して、Hermes からメッセージを取得します。

## 始める前に

* 必要なロール： integration_hub_admin
* このページは [ストリームコネクト クイックスタートガイド](https://servicenow-prod.fluidtopics.net/zZ~~4QfzQrdZE1mHsEGHQA "このクイックスタートガイドでは、ServiceNow インスタンスと Kafka 環境の間でデータを交換するために、6 つのストリームコネクトプロデューサーとコンシューマをそれぞれ設定して使用する方法の概要について説明します。")の一部です。
* このドキュメントでは、Hermes への接続を介してメッセージを消費する方法について説明します。接続の設定とテストについては、「[Hermes メッセージングサービス への安全な接続の設定](https://servicenow-prod.fluidtopics.net/Wtz6jsvqc~7S8pILnM8hPA "ServiceNow インスタンス署名証明書を生成して Kafka トピックを保護します。")」および「[ADCv2 ゲートウェイを介した Hermes への接続のテスト](https://servicenow-prod.fluidtopics.net/XLA5cKYynip6vJjNsbuQKQ "ADCv2 ゲートウェイを介して Hermes への接続をテストすることで、キーストアとトラストストアが正しく生成されていることを確認します。")」を参照してください。
* このページの前半では、ワークフロースタジオ で Kafka メッセージトリガーを使用してメッセージを消費する方法を説明します。トリガーの詳細については、「」を参照してください。ワークフロースタジオ およびフローの構成の詳細については、「」を参照してください。
* このページの後半では、スクリプトコンシューマーを使用してメッセージを消費する方法を説明します。詳細については、「[スクリプトコンシューマーの構成](https://servicenow-prod.fluidtopics.net/VPJ2dGbA2xt~6YeEFMXHxA "スクリプトを使用して、Kafka 環境からデータをインポートして処理します。")」を参照してください。
{#use-kafka-trigger-script-consumer__ul_gbw_h5n_cyb}

## 手順

1. メッセージを消費するトピックを作成します。
   1. 次のコマンドを使用して、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>` をインスタンス名で置き換えてください。
   2. トピックを表示するには、インスタンスにログインし、 すべて統合ハブストリームコネクトトピック.  
      注:  
      トピックの作成には約 10 分かかります。
   {#use-kafka-trigger-script-consumer__substeps_ir5_fzd_yxb}
2. トピックからメッセージを消費するフロートリガーを作成します。
   1. 移動先 すべてプロセスの自動化フローデザイナー.
   2. 選択 新規作成フロー.
   3. \[フロープロパティ\] フォームで、フローの名前を入力し、\[送信\] を入力します。  
      この例では、<kbd class="ph userinput">Topic1 Consumer</kbd> という名前を使用しています。
   4. トリガーセクションで \[トリガーを追加\] を選択し、トリガータイプとして \[Kafka メッセージ\] を選択します。  
   5. Topic1 トピックを選択します。  

      虫眼鏡アイコンを使用すると、利用可能なトピックのリストを表示できます。
   6. フローの \[アクション\] セクションで、次に移動します アクション、フロー ロジック、またはサブフローを追加フローロジックFor Each.
   7. \[メッセージ\] データピルを \[アイテム\] フィールドにドラッグし、\[完了\]を選択します。
   8. フローの \[アクション\] セクションで、次に移動します アクション、フロー ロジック、またはサブフローを追加アクションServiceNow コアログ.
   9. \[ペイロード\] データピルを \[メッセージ\] フィールドにドラッグし、\[完了\]を選択します。  
   10. フロートリガーを \[保存\] します。
   11. 設定 \[sys_flow_execution_setting\] テーブルに移動して、このフローのレポートを有効にします。
   12. 新しいエントリを作成し、上記で作成したフローへのレポートを有効にします。  
   13. フローに戻り、\[アクティブ化 (Activate)\] を選択します。
   14. トピックのサブスクリプションを表示するには、次に移動します すべて統合ハブストリームコネクトサブスクリプション.  
   {#use-kafka-trigger-script-consumer__substeps_vrn_szd_yxb}
3. Kafka コマンドラインツールを使用して、トピックにメッセージを公開します。
   1. 次のコマンドを実行して、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
      {#use-kafka-trigger-script-consumer__ul_arc_54m_2yb}1 分ほどでメッセージを受信するはずです。
   2. フローに戻り、\[実行\]を選択します。  
   3. フロー実行を開きます。  
   4. このサブスクリプションの統計情報を表示するには、次に移動します すべて統合ハブストリームコネクトサブスクリプション、サブスクリプションを開き、統計ビューに移動します。  
   {#use-kafka-trigger-script-consumer__substeps_nrq_gkq_yxb}
4. トピックからメッセージを消費するフローコンシューマーを作成します。
   1. 移動先 統合ハブコンシューマースクリプトコンシューマー.
   2. \[新規\] を選択します。
   3. \[名前\] フィールドに、スクリプトコンシューマーの名前を入力します。  
      この例では、<kbd class="ph userinput">Topic1 Consumer</kbd> を使用しています。
   4. スクリプトボックスに次のロジックを追加して、メッセージをログに記録するスクリプトを設定します。  

          for (var i = 0; i < messages.length; i++) {
                gs.info('Received message ' + JSON.stringify(messages[i].message));
           }

   5. フォームを保存します。
   6. \[関連リンク\] セクションで、\[新規\] を選択して、メッセージを消費する Kafka ストリームを追加します。
   7. \[Kafka ストリーム\] フォームで、次のフィールド値を設定します。  
      * \[名前\] を「<kbd class="ph userinput">Topic1 Stream</kbd>」を設定します。
      * \[トピック\] を前に作成したトピック topic1 に設定します。
      * \[最大同時実行\] を「<kbd class="ph userinput">1</kbd>」に設定します。
      * \[トピックに保存されているすべてのメッセージ (All the messages stored in the topic)\] に\[消費を開始 (Start Consuming)\] を設定します。このオプションを使用すると、このトピックに既に公開されているメッセージを読むことができます。
      * \[メッセージ処理 (Message handling)\] を \[自動的に最適化 (Automatically optimize)\] に設定します。
      {#use-kafka-trigger-script-consumer__ul_pbp_rqm_2yb}  
   8. \[関連リンク\] の下で \[アクティブ化\] リンクを選択します。  
      アクティブ化されたサブスクリプションを確認できるはずです。
   9. メッセージを表示するには、 すべてシステムログシステムログ 「受信済みメッセージ」で始まるメッセージをフィルタリングします。  
   10. 1 分後にすべてのメッセージが表示されるはずです。
   {#use-kafka-trigger-script-consumer__substeps_mm5_rkq_yxb}

## 次のタスク

[ETL および変換マップコンシューマーを使用したデータのインポート](https://servicenow-prod.fluidtopics.net/vB0GRCOmj~TeVK3nZSG61A "ETL 定義と変換マップを使用して、Kafka イベントを処理します。ETL 定義と変換マップは、スケジュール済みインポートを通じてデータを取得するときに使用する変換ロジックを指定します。同じ ETL 定義と変換マップを使用して、Kafka を介して受信したイベントを変換できます。")に展開したカスタムモバイルアプリケーションを使用して管理しました。

