スクリプトコンシューマーの構成

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:3分
  • スクリプトを使用して、Kafka 環境からデータをインポートして処理します。

    始める前に

    • 必要なロール: integration_hub_admin
    • このコンシューマには ストリームコネクトサブスクリプションが必要です。詳細については、「https://www.servicenow.com/products/automation-engine.html」を参照してください。
    • ServiceNow Stream Connect Installer [com.glide.hub.stream_connect.installer] プラグインが必要です。

    このタスクについて

    コンシューマーを設定するには、2 つのレコードを作成する必要があります。
    1. データのインポート方法と処理方法を指定するコンシューマーレコード。
    2. コンシューマーへのデータストリームを定義する Kafka ストリームのレコード。
    このタスクでは、コンシューマーの作成について説明します。Kafka ストリームの作成方法については、「Kafka ストリームの作成」を参照してください。

    手順

    1. 移動先 すべて > 統合ハブ > コンシューマー > スクリプトコンシューマー.
    2. [新規] を選択します。
    3. フォームのフィールドに入力します。
      表 : 1. Kafka スクリプトコンシューマー
      フィールド 説明
      名前 スクリプトコンシューマーの名前。
      配送保証 ノード障害が発生した場合に、受信メッセージの配信保証を指定するオプション。次のいずれかを選択します。
      • 紛失なし、重複なし:すべてのメッセージが少なくとも 1 回配信されます。一部のメッセージは複数回配信される可能性があります。
      • 一度、またはまったくない:メッセージは複数回配信されません。一部のメッセージがまったく配信されない可能性があります。
      シリアル化形式 メッセージのシリアル化形式。次のいずれかを選択します。
      • プレーンテキスト:プレーンテキストメッセージの場合は、このオプションを選択します。これがデフォルトの形式です。
      • エンコード済みApache Avro 形式のメッセージには、このオプションを選択します。プレーンテキストメッセージを Avro 形式に変換するには、スキーマが必要です。[スキーマレジストリ] フィールドでスキーマレジストリを選択します。スキーマの詳細については、「ストリームコネクトのスキーマ管理」を参照してください。
      イベントコンシューマー Kafka トピックから受信したメッセージを消費するために使用するスクリプト。
      アプリケーション 変換マップコンシューマーのアプリケーションスコープ。
      スキーマレジストリ
      選択したスキーマのレジストリ。次のいずれかを選択します。
      • スタンドアロンのスキーマレジストリ
      • Confluent Schema Registry

      このフィールドは、[シリアル化形式][エンコード済み] に設定されている場合にのみ表示されます。

      Confluent Schema Registry では、受信したメッセージのスキーマ ID がスキーマテーブルにない場合、構成された REST 接続を使用してスキーマが動的にインポートされます。

    4. [Save (保存)] をクリックします。

    この例は、メッセージを処理するためのサンプルスクリプトを示しています。
    (function process(messages) {
     // Add your code here to consume kafka messages 
     // sample message [ { 'key' : 'message_key' , 'message' : 'message' , 'headers' : [ { 'key' : 'header_key' , 'value' : 'header_value' } ] } ] 
    
     for (var i = 0; i < messages.length; i++) {
         var message = JSON.parse(messages[i].message);
         gs.info('Number ' + message.number + ', short description ' + message.short_description +
             ', headers ' + JSON.stringify(messages[i].headers));
     }
    })(messages);

    次のタスク

    このコンシューマーの Kafka ストリームの作成。ストリームがアクティブ化されると、Kafka 環境からのメッセージの受信を開始できます。