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 saber mais, consulte Mapeador visual. | Sincronizações de atributos de usuário, eventos personalizados e disparo de Canvas em fontes de data warehouse. |
| SQL | Escreva uma consulta na sua fonte. As colunas retornadas pela consulta se tornam campos da Braze. Para saber mais, consulte Editor de SQL. | Todos os tipos de sincronização em fontes de data warehouse. |
Coluna PAYLOAD |
Crie uma tabela ou visualização na sua fonte com os identificadores aceitos pela Braze e as colunas UPDATED_AT e PAYLOAD. A coluna PAYLOAD contém um objeto JSON em um formato da REST API da Braze, como /users/track para sincronizações de atributos de usuário. Em seguida, crie uma sincronização de CDI, selecione Tabela ou Visual na etapa Definição de dados e informe o nome da tabela. Para ver os requisitos, consulte as seções a seguir. |
Todos os tipos de sincronização em todas as fontes, incluindo armazenamento de arquivos. |
Orientação para organização de 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 os dados com base em 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. Isso também facilita o gerenciamento de 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 encaixa no seu pipeline de dados e no 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 do 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 lê primeiro as linhas da sua tabela de origem. Em seguida, valida o campo PAYLOAD com base no tipo de dado selecionado.
Configure sua tabela de origem
Para 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 apenas 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. - 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 melhores práticas da ingestão de dados na nuvem.

As fontes de armazenamento de arquivos têm requisitos de configuração diferentes e não suportam UPDATED_AT. Para mais detalhes, 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 segue os mesmos formatos de objeto usados pelo endpoint /users/track da Braze para o tipo de dados selecionado.
| Tipo de dados | 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 usará 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 usará 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 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"
}
]
}