クラウドデータ取り込みのテーブルセットアップ
このページでは、クラウドデータ取り込み(CDI)に関連する2つの異なる要件、ソーステーブルのセットアップとペイロードフォーマットについて説明します。
テーブルセットアップとペイロードフォーマットの違いを理解する
CDIユーザーデータ同期では、以下の両方を設定します。
| レイヤー | 制御する内容 |
|---|---|
| ソーステーブルのセットアップ | 必須カラム、ユーザー識別子、UPDATED_ATの同期動作 |
| ペイロードフォーマット | PAYLOAD内のJSONフィールド(属性、イベント、購入のオブジェクト構造を含む) |
Brazeはまずソーステーブルから行を読み取り、次に選択されたデータタイプに基づいてPAYLOADフィールドを検証します。
ソーステーブルをセットアップする
データウェアハウスのユーザーデータ同期では、ソーステーブルまたはビューに以下を含める必要があります。
UPDATED_ATPAYLOAD- 1つ以上のサポートされているユーザー識別子カラム:
EXTERNAL_IDALIAS_NAMEとALIAS_LABELBRAZE_IDEMAILPHONE
テーブルに複数の識別子カラムが含まれている場合でも、各行には一度に1つの識別子タイプのみを含めてください。
UPDATED_ATの要件
- 夏時間の問題を避けるため、
UPDATED_ATの値はUTCで保存してください。 - Brazeは、
UPDATED_ATが最後に同期された値より後の行を同期します。 - 新しい行が同じタイムスタンプを共有している場合、境界タイムスタンプの行が再同期されることがあります。
重複タイムスタンプと増分更新に関するガイダンスについては、クラウドデータ取り込みのベストプラクティスを参照してください。
PAYLOADカラムをセットアップする
PAYLOADの値は、選択されたデータタイプに対してBrazeの/users/trackエンドポイントで使用されるものと同じオブジェクトフォーマットに従います。
| データタイプ | フォーマット参照 |
|---|---|
attributes |
ユーザー属性オブジェクト |
events |
イベントオブジェクト |
purchases |
購入オブジェクト |
階層化属性の場合は、オブジェクトプロパティとしての日付のキャプチャに記載されているフォーマットを使用して日付を含めてください。
ペイロードの例
カスタム属性同期のペイロードカラムに階層化カスタム属性を含めることができます。
1
2
3
4
5
6
7
8
9
10
11
12
{
"most_played_song": {
"song_name": "Solea",
"artist_name": "Miles Davis",
"album_name": "Sketches of Spain",
"genre": "Jazz",
"play_analytics": {
"count": 1000,
"top_10_listeners": true
}
}
}
イベントを同期するには、イベント名が必須です。timeフィールドはISO 8601文字列またはyyyy-MM-dd'T'HH:mm:ss:SSSZフォーマットで指定してください。timeフィールドが存在しない場合、BrazeはUPDATED_ATカラムの値をイベント時刻として使用します。app_idやpropertiesなどのその他のフィールドはオプションです。
1行につき1つのイベントを同期できます。
1
2
3
4
5
6
7
8
9
{
"app_id" : "your-app-id",
"name" : "rented_movie",
"time" : "2013-07-16T19:20:45+01:00",
"properties": {
"movie": "The Sad Egg",
"director": "Dan Alexander"
}
}
購入イベントを同期するには、product_id、currency、priceが必須です。オプションのtimeフィールドはISO 8601文字列またはyyyy-MM-dd'T'HH:mm:ss:SSSZフォーマットで指定してください。timeフィールドが存在しない場合、BrazeはUPDATED_ATカラムの値をイベント時刻として使用します。app_id、quantity、propertiesなどのその他のフィールドはオプションです。
1行につき1つの購入イベントを同期できます。
1
2
3
4
5
6
7
8
9
10
11
12
{
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "Completed Order",
"currency" : "USD",
"price" : 219.98,
"time" : "2013-07-16T19:20:30+01:00",
"properties" : {
"products" : [ { "name": "Monitor", "category": "Gaming", "product_amount": 19.99 },
{ "name": "Gaming Keyboard", "category": "Gaming ", "product_amount": 199.99 }
]
}
}
サブスクリプショングループのステータスを同期するには、各行に1つ以上のsubscription_group_idとsubscription_stateのペアを含めてください。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
"subscription_groups" : [
{
"subscription_group_id": "subscription_group_identifier_1",
"subscription_state": "unsubscribed"
},
{
"subscription_group_id": "subscription_group_identifier_2",
"subscription_state": "subscribed"
},
{
"subscription_group_id": "subscription_group_identifier_3",
"subscription_state": "subscribed"
}
]
}
関連するCDIセットアップドキュメント
- ソース固有のDDL例については、データウェアハウス統合を参照してください。
- ファイルベースのセットアップについては、ファイルストレージ統合を参照してください。
- 同期動作と最適化のガイダンスについては、クラウドデータ取り込みのベストプラクティスを参照してください。