CDPにおけるバッチ アップロード中のエラーのトラブルシューティング


概要

本記事では、Sitecore CDPにバッチ ファイルをアップロードする際にお客様が遭遇する、様々なエラーや関連する問題のトラブルシューティングのシナリオについて説明します。

リクエストが失効している場合のAccessDeniedエラー

CDPにバッチ ファイルをアップロードすると、以下のエラーにより失敗する場合があります。

FORCED ERROR: <?xml version="1.0" encoding="UTF-8"?>
<Error>
    <Code>AccessDenied</Code>
    <Message>Request has expired</Message>
    <X-Amz-Expires>3600</X-Amz-Expires>
    <Expires>2024-11-21T10:30:14Z</Expires>
    <ServerTime>2024-11-21T11:49:32Z</ServerTime>
    <RequestId>...</RequestId>
    <HostId>...</HostId>
</Error>

このエラーは、バッチが送信されてから一時間の期間内にバッチ ファイルがアップロードされていない場合に発生します。レスポンスには有効期限のタイムスタンプ(Expires)と現在のタイムスタンプ(ServerTime)が含まれることに留意してください。

この問題を解決するには、期限切れのバッチの代わりに新しいバッチを送信します。

「Not enough identifying information」エラー

CDPにバッチ ファイルをアップロードすると、以下のエラーにより失敗する場合があります。

{"ref":"UUID","code":"400","message":"Not enough identifying information"}

このエラーは、バッチ ファイル内のJSONオブジェクトのidentifiers配列のprovider属性の値が、CDP環境のIdentity Ruleの値と一致しない場合に発生します。

この問題を解決するには、以下を実施してください。

  1. CDPのUIで、Identity Ruleの値(identifier.providerの値)を確認します。
  2. バッチ ファイルで、identifiers配列のprovider属性の値を確認します。
  3. それらの値を同じにとなるよう調整してから、バッチ ファイルを再度アップロードします。

「Not enough identifying information」エラーが以下のシナリオの場合に発生する可能性があります。

「Entity: Order, Attribute: price is invalid: must be greater than or equal to 0」エラー

CDPにバッチ ファイルをアップロードする際に、以下のエラーが発生する可能性があります。

{"ref":"UUID","code":"400","message":"Entity: Order, Attribute: price is invalid: must be greater than or equal to 0"}

このエラーは、注文の値段がマイナスの値で、バッチがinsertモードでアップロードされた場合に発生します。

この問題を解決するには、バッチ ファイル内で「"mode":"upsert"」を使用します。

属性のフォーマットにおけるエラー

バッチ ファイルをCDPにアップロードした際に、エンティティ(guestsおよびorders)の属性が誤ったフォーマットになっていることを示すエラーがいくつか表示される可能性があります。

この事象を解決するには、バッチ ファイル内の全てのエンティティ(guestsおよびorders)をチェックし、そのレコードがドキュメントのフォーマットの必須要件に合致していることを確認します。

ゲストまたは注文の重複

CDPで重複したゲストまたは注文が作成された際に問題が起きる場合があります。

註: バッチ ファイルには、同じゲストまたは注文に関連付けられたレコードを2件以上含めることはできません。これにより、重複したデータが追加されないようにすることができます。

この問題を予防するには、以下のドキュメントに記載されている指示に従ってください。
JSONファイル内のJSONレコード