Configura output JSON

La tabella seguente mostra il modello di operazione e riga

Modello Forma Linee guida
op Metadati a livello di record e valori di colonna in oggetti before e after. Consigliato per CDC perché conserva la semantica esplicita dell'immagine.
row Valori di colonna a livello di record anziché oggetti immagine nidificati. Utilizzare solo quando il contratto a valle prevede una riga piatta. Lo schema di runtime specifico della tabella definisce l'immagine rappresentata per ogni operazione.
op con flatten=true I nomi delle immagini nidificate sono concatenati con nomi di colonna, ad esempio before.STATUS e after.STATUS quando il delimitatore è .. Utile per lavelli piatti che hanno ancora bisogno prima / dopo la distinzione.

Proprietà JSON di base

Proprietà Predefinito/limiti Descrizione
$schema ogg:outputFormatJson Identificativo dello schema di configurazione di output JSON.
model op; op o row Modello di record.
beforeImageName before; 1-32 caratteri Nome dell'oggetto before-image nel modello operativo.
afterImageName after; 1-32 caratteri Nome dell'oggetto after-image nel modello operativo.
omitNullColumnValues false Omette le colonne il cui valore è nullo. Ciò rende indistinguibili i campi mancanti e nulli per quelli omessi.
treatAllColumnsAsStrings false Scrive tutti i valori di colonna come stringhe anziché come valori predefiniti JSON nativi.
flatten false Si appiattisce prima e dopo le colonne di immagine nel modello operativo.
flattenDelimiter 0-32 caratteri Delimitatore tra il nome dell'immagine e il nome della colonna quando appiattito.
delimiter 0-32 caratteri Delimitatore di record dei formatter. I consumatori di WebSocket dovrebbero normalmente mantenere il contratto di array predefinito descritto da AsyncAPI YAML.
staticFields Oggetto/nessuno Aggiunge campi con valori costanti ai record di output.
operationStrings INSERISCI, AGGIORNA, ELIMINA, TRONCA, UPSERT, DDL Personalizza le etichette delle operazioni. Coordina con ogni consumatore prima di cambiare.

Emissione di schemi e metadati

Proprietà Predefinito Effetto
includeJSONSchemaRecord true Emette record dello schema JSON per i record di metadati del flusso, metadati dell'oggetto, DML e DDL.
includeObjectMetadataRecords true Emette i metadati delle colonne della tabella.
includeStreamMetadataRecord true Emette i metadati del producer e del database di origine.

Consigliato: mantenere abilitate tutte e tre le impostazioni a meno che non venga sostituito da un registro dello schema esterno disciplinato. La disabilitazione dei record di schema o metadati riduce il volume di rete, ma trasferisce la responsabilità di controllo delle versioni e ricerca automatica alla piattaforma consumer.

Dimensioni e controlli di grande valore

Proprietà Predefinito Minimo Massimo Funzionamento
maxLobSize 64.000 1 18.446.744.073.709.552.000 I dati LOB vengono troncati oltre questa dimensione in byte.
maxDDLTextSize 1.000.000 1 4.294.967.295 Il testo dell'istruzione DDL viene troncato oltre questa dimensione in byte.
maxRecordSize 1.048.576 131.072 10.485.760 Un record che supera la dimensione viene troncato o messo a chunk.
truncateOrChunk truncate - truncate o chunk Seleziona la gestione dei record di grandi dimensioni.

Se truncateOrChunk è chunk, utilizzare i metadati chunk esattamente come definiti dallo schema di runtime. Non inventare un contratto di riassemblaggio. Le dimensioni LOB e DDL massime del test di caricamento sono dovute al fatto che la libreria WebSocket, il proxy e la piattaforma a valle possono imporre limiti aggiuntivi di frame o messaggi.

Campi Metadati

La maggior parte delle voci metaFields accetta un valore booleano o una stringa. true include il campo con il nome di output predefinito, false lo omette e una stringa lo include con tale nome personalizzato. env, sys e tokens accettano oggetti o valori specializzati definiti dallo schema REST.

Proprietà Predefinito Significato
qualifiedTable true Nome oggetto completo. Il campo Flussi di dati predefiniti è in genere qual_table.
opType true Tipo di operazione. Il campo predefinito è in genere op_type.
opTs true Indicatore data/ora operazione. Il campo predefinito è in genere op_ts.
pos true Posizione di recupero opaca. Non disabilitare per un consumer recuperabile.
xid true Identificativo della transazione di origine.
table false Nome tabella non qualificato.
schema false Nome schema o proprietario.
catalog false Nome del catalogo se disponibile.
csn false Numero sequenza di impegno di origine.
opSeqno false Numero di sequenza record all'interno della transazione.
transInd false Indicatore di transazione B, M, E o W.
primaryKeys false Nomi o valori di colonna chiave primaria in base al contratto formatter configurato.
opTsMicroSecs false Indicatore orario dell'operazione come microsecondi dopo l'epoca.
currentTs false Indicatore orario elaborazione corrente.
currentTsMicroSecs false Indicatore orario di elaborazione corrente come microsecondi dopo l'epoca.
tokens null Token utente, token GoldenGate, tutti i token o un subset configurato.
env null Valori di ambiente GoldenGate selezionati.
sys null Valori di ambiente di sistema selezionati. Evitare di rivelare segreti.
"metaFields": {
  "qualifiedTable": true,
  "opType": true,
  "opTs": true,
  "pos": true,
  "xid": true,
  "csn": "csn",
  "opSeqno": "op_seqno",
  "transInd": "trans_ind",
  "primaryKeys": "primary_keys"
}

I nomi stringa espliciti rendono il contratto del payload pubblico chiaro ed evitano di fare affidamento sui nomi predefiniti del formatter per i metadati facoltativi.