Configurar salida de JSON

En la siguiente tabla se muestra el modelo operation y row.

Modelo Unidad Orientación
op Metadatos en el nivel de registro y valores de columna en los objetos before y after. Recomendado para CDC porque conserva la semántica de imagen explícita.
row Valores de columna en el nivel de registro en lugar de objetos de imagen anidados. Sólo se utiliza cuando el contrato descendente espera una fila plana. El esquema de tiempo de ejecución específico de la tabla define qué imagen se representa para cada operación.
op con flatten=true Los nombres de imágenes anidadas se concatenan con nombres de columna, por ejemplo, before.STATUS y after.STATUS cuando el delimitador es .. Útil para fregaderos planos que todavía necesitan distinción antes / después.

Propiedades de JSON principales

Propiedad Por defecto/límites Descripción
$schema ogg:outputFormatJson Identificador de esquema de configuración de salida JSON.
model op; op o row Modelo de registro.
beforeImageName before; de 1 a 32 caracteres Nombre del objeto de imagen anterior en el modelo de operación.
afterImageName after; de 1 a 32 caracteres Nombre del objeto de imagen posterior en el modelo de operación.
omitNullColumnValues false Omite las columnas cuyo valor es nulo. Esto hace que los campos omitidos falten y sean nulos.
treatAllColumnsAsStrings false Escribe todos los valores de columna como cadenas en lugar de primitivos JSON nativos.
flatten false Se aplana antes y después de las columnas de imagen en el modelo de operación.
flattenDelimiter 0-32 caracteres Delimitador entre el nombre de imagen y el nombre de columna cuando se simplifica.
delimiter 0-32 caracteres Delimitador de registro de formateador. Los consumidores WebSocket normalmente deben conservar el contrato de matriz por defecto descrito por el YAML AsyncAPI.
staticFields Objeto/ninguno Agrega campos con valores constantes a los registros de salida.
operationStrings INSERTAR, ACTUALIZAR, ELIMINAR, TRUNCAR, UPSERT, DDL Personaliza las etiquetas de operación. Coordinar con todos los consumidores antes de cambiar.

Emisión de esquemas y metadatos

Propiedad Valor por defecto Efecto
includeJSONSchemaRecord true Emite registros de esquema JSON para metadatos de flujo, metadatos de objeto, DML y registros DDL.
includeObjectMetadataRecords true Emite metadatos de columna de tabla.
includeStreamMetadataRecord true Emite metadatos de base de datos de origen y productor.

Recomendado: mantenga los tres valores activados a menos que un registro de esquema externo controlado los reemplace. La desactivación de registros de esquema o metadatos reduce el volumen de red, pero transfiere el control de versiones y la responsabilidad de detección a la plataforma del consumidor.

Controles de tamaño y gran valor

Propiedad Valor por defecto Mínimo Máximo Comportamiento
maxLobSize 64.000 1 18.446.744.073.709.552.000 Los datos de LOB se truncan más allá de este tamaño en bytes.
maxDDLTextSize 1.000.000 1 4.294.967.295 El texto de la sentencia DDL se trunca más allá de este tamaño en bytes.
maxRecordSize 1.048.576 131.072 10.485.760 Los registros que superen el tamaño se truncan o fragmentan.
truncateOrChunk truncate - truncate o chunk Selecciona la gestión de registros de gran tamaño.

Cuando truncateOrChunk es chunk, consuma los metadatos de fragmento exactamente como lo define el esquema de tiempo de ejecución. No invente un contrato de reensamblaje. Tamaños máximos de LOB y DDL de prueba de carga porque la biblioteca WebSocket, el proxy y la plataforma descendente pueden imponer límites de mensajes o marcos adicionales.

Campos de metadatos

La mayoría de las entradas metaFields aceptan un valor booleano o una cadena. true incluye el campo con su nombre de salida por defecto, false lo omite y una cadena lo incluye con ese nombre personalizado. env, sys y tokens aceptan objetos o valores especializados definidos por el esquema REST.

Propiedad Valor por defecto Significado
qualifiedTable true Nombre de objeto completo. El campo de flujos de datos por defecto suele ser qual_table.
opType true Tipo de Operación. El campo predeterminado es normalmente op_type.
opTs true Registro de hora de operación. El campo predeterminado es normalmente op_ts.
pos true Posición de recuperación opaca. No desactive la opción para un consumidor recuperable.
xid true Identificador de transacción origen.
table false Nombre de tabla no cualificada.
schema false Esquema o nombre de propietario.
catalog false Nombre del catálogo cuando esté disponible.
csn false Número de secuencia de confirmación de origen.
opSeqno false Número de secuencia de registro dentro de la transacción.
transInd false Indicador de transacción B, M, E o W.
primaryKeys false Nombres o valores de columna de clave primaria según el contrato de formateador configurado.
opTsMicroSecs false Registro de hora de operación en microsegundos después de la época.
currentTs false Registro de hora de procesamiento actual.
currentTsMicroSecs false Registro de hora de procesamiento actual en microsegundos después de la época.
tokens null Tokens de usuario, tokens GoldenGate, todos los tokens o un subjuego configurado.
env null Valores de entorno GoldenGate seleccionados.
sys null Valores de entorno del sistema seleccionados. Evite exponer secretos.
"metaFields": {
  "qualifiedTable": true,
  "opType": true,
  "opTs": true,
  "pos": true,
  "xid": true,
  "csn": "csn",
  "opSeqno": "op_seqno",
  "transInd": "trans_ind",
  "primaryKeys": "primary_keys"
}

Los nombres de cadena explícitos borran el contrato de carga útil pública y evitan depender de los nombres por defecto del formateador para los metadatos opcionales.