Configuration des tables pour l’ingestion de données cloud
Utilisez cette page pour choisir la façon dont l’ingestion de données cloud (CDI) lit vos données, et pour configurer une table source avec une colonne
payloadsi vous utilisez cette méthode.
Choisir une option de définition des données
Lorsque vous créez une synchronisation à partir d’un entrepôt de données, vous choisissez à l’étape Définition des données la manière dont Braze lit vos données. Les options proposées dépendent du type de synchronisation.
| Option | Fonctionnement | Disponible pour |
|---|---|---|
| Visuel | Saisissez une table ou une vue, puis associez ses colonnes aux champs Braze dans le tableau de bord, sans écrire de SQL. Pour en savoir plus, consultez Mappeur visuel. | Synchronisations d’attributs utilisateur, d’événements personnalisés et de déclencheurs de Canvas sur des sources d’entrepôt de données. |
| SQL | Rédigez une requête sur votre source. Les colonnes renvoyées par votre requête deviennent des champs Braze. Pour en savoir plus, consultez Éditeur SQL. | Tous les types de synchronisation sur des sources d’entrepôt de données. |
Colonne payload |
Créez dans votre source une table ou une vue contenant un ou plusieurs identifiants acceptés par Braze, ainsi que les colonnes UPDATED_AT et payload, où payload contient un objet JSON au format d’une REST API de Braze, par exemple /users/track pour les synchronisations d’attributs utilisateur. Créez ensuite une synchronisation CDI, sélectionnez Table ou Visuel à l’étape Définition des données, puis saisissez le nom de la table. Pour connaître les exigences, consultez les sections suivantes. |
Tous les types de synchronisation sur toutes les sources, y compris le stockage de fichiers. |
Conseils pour organiser vos données
Chaque synchronisation CDI met à jour un seul type de données à la fois, par exemple les attributs utilisateur, les événements personnalisés, les événements d’achat ou les éléments de catalogue. Lorsque vous configurez vos tables ou vues sources, organisez vos données en fonction de la manière dont vous prévoyez de les synchroniser :
- Une table par type de données : créer des tables ou des vues distinctes pour chaque type de données (par exemple,
user_attributes,custom_events,purchases) permet une séparation claire et facilite la gestion des différents calendriers de synchronisation et des définitions de données. - Table source partagée : si vous utilisez les modes de mappage visuel ou SQL, plusieurs synchronisations peuvent extraire des données de la même table source. Par exemple, une synchronisation d’attributs et une synchronisation d’événements peuvent interroger la même table, mais vous devez tout de même créer des synchronisations distinctes dans le tableau de bord de Braze : une pour les attributs et une pour les événements. Chaque synchronisation mappe ou interroge uniquement les colonnes dont elle a besoin.
Choisissez l’approche adaptée à votre pipeline de données et au nombre de cas d’usage que vous gérez. Les deux modèles restent efficaces à mesure que vos cas d’usage se développent.
Comprendre la configuration de la table par rapport au formatage du payload
Pour les synchronisations de données utilisateur CDI qui utilisent une colonne payload, 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 basé sur 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 qui utilisent une colonne payload, votre table source ou votre vue doit inclure :
UPDATED_ATpayload- Une ou plusieurs colonnes d’identifiant utilisateur prises en charge :
EXTERNAL_IDALIAS_NAMEetALIAS_LABELBRAZE_IDEMAILPHONE
Chaque ligne ne doit inclure qu’un seul type d’identifiant à la fois, même si votre table contient plusieurs colonnes d’identifiant.
Exigences relatives à UPDATED_AT
- Stockez les valeurs
UPDATED_ATen UTC pour éviter les problèmes liés à l’heure d’été. - Braze synchronise les lignes dont la valeur
UPDATED_ATest postérieure à la dernière valeur synchronisée. - Les lignes dont l’horodatage correspond exactement à la limite peuvent être resynchronisées si de nouvelles lignes partagent ce même horodatage.
Pour obtenir des conseils sur les horodatages en double et les mises à jour incrémentielles, consultez les bonnes pratiques de l’ingestion de données cloud.

Les sources de stockage de fichiers ont des exigences de configuration différentes et ne prennent pas en charge UPDATED_AT. Pour plus de détails, consultez la section Formats de fichiers requis sur la page de votre source : Amazon S3, Google Cloud Storage ou Azure Blob Storage.
Configurer la colonne payload
La valeur payload reprend les mêmes formats d’objet que l’endpoint /users/track de Braze pour le type de données sélectionné.
| Type de données | Référence de formatage |
|---|---|
attributes |
Objet des attributs utilisateur |
events |
Objet événement |
purchases |
Objet achat |
Pour les attributs imbriqués, indiquez les dates au format décrit dans Capturer des dates en tant que propriétés d’objet.
Exemples de payload
Vous pouvez inclure des attributs personnalisés imbriqués dans la colonne payload lors d’une synchronisation d’attributs personnalisés.
{
"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 obligatoire. Formatez le champ time sous forme de chaîne de caractères ISO 8601 ou au format yyyy-MM-dd'T'HH:mm:ss:SSSZ. Si le champ time est absent, Braze utilise la valeur de la colonne UPDATED_AT comme heure de l’événement. Les autres champs, notamment app_id et properties, sont facultatifs.
Vous pouvez synchroniser un événement par ligne.
{
"app_id" : "your-app-id",
"name" : "rented_movie",
"time" : "2013-07-16T19:20:45+01:00",
"properties": {
"movie": "The Sad Egg",
"director": "Alex Smith"
}
}
Pour synchroniser des événements d’achat, les champs product_id, currency et price sont obligatoires. Formatez le champ facultatif time sous forme de chaîne de caractères ISO 8601 ou au format yyyy-MM-dd'T'HH:mm:ss:SSSZ. Si le champ time est absent, Braze utilise la valeur de la colonne UPDATED_AT comme heure de l’événement. Les autres champs, notamment app_id, quantity et properties, sont facultatifs.
Vous pouvez synchroniser un événement d’achat par ligne.
{
"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.
{
"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"
}
]
}