Configuration des tables pour l’Ingestion de données cloud
Utilisez cette page pour distinguer deux exigences liées mais distinctes de l’Ingestion de données cloud (CDI) : la configuration de la table source et le formatage du payload.
Comprendre la configuration des tables par rapport au formatage du payload
Pour les synchronisations de données utilisateur CDI, configurez les deux éléments suivants :
| Couche | Ce qu’elle contrôle |
|---|---|
| Configuration de la table source | Colonnes requises, identifiants utilisateur et comportement de synchronisation UPDATED_AT |
| Formatage du payload | Champs JSON dans payload, y compris la structure des objets pour les attributs, les événements et les achats |
Braze lit d’abord les lignes de votre table source, puis valide le champ payload en fonction du type de données sélectionné.
Configurer votre table source
Pour les synchronisations de données utilisateur depuis un entrepôt de données, votre table ou vue source doit inclure :
UPDATED_ATpayload- Une ou plusieurs colonnes d’identifiants utilisateur prises en charge :
EXTERNAL_IDALIAS_NAMEetALIAS_LABELBRAZE_IDEMAILPHONE
Chaque ligne doit inclure un seul type d’identifiant à la fois, même si votre table contient plusieurs colonnes d’identifiants.
Exigences pour UPDATED_AT
- Stockez les valeurs
UPDATED_ATen UTC pour éviter les problèmes liés aux changements d’heure. - Braze synchronise les lignes dont la valeur
UPDATED_ATest postérieure à la dernière valeur synchronisée. - Les lignes situées exactement à l’horodatage limite peuvent être resynchronisées si de nouvelles lignes partagent cet horodatage.
Pour des conseils sur les horodatages en double et les mises à jour incrémentales, consultez les bonnes pratiques de l’Ingestion de données cloud.
Les sources de stockage de fichiers utilisent des exigences de configuration différentes et ne prennent pas en charge UPDATED_AT. Pour plus de détails, consultez Intégrations de stockage de fichiers.
Configurer la colonne payload
La valeur payload suit les mêmes formats d’objets utilisés par l’endpoint Braze /users/track pour le type de données sélectionné.
| Type de données | Référence de formatage |
|---|---|
attributes |
Objet d’attributs utilisateur |
events |
Objet d’événements |
purchases |
Objet d’achats |
Pour les attributs imbriqués, incluez les dates en utilisant le format décrit dans Capturer des dates en tant que propriétés d’objet.
Exemples de payloads
Vous pouvez inclure des attributs personnalisés imbriqués dans la colonne payload pour une synchronisation d’attributs personnalisés.
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
}
}
}
Pour synchroniser des événements, un nom d’événement est requis. Formatez le champ time en tant que chaîne ISO 8601 ou au format yyyy-MM-dd'T'HH:mm:ss:SSSZ. Si le champ time n’est pas présent, Braze utilise la valeur de la colonne UPDATED_AT comme heure de l’événement. Les autres champs, y compris app_id et properties, sont facultatifs.
Vous pouvez synchroniser un événement par ligne.
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"
}
}
Pour synchroniser des événements d’achat, product_id, currency et price sont requis. Formatez le champ facultatif time en tant que chaîne ISO 8601 ou au format yyyy-MM-dd'T'HH:mm:ss:SSSZ. Si le champ time n’est pas présent, Braze utilise la valeur de la colonne UPDATED_AT comme heure de l’événement. Les autres champs, y compris app_id, quantity et properties, sont facultatifs.
Vous pouvez synchroniser un événement d’achat par ligne.
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 }
]
}
}
Pour synchroniser les statuts des groupes d’abonnement, incluez une ou plusieurs paires subscription_group_id et subscription_state dans chaque ligne.
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"
}
]
}
Documentation connexe sur la configuration CDI
- Pour des exemples DDL spécifiques aux sources, consultez Intégrations d’entrepôts de données.
- Pour la configuration basée sur les fichiers, consultez Intégrations de stockage de fichiers.
- Pour des conseils sur le comportement de synchronisation et l’optimisation, consultez les bonnes pratiques de l’Ingestion de données cloud.