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. |
Configuración de metadatos empresariales recomendada
"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.