2.6.4 Kafka Connect とAdobe Experience Platformシンクコネクタのインストールと設定

Adobe Experience Platform シンクコネクタのダウンロード

https://github.com/adobe/experience-platform-streaming-connect/releases にアクセスし、Adobe Experience Platform シンクコネクタの最新の公式リリースをダウンロードします。

カフカ

ファイル streaming-connect-sink-0.0.27-java-11.jar をダウンロードします。

カフカ

ダウンロードファイル streaming-connect-sink-0.0.27-java-11.jar をデスクトップに配置します。

カフカ

Kafka 接続の設定

デスクトップ上の Kafka_AEP という名前のフォルダーに移動して、フォルダー kafka_2.13-3.9.0/config に移動します。
そのフォルダで、任意のテキスト エディタを使用してファイル connect-distributed.properties を開きます。

カフカ

テキストエディターで、34 行目と 35 行目に移動し、フィールド key.converter.schemas.enablevalue.converter.schemas.enable を必ず false に設定します

key.converter.schemas.enable=false
value.converter.schemas.enable=false

変更をこのファイルに保存します。

カフカ

次に、フォルダー kafka_2.13-3.1.0 に戻り、新しいフォルダーを手動で作成し、connectors という名前を付けます。

カフカ

新しいフォルダを右クリックし、[フォルダに新しい端子] をクリックします。

カフカ

その後、これが表示されます。 コマンド pwd を入力して、そのフォルダーのフルパスを取得します。 フルパスを選択し、クリップボードにコピーします。

カフカ

テキスト エディタに戻り、ファイル connect-distributed.properties に移動し、最後の行(スクリーンショットの 89 行目)までスクロール ダウンします。 # plugin.path= で始まる行のコメントを解除(# を削除)して、connectors という名前のフォルダーへの完全なパスを貼り付ける必要があります。 結果は次のようになります。

plugin.path=/Users/woutervangeluwe/Desktop/Kafka_AEP/kafka_2.13-3.9.0/connectors

ファイル connect-distributed.properties への変更を保存し、テキスト エディタを閉じます。

カフカ

次に、ダウンロードしたAdobe Experience Platform シンクコネクタの最新の公式リリースを、connectors という名前のフォルダーにコピーします。 前にダウンロードしたファイルの名前は streaming-connect-sink-0.0.27-java-11.jar で、connectors フォルダーに移動するだけです。

カフカ

次に、kafka_2.13-3.9.0 フォルダーのレベルで新しいターミナルウィンドウを開きます。 そのフォルダを右クリックして、[フォルダに新しい端子] をクリックします。

[ ターミナル ] ウィンドウで、次のコマンドを貼り付けます:bin/connect-distributed.sh config/connect-distributed.properties そして Enter をクリックします。 このコマンドは Kafka Connect を起動し、Adobe Experience Platformシンクコネクタのライブラリをロードします。

カフカ

数秒後、次のようなメッセージが表示されます。

カフカ

Postmanを使用してAdobe Experience Platform シンクコネクタを作成します

Postmanを使用して Kafka Connect とやり取りできるようになりました。 それには、 このPostman Collection をダウンロードし、デスクトップ上のローカルコンピューターに解凍します。 その後、Kafka_AEP.postman_collection.json というファイルが得られます。

カフカ

このファイルをPostmanに読み込む必要があります。 これを行うには、Postmanを開き、「読み込み」をクリックし、ファイル Kafka_AEP.postman_collection.json をポップアップにドラッグ&ドロップして、「読み込み」をクリックします。

カフカ

このコレクションは、Postmanの左側のメニューにあります。 最初のリクエスト、GETで利用可能な Kafka Connect コネクタ をクリックして開きます。

カフカ

その後、これが表示されます。 青い 送信 ボタンをクリックすると、空の応答 [] ーが表示されます。 空の応答は、現在 Kafka Connect コネクタが定義されていないことが原因です。

カフカ

コネクタを作成するには、をクリックして Kafka コレクションの 2 番目のリクエストを開き、POST Create AEP Sink Connector をクリックして 本文 に移動します。 その後、これが表示されます。 11 行目に "aep.endpoint": "" と表示されている場合は、前の演習の最後に受け取った HTTP API ストリーミングエンドポイント URL を貼り付ける必要があります。 HTTP API ストリーミングエンドポイント URL は次のようになります。https://dcs.adobedc.net/collection/63751d0f299eeb7aa48a2f22acb284ed64de575f8640986d8e5a935741be9067

カフカ

貼り付けた後、リクエストの本文は次のようになります。 青い 送信 ボタンをクリックして、コネクタを作成します。 コネクタの作成についてすぐに応答を受け取ります。

カフカ

最初のリクエスト、GETで利用可能な Kafka Connect コネクタ をクリックして再度開き、青い 送信 ボタンをもう一度クリックします。 これで、Kafka Connect コネクタが存在することがわかります。

カフカ

次に、Kafka コレクションの 3 つ目のリクエストを開きます。GET Kafka Connect コネクタのステータスの確認。 青い 送信 ボタンをクリックすると、次のような応答が表示され、コネクタが実行中であることを示します。

カフカ

エクスペリエンスイベントの作成

フォルダ kafka_2.13-3.9.0 を右クリックし、フォルダに新しいターミナル をクリックして、新しい ターミナル ウィンドウを開きます。

カフカ

次のコマンドを入力します。

bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic aep

その後、これが表示されます。 改行してから Enter ボタンを押すと、新しいメッセージがトピック aep に送信されます。

カフカ

メッセージを送信すると、Adobe Experience Platform シンクコネクタによって使用され、リアルタイムでAdobe Experience Platformに取り込まれます。

以下のエクスペリエンスイベントペイロードのサンプルを取得し、テキストエディターにコピーします。

{
  "header": {
    "datasetId": "61fe23fd242870194a6d779c",
    "imsOrgId": "--aepImsOrgID--",
    "source": {
      "name": "Launch"
    },
    "schemaRef": {
      "id": "https://ns.adobe.com/experienceplatform/schemas/b0190276c6e1e1e99cf56c99f4c07a6e517bf02091dcec90",
      "contentType": "application/vnd.adobe.xed-full+json;version=1"
    }
  },
  "body": {
    "xdmMeta": {
      "schemaRef": {
        "id": "https://ns.adobe.com/experienceplatform/schemas/b0190276c6e1e1e99cf56c99f4c07a6e517bf02091dcec90",
        "contentType": "application/vnd.adobe.xed-full+json;version=1"
      }
    },
    "xdmEntity": {
      "eventType": "callCenterInteractionKafka",
      "_id": "",
      "timestamp": "2024-11-25T09:54:12.232Z",
      "_experienceplatform": {
        "identification": {
          "core": {
            "phoneNumber": ""
          }
        },
        "interactionDetails": {
          "core": {
            "callCenterAgent": {
              "callID": "Support Contact - 3767767",
              "callTopic": "contract",
              "callFeeling": "negative"
            }
          }
        }
      }
    }
  }
}

その後、これが表示されます。 2 つのフィールドを手動で更新する必要があります。

  • _id: --aepUserLdap--1234 のように、ランダムな id に設定してください
  • timestamp:タイムスタンプを現在の日時に更新します
  • phoneNumber:デモ web サイトで以前に作成したアカウントの phoneNumber を入力します。 これは、プロファイルビューアパネルの ID の下にあります。

また、次のフィールドを確認して更新する必要もあります。

  • datasetId:データセット Demo System - Call Center 用イベントデータセット(グローバル v1.1)のデータセット ID をコピーする必要があります

カフカ

  • imsOrgID:IMS 組織 ID は --aepImsOrgId-- です
NOTE
フィールド _id は、データ取り込みごとに一意である必要があります。 複数のイベントを生成する場合は、フィールド _id を新しい一意の値に毎回更新するようにしてください。

すると、次のようになります。

カフカ

次に、エクスペリエンスイベント全体をクリップボードにコピーします。 JSON ペイロードの空白を削除する必要があります。それには、オンラインツールを使用します。 http://jsonviewer.stack.hu/ に移動して実行してください。

エクスペリエンスイベントをエディターに貼り付け、「空白を削除」をクリックします。

カフカ

次に、出力テキストをすべて選択し、クリップボードにコピーします。

カフカ

ターミナルウィンドウに戻ります。

カフカ

空白を含まない新しいペイロードをターミナルウィンドウに貼り付け、Enter をクリックします。

カフカ

次に、デモ Web サイトに戻り、ページを更新します。 これで、以下のように、プロファイルの エクスペリエンスイベント の下にエクスペリエンスイベントが表示されます。

カフカ

NOTE
コールセンターインタラクションをプロファイルビューアパネルに表示する場合は、https://dsn.adobe.com で、タブ プロファイルビューア に移動し、イベント の下に次の変数を含む新しい行を追加して、プロジェクトに以下のラベルとフィルターを追加する必要があります。
  • イベントタイプラベル:コールセンターインタラクション
  • イベントタイプフィルター:callCenterInteractionKafka
  • タイトル: --aepTenantId--.interactionDetails.core.callCenterAgent.callID

カフカ

この演習は完了しました。

次の手順

概要とメリットに移動します。

Apache Kafka からAdobe Experience Platformへのデータのストリーミングに戻る

すべてのモジュールに戻る

recommendation-more-help
4bbf020c-24db-4a43-b239-88fab142f02d