Overview
En esta guía, puede aprender a especificar clases de formateador JSON integradas para usar en un conector de origen MongoDB Kafka.
Formateadores JSON
Los formateadores JSON especifican cómo se muestran los datos JSON. Proporcionan instrucciones sobre cómo el conector representa los diferentes tipos al generar datos.
Formatadores incorporados
La siguiente tabla describe las clases de formateador disponibles en el conector de origen:
Clase | Descripción |
|---|---|
| El formateador JSON estricto heredado. |
| El formateador JSON extendido con total seguridad de tipos. Este formateador prioriza la preservación de tipos y representa la mayoría de los valores con su tipo BSON. |
| El formateador JSON simplificado. Este formateador representa los valores |
Ejemplos
La siguiente tabla describe los campos del documento de ejemplo que se utilizan en los ejemplos de esta guía para mostrar cada formato de salida. Las columnas describen el nombre, el valor y el tipo de campo para cada campo o campo anidado.
Nombre | Valor | Tipo | |
|---|---|---|---|
| |
| |
| | Array of: - Decimal128 ($numberDecimal)- Double ($numberDouble) | |
| |
| |
| |
| |
| | Document with fields: - a: Boolean- b: Int32 ($numberInt)- c: String |
Default JSON Formatter
En las propiedades de configuración de su conector de origen, configure la siguiente propiedad para especificar el formateador JSON predeterminado:
"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.DefaultJson"
Al generar el contenido del documento de muestra de su tema de Kafka, la salida muestra las siguientes representaciones de tipo:
ObjectIdvalor con su tipo BSONDecimalvalor con su tipo BSONBinaryvalor con su cadena de búfer y tipo binarioDatevalor en milisegundos desde la época UNIX
{ "_id": {"$oid": "5f15aab12435743f9bd126a4"}, "w": [{"$numberDecimal": "12345.6789"}, 23.53], "x": {"$binary": "SSBsb3ZlIGZvcm1hdHRpbmch", "$type": "00"}, "y": {"$date": 1683793627000}, "z": {"a": false, "b": 87, "c": "hello world"} }
Formateador JSON extendido
En las propiedades de configuración de tu conector de origen, configura la siguiente propiedad para especificar el formateador extendido de JSON:
"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.ExtendedJson"
Al generar el contenido del documento de muestra de su tema de Kafka, la salida muestra las siguientes representaciones de tipo:
ObjectIdvalor con su tipo BSONDecimalvalor con su tipo BSONDoublevalor con su tipo BSONBinaryvalor con su cadena de búfer y tipo binarioDatevalor en milisegundos desde la época UNIXInt32valor con su tipo BSON
{ "_id": {"$oid": "5f15aab12435743f9bd126a4"}, "w": [{"$numberDecimal": "12345.6789"}, {"$numberDouble": "23.53"}], "x": {"$binary": "SSBsb3ZlIGZvcm1hdHRpbmch", "$type": "00"}, "y": {"$date": 1683793627000}, "z": {"a": false, "b": {"$numberInt": "87"}, "c": "hello world"} }
Formateador JSON simplificado
En las propiedades de configuración de su conector de origen, configure la siguiente propiedad para especificar el formateador JSON simplificado:
"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson"
Al generar el contenido del documento de muestra de su tema de Kafka, la salida muestra las siguientes representaciones de tipo:
ObjectIdvalor como su cadena hexadecimalDecimalvalor como una cadenaBinaryvalor como su string de búferDatevalor como una cadena
{ "_id": "5f15aab12435743f9bd126a4", "w": ["12345.6789", 23.53], "x": "SSBsb3ZlIGZvcm1hdHRpbmch", "y": "2023-05-11T08:27:07Z", "z": {"a": false, "b": 87, "c": "hello world"} }