Configuração de tabela da Ingestão de dados na nuvem
Use esta página para escolher como a Ingestão de dados na nuvem (CDI) lê seus dados e para configurar uma tabela de origem com uma coluna
PAYLOAD, caso você use esse método.
Escolha uma opção de definição de dados
Ao criar uma sincronização a partir de uma fonte de data warehouse, você escolhe como a Braze lê seus dados na etapa Definição de dados. As opções exibidas dependem do tipo de sincronização.
| Opção | Como funciona | Disponível para |
|---|---|---|
| Visual | Informe uma tabela ou visualização e mapeie as colunas dela para campos da Braze no dashboard, sem escrever SQL. Para mais detalhes, consulte Mapeador visual. | Sincronizações de atributos, eventos personalizados e disparos do Canvas em fontes de data warehouse |
| SQL | Escreva uma consulta na sua fonte. As colunas retornadas pela consulta se tornam campos da Braze. Para mais detalhes, consulte Editor SQL. | Todos os tipos de sincronização em fontes de data warehouse |
Coluna PAYLOAD |
Crie uma tabela ou visualização na sua fonte com um identificador aceito pela Braze e as colunas UPDATED_AT e PAYLOAD. A coluna PAYLOAD contém um objeto JSON no formato de /users/track. Depois, crie uma sincronização de CDI, selecione Tabela ou Visual na etapa Definição de dados e informe o nome da tabela. Para conhecer os requisitos, consulte as seções a seguir. |
Todos os tipos de sincronização em todas as fontes, incluindo armazenamento de arquivos |
Orientação sobre a organização dos dados
Cada sincronização de CDI atualiza um tipo de dado por vez, como atributos de usuário, eventos personalizados, eventos de compra ou itens de catálogo. Ao configurar suas tabelas ou visualizações de origem, organize seus dados de acordo com a forma como você planeja sincronizá-los:
- Uma tabela por tipo de dado: criar tabelas ou visualizações separadas para cada tipo de dado (por exemplo,
user_attributes,custom_events,purchases) oferece uma separação clara. Assim, fica mais fácil gerenciar diferentes cronogramas de sincronização e definições de dados. - Tabela de origem compartilhada: se você usa os modos de mapeamento Visual ou SQL, várias sincronizações podem extrair dados da mesma tabela de origem. Por exemplo, uma sincronização de atributos e uma sincronização de eventos podem consultar a mesma tabela, mas você ainda cria sincronizações separadas no dashboard da Braze: uma para atributos e outra para eventos. Cada sincronização mapeia ou consulta apenas as colunas de que precisa.
Escolha a abordagem que se adapta ao seu pipeline de dados e ao número de casos de uso que você gerencia. Os dois padrões funcionam à medida que seus casos de uso crescem.
Entenda a configuração da tabela em comparação com a formatação da carga útil
Para sincronizações de dados de usuários da CDI que usam uma coluna PAYLOAD, configure os dois itens:
| Camada | O que ela controla |
|---|---|
| Configuração da tabela de origem | Colunas obrigatórias, identificadores de usuário e comportamento de sincronização de UPDATED_AT |
| Formatação da carga útil | Campos JSON em PAYLOAD, incluindo a estrutura de objetos para atributos, eventos e compras |
A Braze primeiro lê as linhas da sua tabela de origem. Depois, valida o campo PAYLOAD com base no tipo de dado selecionado.
Configurar sua tabela de origem
Nas sincronizações de dados de usuários do data warehouse que usam uma coluna PAYLOAD, sua tabela ou visualização de origem deve incluir:
UPDATED_ATPAYLOAD- Uma ou mais colunas de identificador de usuário compatíveis:
EXTERNAL_IDALIAS_NAMEeALIAS_LABELBRAZE_IDEMAILPHONE
Cada linha deve incluir um tipo de identificador por vez, mesmo que sua tabela tenha várias colunas de identificador.
Requisitos de UPDATED_AT
- Armazene os valores de
UPDATED_ATem UTC para evitar problemas com o horário de verão. - A Braze sincroniza as linhas em que
UPDATED_ATé posterior ao último valor sincronizado. - As linhas com o carimbo de data/hora exato do limite podem ser sincronizadas novamente se novas linhas compartilharem esse mesmo carimbo de data/hora.
Para orientações sobre carimbos de data/hora duplicados e atualizações incrementais, consulte as práticas recomendadas da ingestão de dados na nuvem.

As fontes de armazenamento de arquivos têm requisitos de configuração diferentes e não oferecem suporte a UPDATED_AT. Para saber mais, consulte a seção Formatos de arquivo necessários na página da sua fonte: Amazon S3, Google Cloud Storage ou Azure Blob Storage.
Configurar a coluna PAYLOAD
O valor de PAYLOAD usa os mesmos formatos de objeto do endpoint /users/track da Braze para o tipo de dado selecionado.
| Tipo de dado | Referência de formatação |
|---|---|
attributes |
Objeto de atributos do usuário |
events |
Objeto de eventos |
purchases |
Objeto de compras |
Para atributos aninhados, inclua datas usando o formato descrito em Capturar datas como propriedades de objetos.
Exemplos de carga útil
Você pode incluir atributos personalizados aninhados na coluna de carga útil em uma sincronização de atributos personalizados.
{
"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
}
}
}
Para sincronizar eventos, é necessário informar o nome do evento. Formate o campo time como uma string ISO 8601 ou no formato yyyy-MM-dd'T'HH:mm:ss:SSSZ. Se o campo time não estiver presente, a Braze usa o valor da coluna UPDATED_AT como horário do evento. Os demais campos, incluindo app_id e properties, são opcionais.
Você pode sincronizar um evento por linha.
{
"app_id" : "your-app-id",
"name" : "rented_movie",
"time" : "2013-07-16T19:20:45+01:00",
"properties": {
"movie": "The Sad Egg",
"director": "Alex Smith"
}
}
Para sincronizar eventos de compra, é necessário informar product_id, currency e price. Formate o campo opcional time como uma string ISO 8601 ou no formato yyyy-MM-dd'T'HH:mm:ss:SSSZ. Se o campo time não estiver presente, a Braze usa o valor da coluna UPDATED_AT como horário do evento. Os demais campos, incluindo app_id, quantity e properties, são opcionais.
Você pode sincronizar um evento de compra por linha.
{
"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 }
]
}
}
Para sincronizar status de grupos de inscrições, inclua um ou mais pares de subscription_group_id e subscription_state em cada linha.
{
"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"
}
]
}