ストリーミング取り込みのトラブルシューティングガイド

このドキュメントでは、Adobe Experience Platform でのストリーミングの取り込みに関するよくある質問に対する回答を示します。すべての Platform API で発生する問題を含め、他の Platform サービスに関する質問とトラブルシューティングについては、Experience Platformのトラブルシューティングガイド を参照してください。

Adobe Experience Platform Data Ingestion は、データを Experience Platform に取り込むために使用できる RESTful API を提供します。 取り込んだデータは、個々の顧客プロファイルをほぼリアルタイムで更新するために使用され、パーソナライズされた関連性の高いエクスペリエンスを複数のチャネルで配信できます。サービスと様々な 取り込み方法の詳細については、データ取り込みの概要を参照してください。ストリーミング取り込み APIの使用方法に関する手順については、ストリーミング取り込みの概要を参照してください。

FAQ

次に、ストリーミング取り込みに関するよくある質問に対する回答の一覧を示します。

送信するペイロードが正しくフォーマットされていることを確認する方法を教えてください。

Data Ingestion は、 ( Experience Data Model XDM) スキーマを活用して、受信データの形式を検証します。事前に定義された XDM データの構造に準拠しないデータを送信すると、スキーマの取り込みに失敗します。XDM と Experience Platform での使用について詳しくは、「XDM システムの概要 」を参照してください。

ストリーミング取り込みでは、同期および非同期の 2 つの検証モードがサポートされます。それぞれの検証方法では、失敗したデータの処理方法が異なります。

開発プロセスでは、同期検証​を使用する必要があります。検証に失敗したレコードは削除され、失敗理由を示すエラーメッセージが返されます(例:"Invalid XDM Message Format")。

実稼動環境では、非同期検証​を使用する必要があります。検証に合格しない形式のデータは、失敗したバッチファイルとして Data Lake に送信され、後で取得して、さらに分析できます。

同期検証と非同期検証について詳しくは、ストリーミング検証の概要を参照してください。検証に失敗したバッチを表示する手順については、失敗したバッチの取得に関するガイドを参照してください。

リクエストペイロードを Platform に送信する前に検証できますか?

リクエストペイロードは、Platform に送信された後にのみ評価できます。 同期検証を実行すると、有効なペイロードは生成された JSON オブジェクト、無効なペイロードはエラーメッセージを返します。非同期検証中に、サービスは不正なデータを検出して Data Lake に送信し、後でそのデータを取得して分析できます。 詳しくは、ストリーミング検証の概要を参照してください。

サポートされていないエッジで同期検証がリクエストされた場合はどうなりますか?

リクエストされた場所で同期検証がサポートされていない場合、501 エラー応答が返されます。同期検証について詳しくは、ストリーミング検証の概要を参照してください。

データが信頼できるソースからのみ収集されるようにする方法

Experience Platform は、保護されたデータ収集をサポートします。認証済みのデータ収集が有効な場合、クライアントは JSON Web トークン(JWT)と IMS 組織 ID をリクエストヘッダーとして送信する必要があります。Platform に認証済みデータを送信する方法の詳細については、 認証済みデータ収集 のガイドを参照してください。

Real-time Customer Profile にデータをストリーミングする際の遅延はどの程度ですか。

通常、ストリーミングイベントは Real-time Customer Profile に 60 秒未満で反映されます。 実際の待機時間は、データ量、メッセージサイズ、帯域幅の制限によって異なる場合があります。

同じ API リクエストに複数のメッセージを含めることはできますか?

複数のメッセージを 1 つのリクエストペイロード内でグループ化し、Platform にストリーミング配信できます。 正しく使用した場合、1 つのリクエスト内で複数のメッセージをグループ化すると、データ操作をうまく最適化できます。詳細については、複数のメッセージを 1 件のリクエストで送信する方法のチュートリアルを参照してください。

自分が送信するデータが受信されたかどうかを確認する方法を教えてください。

Platform に送信されたすべてのデータは、(正常に送信された場合もその他の場合も)バッチファイルとして保存された後で、データセットに保持されます。 バッチの処理ステータスは、送信先のデータセット内に表示されます。

Experience Platform ユーザーインターフェイスでデータセットのアクティビティを確認することで、データが正常に取り込まれたかどうかを確認できます。左側のナビゲーションで「データセット」をクリックし、データセットのリストを表示します。表示されたリストからストリーミング先のアクティビティセットを選択すると、その​データセットアクティビティ​ページを開き、選択した期間に送信されたすべてのバッチが表示されます。Experience Platform を使用したデータストリームの監視について詳しくは、 ストリーミングデータフローの監視 に関するガイドを参照してください。

データの取り込みに失敗し、Platform から復元する場合は、失敗したバッチの ID を Data Access API に送信することで、そのバッチを取得できます。 詳しくは、失敗したバッチの取得に関するガイドを参照してください。

ストリーミングデータがデータレイクで使用できないのはなぜですか。

バッチ取り込みが Data Lake に到達しない理由には、無効な形式、データが見つからない、システムエラーなど、様々な理由があります。 バッチが失敗した理由を判断するには、Data Ingestion Service API を使用してバッチを取得し、その詳細を表示する必要があります。 失敗したバッチを取得する手順について詳しくは、失敗したバッチの取得に関するガイドを参照してください。

API リクエストに対して返された応答を解析する方法を教えてください。

応答を解析するには、最初にサーバー応答コードをチェックし、要求が受け入れられたかどうかを確認します。成功応答が返された場合は、responses 配列オブジェクトを確認して、取り込みタスクのステータスを判断します。

成功した単一のメッセージ API リクエストは、ステータスコード 200 を返します。バッチ処理されたメッセージ API リクエストが成功(または部分的に成功)すると、ステータスコード 207 が返されます。

次の JSON は、2 つのメッセージを含む API リクエストの応答オブジェクトの例です。1 つは成功したもの、1 つは失敗したものです。正常にストリーミングされるメッセージは、xactionId プロパティを返します。ストリーミングに失敗したメッセージは、statusCode プロパティと応答 message、および詳細情報が返されます。

{
    "inletId": "9b0cb233972f3b0092992284c7353f5eead496218e8441a79b25e9421ea127f5",
    "batchId": "1565638336649:1750:244",
    "receivedTimeMs": 1565638336705,
    "responses": [
        {
            "xactionId": "1565650704337:2124:92:3"
        },
        {
            "statusCode": 400,
            "message": "inletId: [9b0cb233972f3b0092992284c7353f5eead496218e8441a
                79b25e9421ea127f5] 
                imsOrgId: [{IMS_ORG}] 
                Message has unknown xdm format"
        }
    ]
}

送信したメッセージが Real-time Customer Profile に受信されないのはなぜですか?

Real-time Customer Profile がメッセージを拒否した場合は、ID 情報が正しくないことが原因である可能性が高くなります。 これは、ID に無効な値または名前空間を指定した結果です。

ID 名前空間には、デフォルトとカスタムの 2 タイプがあります。カスタム名前空間を使用する場合は、名前空間が Identity Service 内に登録されていることを確認します。 デフォルトおよびカスタム名前空間の使用について詳しくは、ID 名前空間の概要を参照してください。

Experience Platform UI を使用して、メッセージの取り込みに失敗した理由の詳細を確認できます。左側のナビゲーションで「監視」をクリックし、「エンドツーエンドのストリーミング」タブを表示して、選択した期間にストリーミングされたメッセージバッチを表示します。

このページ