JSON-Ausgabe konfigurieren

Die folgende Tabelle zeigt das Modell operation und row.

Modell Ausprägung Anleitung
op Metadaten auf Datensatz- und Spaltenebene unter den Objekten before und after. Empfohlen für CDC, da explizite Bildsemantik beibehalten wird.
row Spaltenwerte auf Record-Ebene statt verschachtelter Bildobjekte. Nur verwenden, wenn der nachgelagerte Vertrag eine einfache Zeile erwartet. Das tabellenspezifische Laufzeitschema definiert, welches Image für jeden Vorgang dargestellt wird.
op mit flatten=true Verschachtelte Imagenamen werden mit Spaltennamen verkettet. Beispiel: before.STATUS und after.STATUS, wenn das Trennzeichen . lautet. Nützlich für flache Waschbecken, die noch vor/nach der Unterscheidung benötigt werden.

Core-JSON-Eigenschaften

Eigenschaft Standard/Limits Beschreibung
$schema ogg:outputFormatJson JSON-Ausgabekonfigurationsschema-ID.
model op; op oder row Modell aufzeichnen.
beforeImageName before; 1-32 Zeichen Name des Before-Image-Objekts im Operationsmodell.
afterImageName after; 1-32 Zeichen Name des After-Image-Objekts im Operationsmodell.
omitNullColumnValues false Lässt Spalten aus, deren Wert Null ist. Dadurch können fehlende und Nullwerte für ausgelassene Felder nicht mehr unterschieden werden.
treatAllColumnsAsStrings false Schreibt alle Spaltenwerte als Zeichenfolgen anstelle von nativen JSON-Primitiven.
flatten false Blättert vor und nach Bildspalten im Betriebsmodell.
flattenDelimiter 0-32 Zeichen Trennzeichen zwischen Bildname und Spaltenname, wenn vereinfacht.
delimiter 0-32 Zeichen Trennzeichen für Formatierungsdatensatz. WebSocket-Consumer sollten den von der AsyncAPI-YAML beschriebenen Standardarrayvertrag normalerweise beibehalten.
staticFields Objekt / keine Fügt Felder mit konstanten Werten zu Ausgabe-Records hinzu.
operationStrings EINFÜGEN, AKTUALISIEREN, LÖSCHEN, ABSCHNEIDEN, UPSERT, DDL Passen Sie Vorgangslabels an. Stimmen Sie sich mit jedem Verbraucher ab, bevor Sie sich ändern.

Schema- und Metadatenemission

Eigenschaft Standard Auswirkung
includeJSONSchemaRecord true Gibt JSON-Schemadatensätze für Streammetadaten-, Objektmetadaten-, DML- und DDL-Datensätze aus.
includeObjectMetadataRecords true Gibt Metadaten der Tabellenspalte aus.
includeStreamMetadataRecord true Gibt Metadaten der Producer- und Quelldatenbank aus.

Empfohlen: Lassen Sie alle drei Einstellungen aktiviert, es sei denn, eine gesteuerte externe Schemaregistrierung ersetzt sie. Die Deaktivierung von Schema- oder Metadatendatensätzen reduziert das Netzwerkvolumen, überträgt jedoch die Versions- und Discovery-Zuständigkeit an die Consumer-Plattform.

Größen- und Großwertkontrollen

Eigenschaft Standard Minimum Maximum Verhalten
maxLobSize 64.000 1 18.446.744.073.709.552.000 LOB-Daten werden über diese Größe hinaus in Byte abgeschnitten.
maxDDLTextSize 1.000.000 1 4.294.967.295 DDL-Anweisungstext wird über diese Größe in Byte gekürzt.
maxRecordSize 1.048.576 131.072 10.485.760 Ein Datensatz, der die Größe überschreitet, wird abgeschnitten oder als Chunking ausgeführt.
truncateOrChunk truncate - truncate oder chunk Wählt die Verarbeitung von übergroßen Datensätzen.

Wenn truncateOrChunk chunk ist, konsumieren Sie die Chunk-Metadaten genau wie vom Laufzeitschema definiert. Erfinden Sie keinen Wiederaufbauvertrag. Laden Sie die maximale LOB- und DDL-Größe des Tests, da die WebSocket-Bibliothek, der Proxy und die Downstream-Plattform zusätzliche Frame- oder Meldungslimits festlegen können.

Felder "Metadaten"

Die meisten metaFields-Einträge akzeptieren entweder einen booleschen Wert oder eine Zeichenfolge. true enthält das Feld mit seinem Standardausgabenamen, false lässt es weg, und eine Zeichenfolge enthält es unter diesem benutzerdefinierten Namen. env, sys und tokens akzeptieren spezialisierte Objekte oder Werte, die durch das REST-Schema definiert sind.

Eigenschaft Standard Bedeutung
qualifiedTable true Vollqualifizierter Objektname. Das Standard-Datenstreams-Feld ist normalerweise qual_table.
opType true Vorgangstyp. Das Standardfeld ist normalerweise op_type.
opTs true Vorgangszeitstempel. Das Standardfeld ist normalerweise op_ts.
pos true Undurchsichtige Erholungsposition. Deaktivieren Sie nicht für einen wiederherstellbaren Consumer.
xid true Herkunftstransaktions-ID.
table false Nicht qualifizierter Tabellenname.
schema false Schemaname oder Eigentümername.
catalog false Katalogname, sofern verfügbar.
csn false Quell-Commit-Folgenummer.
opSeqno false Datensatzfolgenummer innerhalb der Transaktion.
transInd false Transaktionsindikator B, M, E oder W.
primaryKeys false Spaltennamen oder -werte des Primärschlüssels entsprechend dem konfigurierten Formatierungsvertrag.
opTsMicroSecs false Operationszeitstempel als Mikrosekunden nach der Epoche.
currentTs false Aktueller Verarbeitungszeitstempel.
currentTsMicroSecs false Aktueller Verarbeitungszeitstempel als Mikrosekunden nach der Epoche.
tokens null Benutzertoken, GoldenGate-Token, alle Token oder eine konfigurierte Teilmenge.
env null Ausgewählte GoldenGate-Umgebungswerte.
sys null Ausgewählte Systemumgebungswerte. Vermeiden Sie es, Geheimnisse aufzudecken.
"metaFields": {
  "qualifiedTable": true,
  "opType": true,
  "opTs": true,
  "pos": true,
  "xid": true,
  "csn": "csn",
  "opSeqno": "op_seqno",
  "transInd": "trans_ind",
  "primaryKeys": "primary_keys"
}

Explizite Zeichenfolgennamen machen den öffentlichen Payload-Vertrag klar und vermeiden, dass Formatter-Standardnamen für optionale Metadaten verwendet werden.