コンテンツにスキップ

Cloud Data Ingestionでデータオブジェクトを同期する

このページでは、Cloud Data Ingestion (CDI) を使用して、ソースからBrazeにデータオブジェクトのレコードとそのリレーションシップを同期する方法を説明します。データオブジェクトを使用すると、アカウントなどのビジネスレコードを保存し、それらをユーザーに関連付けることができます。基盤となるオブジェクトモデルと API エンドポイントについては、データオブジェクトを参照してください。

同期タイプ

データオブジェクトでは、3 つの異なる同期タイプを使用します。それぞれが Braze 内の個別の同期であり、独自のソーステーブルまたはクエリーと、独自のスケジュールを持ちます。

データタイプ 各行が表すもの 必須の識別子
Data Objects 1 つのデータオブジェクトレコード (単一のアカウントなど)。 OBJECT_ID
Data Object User Relationships 1 つのレコードと 1 人のユーザー間のリンク。 OBJECT_ID と少なくとも 1 つのユーザー識別子
Data Object Relationships 同じタイプまたは異なるタイプの 2 つのレコード間のリンク。 OBJECT_ID と RELATED_OBJECT_ID

レコードは、それを参照するリレーションシップよりも先に同期してください。まだ存在しないレコードを参照するリレーションシップ行は、適用されずに保留され、再試行されます。

同期を作成する前に

CDIは同期中にデータオブジェクトのフィールドを作成または変更しないため、事前に設定しておく必要があります。

  1. データ設定 > アカウントで、送信予定の各フィールドとリレーションシップフィールドを追加します。すべての行に値が含まれる場合にのみ、フィールドを必須としてマークしてください。
  2. ソースで、各同期用のテーブルまたはビューを作成するか、CDIから直接記述するクエリーを計画します。

同期を作成する

  1. データ設定 > Cloud Data Ingestion > 同期に移動し、データ同期を作成を選択します。
  2. 名前を入力し、ソースを選択します。
  3. データタイプで、Data Objects、Data Object User Relationships、または Data Object Relationshipsを選択します。
  4. レコード同期の場合はデータオブジェクトタイプを、いずれかのリレーションシップ同期の場合はリレーションシップ名を選択します。リレーションシップ名には、リレーションシップの後に、それが接続する 2 つのタイプが表示されます (例: User (Account-User) や Subaccount (Account-Account))。
  5. データ定義ステップで、同期モードを選択します。データオブジェクトの同期では、データウェアハウスソースで Table と SQLがサポートされています。ビジュアルマッパーはデータオブジェクトの同期では使用できません。
  6. プレビューと検証を選択し、通知とスケジュールの設定に進みます。

ソース列

  • UPDATED_AT - この行がテーブルで更新された時刻、またはテーブルに追加された時刻です。Brazeは、UPDATED_ATが最後に同期された値より後の行を同期します。境界のタイムスタンプとまったく同じ時刻の行は、新しい行が同じタイムスタンプを持つ場合に再同期されることがあります。
  • OBJECT_ID - データオブジェクトレコードの識別子です。この値は、このデータオブジェクトタイプに対してBrazeで使用されているobject_idの値と一致する必要があります。
  • PAYLOAD - 同期するフィールドと値のJSON文字列です。各キーは、Brazeのデータオブジェクトタイプで定義されたフィールドと一致する必要があります。
  • DELETED - trueの場合、Brazeはレコードを更新する代わりに削除します。作成または更新する行では、この値をnullまたはfalseのままにしてください。

PAYLOAD内のフィールド名では大文字と小文字が区別されます。NAMEという名前のキーは、nameという名前のフィールドとは一致しません。大文字と小文字が一致しない場合、検証ではそのキーが未定義のフィールドとしてレポートされ、本来値を入力する予定だったフィールドが欠落しているとレポートされます。キーには、データ設定 > データオブジェクトに表示されるフィールド名とまったく同じ名前を付けてください。

Brazeは同期中にデータオブジェクトタイプを作成または変更しません。同期を作成する前に、Brazeでタイプとそのすべてのフィールドを定義してください。後からフィールドを追加する場合は、まずタイプにフィールドを追加してから、ソーステーブルまたはクエリを更新してください。

ソースの SQL 方言での列定義と DDL の例については、該当するソースページを参照してください。

ユーザーリレーションシップの識別子

ユーザーリレーションシップの行には、OBJECT_ID に加えて、少なくとも 1 つのユーザー識別子 (EXTERNAL_ID、ALIAS_NAME と ALIAS_LABEL の組み合わせ、EMAIL、または PHONE) が必要です。

検証

プレビューと検証を選択すると、Brazeはテーブルまたはクエリが返す列を、データオブジェクトタイプで定義されたフィールドと照合します。検証に合格するまで、データ定義ステップから先に進むことはできません。

エラー 原因 修正方法
Required fields are missing or null in your query タイプで必須とマークされたフィールドに一致する列がないか、プレビューされた行でその列がnullになっています。 必須フィールドごとに列を追加し、すべての行に値があることを確認してください。
The data object type does not have the following fields defined 列がタイプのどのフィールドとも一致しません。フィールドは大文字と小文字が区別されるため、TEAM_ID は team_id と一致しません。 列名をフィールドと完全に一致するように修正するか、列を削除するか、Brazeでタイプにフィールドを追加してください。
Fields expect a different data type than in your query 列のデータ型がフィールドのデータ型と一致しません。たとえば、フィールドが数値を想定しているのに文字列になっている場合などです。 ソーステーブルまたはクエリで、列を想定される型にキャストしてください。

なお、検証でチェックされるのは、ソースが返す最初の10行のみです。同期中に失敗した行は、同期ログに記録されます。

レコードとリレーションシップを削除する

レコードまたはリレーションシップを削除するには、ソースに DELETED 列を含めます。DELETED が true の場合、Brazeはそのレコードまたはリレーションシップを更新せずに削除します。レコードまたはリレーションシップを削除しても、それに関連付けられていたユーザーは削除されません。

New Stuff!