Overview
Utiliza los siguientes ajustes de configuración para especificar cómo debe comportarse el conector de origen MongoDB Kafka cuando encuentre errores y para especificar los ajustes relacionados con la reanudación de lecturas interrumpidas.
Configuraciones
Nombre | Descripción |
|---|---|
mongo.errors.tolerance | Tipo: cadena |
mongo.errors.log.enable | Tipo: booleano |
mongo.errors.deadletterqueue.tema.name | Tipo: cadena IMPORTANTE: |
offset.partition.name | Tipo: cadena |
heartbeat.interval.ms | Tipo: largo |
heartbeat.tema.name | Tipo: cadena |
Latidos cardíacos con transformaciones de mensaje único
Si habilita los latidos y especifica las Transformaciones de mensaje único (SMT) en su implementación de Kafka Connect, debe excluir sus mensajes de latido de sus SMT. Las SMT son una funcionalidad de Kafka Connect que le permite especificar transformaciones en los mensajes que pasan a través de su conector de origen sin necesidad de implementar una aplicación de Stream Processing.
Para excluir los mensajes de latidos de tus SMT, debes crear y aplicar un predicado a tus SMT. Los predicados son una funcionalidad de los SMT que te permite comprobar si un mensaje coincide con una instrucción condicional antes de aplicar una transformación.
La siguiente configuración define el predicado IsHeartbeat que coincide con los mensajes de latido enviados al tema de latido por defecto:
predicates=IsHeartbeat predicates.IsHeartbeat.type=org.apache.kafka.connect.transforms.predicates.TopicNameMatches predicates.IsHeartbeat.pattern=__mongodb_heartbeats
La siguiente configuración utiliza el predicado anterior para excluir los mensajes de latido de una ExtractField transformación:
transforms=Extract transforms.Extract.type=org.apache.kafka.connect.transforms.ExtractField$Key transforms.Extract.field=<the field to extract from your Apache Kafka key> transforms.Extract.predicate=IsHeartbeat transforms.Extract.negate=true # apply the default key schema as the extract transformation requires a struct object output.format.key=schema
Si no excluyes tus mensajes de latido de la transformación anterior, tu conector generará el siguiente error una vez que procese un mensaje de latido:
ERROR WorkerSourceTask{id=mongo-source-0} Task threw an uncaught and unrecoverable exception. Task is being killed ... ... Only Struct objects supported for [field extraction], found: java.lang.String
Para aprender más sobre los SMT, consulta Cómo usar las transformaciones de un solo mensaje (SMT) en Kafka Connect de Confluent.
Para obtener más información sobre predicados, consulta Filtro (Apache Kafka) de Confluent.
Para obtener más información sobre la transformación ExtractField, consulta ExtractField de Confluent.
Para obtener más información sobre el esquema de claves por defecto, consulte la página Esquemas por defecto.