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. |
Configurazione dei metadati enterprise consigliata
"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.