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 diferentes tipos cuando envía datos.
Formatadores incorporados
La siguiente tabla describe las clases de formateadores disponibles en el Source Connector:
clase | Descripción |
|---|---|
| El formateador JSON estricto heredado. |
| El formateador extendido de JSON totalmente seguro por tipos. Este formateador enfatiza la preservación del tipo 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 muestra que los ejemplos de esta guía utilizan para demostrar cada formato de salida. Las columnas describen el nombre del campo, el valor y el tipo de 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"
Cuando se exporta el contenido del documento de muestra desde el tema de Kafka, la salida muestra las siguientes representaciones de tipo:
ObjectIdvalor con su tipo BSONDecimalvalor con su tipo BSONBinaryvalor con su string de búfer y tipo binarioDatevalor como milisegundos desde la Unix epoch
{ "_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"
Cuando se exporta el contenido del documento de muestra desde el 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 string de búfer y tipo binarioDatevalor como milisegundos desde la Unix epochInt32valor 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 tu conector de origen, establece la siguiente propiedad para especificar el formateador simplificado de JSON:
"output.json.formatter": "com.mongodb.kafka.connect.source.json.formatter.SimplifiedJson"
Cuando se exporta el contenido del documento de muestra desde el tema de Kafka, la salida muestra las siguientes representaciones de tipo:
ObjectIdvalor como su string 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"} }