Configurar Saída JSON

A tabela a seguir mostra o modelo de operação e linha

Modelo Forma Orientação
op Metadados no nível de registro e valores de coluna em objetos before e after. Recomendado para CDC porque preserva a semântica de imagem explícita.
row Valores de coluna no nível de registro em vez de objetos de imagem aninhados. Use somente quando o contrato downstream esperar uma linha simples. O esquema de runtime específico da tabela define qual imagem é representada para cada operação.
op com flatten=true Os nomes de imagens aninhadas são concatenados com nomes de coluna, por exemplo, before.STATUS e after.STATUS quando o delimitador é .. Útil para pias planas que ainda precisam de distinção antes/depois.

Propriedades JSON principais

Propriedade Padrão / limites Descrição
$schema ogg:outputFormatJson Identificador do esquema de configuração de saída JSON.
model op; op ou row Modelo de registro.
beforeImageName before; 1 a 32 caracteres Nome do objeto antes da imagem no modelo de operação.
afterImageName after; 1 a 32 caracteres Nome do objeto pós-imagem no modelo de operação.
omitNullColumnValues false Omite colunas cujo valor é nulo. Isso torna o campo ausente e nulo indistinguível para campos omitidos.
treatAllColumnsAsStrings false Grava todos os valores de coluna como strings em vez de primitivas JSON nativas.
flatten false Flattens antes e depois de colunas de imagem no modelo de operação.
flattenDelimiter 0-32 caracteres Delimitador entre o nome da imagem e o nome da coluna quando nivelado.
delimiter 0-32 caracteres Delimitador de registro do formatador. Os consumidores do WebSocket normalmente devem manter o contrato de array padrão descrito pelo AsyncAPI YAML.
staticFields Objeto/nenhum Adiciona campos com valores constantes aos registros de saída.
operationStrings INSERIR, ATUALIZAR, EXCLUIR, TRUNCAR, UPSERT, DDL Personaliza rótulos de operação. Coordene com todos os consumidores antes de mudar.

Emissão de esquema e metadados

Propriedade Padrão Efeito
includeJSONSchemaRecord true Emite registros do Esquema JSON para metadados de fluxo, metadados de objeto, DML e registros DDL.
includeObjectMetadataRecords true Emite metadados da coluna da tabela.
includeStreamMetadataRecord true Emite metadados do produtor e do banco de dados de origem.

Recomendado: Mantenha todas as três definições ativadas, a menos que um registro de esquema externo controlado as substitua. A desativação de registros de esquema ou metadados reduz o volume da rede, mas transfere a responsabilidade de controle de versão e descoberta para a plataforma do consumidor.

Controles de tamanho e grande valor

Propriedade Padrão Mínimo Máximo Comportamento
maxLobSize 64.000 1 18.446.744.073.709.552.000 Os dados de LOB são truncados além desse tamanho em bytes.
maxDDLTextSize 1.000.000 1 4.294.967.295 O texto da instrução DDL é truncado além desse tamanho em bytes.
maxRecordSize 1.048.576 131.072 10.485.760 Um registro que excede o tamanho é truncado ou dividido em partes.
truncateOrChunk truncate - truncate ou chunk Seleciona o tratamento de registros de grande porte.

Quando truncateOrChunk for chunk, consuma os metadados de chunk exatamente conforme definido pelo esquema de runtime. Não invente um contrato de remontagem. Carregue os tamanhos máximos de LOB e DDL do teste porque a biblioteca WebSocket, o proxy e a plataforma downstream podem impor limites adicionais de quadro ou mensagem.

Campos de metadados

A maioria das entradas metaFields aceita um Booliano ou uma string. true inclui o campo com seu nome de saída padrão, false omite e uma string o inclui nesse nome personalizado. env, sys e tokens aceitam objetos ou valores especializados definidos pelo esquema REST.

Propriedade Padrão Significado
qualifiedTable true Nome do objeto totalmente qualificado. O campo Fluxo de Dados Padrão normalmente é qual_table.
opType true Tipo de operação. O campo padrão é normalmente op_type.
opTs true Timestamp da operação. O campo padrão é normalmente op_ts.
pos true Posição opaca de recuperação. Não desative para um consumidor recuperável.
xid true Identificador da transação de origem.
table false Nome de tabela não qualificado.
schema false Nome do esquema ou proprietário.
catalog false Nome do catálogo quando disponível.
csn false Número de sequência de commit de origem.
opSeqno false Número de sequência do registro na transação.
transInd false Indicador de transação B, M, E ou W.
primaryKeys false Nomes ou valores de coluna de chave primária de acordo com o contrato do formatador configurado.
opTsMicroSecs false Timestamp da operação como microssegundos após a época.
currentTs false Data e hora do processamento atual.
currentTsMicroSecs false Timestamp de processamento atual como microssegundos após a época.
tokens null Tokens do usuário, tokens GoldenGate, todos os tokens ou um subconjunto configurado.
env null Valores de ambiente GoldenGate selecionados.
sys null Valores de ambiente do sistema selecionados. Evite expor segredos.
"metaFields": {
  "qualifiedTable": true,
  "opType": true,
  "opTs": true,
  "pos": true,
  "xid": true,
  "csn": "csn",
  "opSeqno": "op_seqno",
  "transInd": "trans_ind",
  "primaryKeys": "primary_keys"
}

Nomes de string explícitos tornam o contrato de payload público claro e evitam depender de nomes padrão do formatador para metadados opcionais.