Overview
En esta guía, puedes aprender a especificar las clases generadoras de JSON de funcionalidades incorporadas para usarlas 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 tu conector de origen, establece la siguiente propiedad para especificar el formateador JSON por defecto:
"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 de 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 stringBinaryvalor como su string de búferDatevalor como una string
{ "_id": "5f15aab12435743f9bd126a4", "w": ["12345.6789", 23.53], "x": "SSBsb3ZlIGZvcm1hdHRpbmch", "y": "2023-05-11T08:27:07Z", "z": {"a": false, "b": 87, "c": "hello world"} }