Overview
En esta página, puede ver todas las propiedades de configuración disponibles para su conector de receptor de MongoDB Kafka. Esta página duplica el contenido de las demás páginas de propiedades de configuración del conector de receptor.
Para ver una lista de todas las páginas de propiedades de configuración del conector del sumidero, consulte la Página depropiedades de configuración del conector del fregadero.
Conexión MongoDB
Usa la siguiente configuración para especificar cómo tu conector MongoDB Kafka sink se conecta y se comunica con tu clúster de MongoDB.
Para ver solo las opciones relacionadas con la configuración de su conexión MongoDB, consulte la página Propiedades de configuración de conexión MongoDB.
Nombre | Descripción |
|---|---|
conexión.uri | Required Type: string Description: The MongoDB connection URI string
to connect to your MongoDB instance or cluster. For more information, see the Connect to MongoDB guide IMPORTANTE: Para evitar exponer sus credenciales de autenticación en su
Default: mongodb://localhost:27017Accepted Values: A MongoDB connection URI string |
servidor.api.versión | Type: string Description: The Stable API version you want to use with your MongoDB
server. For more information on the Stable API and versions of
the server that support it, see the Stable API
MongoDB server manual guide. Default: ""Accepted Values: An empty string or a valid Stable API version. |
Errores de desuso de server.api | Type: boolean Description: When set to true, if the connector calls a command on your
MongoDB instance that's deprecated in the declared Stable API
version, it raises an exception.You can set the API version with the server.api.version
configuration option. For more information on the Stable API, see
the MongoDB manual entry on the
Stable API.Default: falseAccepted Values: true or false |
servidor.api.strict | Type: boolean Description: When set to true, if the connector calls a command on your
MongoDB instance that's not covered in the declared Stable API
version, it raises an exception.You can set the API version with the server.api.version
configuration option. For more information on the Stable API, see
the MongoDB manual entry on the
Stable API.Default: falseAccepted Values: true or false |
Espacio de nombres de MongoDB
Utilice las siguientes opciones de configuración para especificar la base de datos y la colección de MongoDB en las que su conector receptor de MongoDB Kafka escribe datos. Puede usar el valor predeterminado DefaultNamespaceMapper o especificar una clase personalizada.
Para ver solo las opciones relacionadas con la especificación de dónde el conector escribe datos, consulte la página Propiedades de configuración de mapeo de espacios de nombres de MongoDB.
Nombre | Descripción | |
|---|---|---|
namespace.mapper | Type: string Description: The fully-qualified class name of the class that specifies which
database or collection in which to sink the data. The default
DefaultNamespaceMapper uses values specified in the
database and collection properties.The connector includes an alternative class for specifying the database and collection called FieldPathNamespaceMapper. Seefor more information. Default: Accepted Values: A fully qualified Java class name of a class that implements the NamespaceMapper interface. | |
database | Required Type: string Description: The name of the MongoDB database to which the sink connector writes. Accepted Values: A MongoDB database name | |
Colección | Type: string Description: The name of the MongoDB collection to which the sink connector
writes. If your sink connector follows multiple topics, this
is the default collection for any writes that are not otherwise
specified. Default: The topic name. Accepted Values: A MongoDB collection name |
Configuración de FieldPathNamespaceMapper
Si configura su conector de sumidero para usar FieldPathNamespaceMapper, puede especificar en qué base de datos y colección se hundirá un documento en función de los valores de campo de los datos.
Para habilitar este comportamiento de mapeo, configure la propiedad de configuración del conector de receptor namespace.mapper en el nombre de clase completo como se muestra a continuación:
namespace.mapper=com.mongodb.kafka.connect.sink.namespace.mapping.FieldPathNamespaceMapper
El FieldPathNamespaceMapper requiere que especifique las siguientes configuraciones:
Una o ambas propiedades de mapeo a una base de datos y colección
Una de las asignaciones
keyovaluea una base de datosUna de las asignaciones
keyovaluea una colección
Puede utilizar la siguiente configuración para personalizar el comportamiento de FieldPathNamespaceMapper:
Nombre | Descripción |
|---|---|
namespace.mapper.key.database.field | Type: string Description: The name of the key document field that specifies the name of the
database in which to write. |
namespace.mapper.key.collection.field | Type: string Description: The name of the key document field that specifies the name of the
collection in which to write. |
namespace.mapper.value.database.field | Type: string Description: The name of the value document field that specifies the name of the
database in which to write. |
namespace.mapper.value.collection.field | Type: string Description: The name of the value document field that specifies the name of the
collection in which to write. |
namespace.mapper.error.if.invalid | Type: boolean Description: Whether to throw an exception when either the document is missing the
mapped field or it has an invalid BSON type. When set to true, the connector does not process documents
missing the mapped field or that contain an invalid BSON type.
The connector may halt or skip processing depending on the related
error-handling configuration settings.When set to false, if a document is missing the mapped field or
if it has an invalid BSON type, the connector defaults to
writing to the specified database and collection settings.Default: falseAccepted Values: true or false |
Tema del conector
Utiliza la siguiente configuración para especificar qué temas de Kafka debe monitorear el conector de sink de MongoDB Kafka en busca de datos.
Para ver solo las opciones relacionadas con la especificación de temas de Kafka, consulte la página Propiedades de temas de Kafka para el conector de receptor.
Nombre | Descripción | |
|---|---|---|
topics | Required Type: list Description: A list of Kafka topics that the sink connector watches. Puede definir la configuración Accepted Values: A comma-separated list of valid Kafka topics | |
topics.regex | Required Type: string Description: A regular expression that matches the Kafka topics that the sink
connector watches. Por ejemplo, la siguiente expresión regular coincide con nombres de temas como "activity.landing.clicks" y "activity.support.clicks". No coincide con los nombres de temas "activity.landing.views" y "activity.clicks". Puede definir la configuración Accepted Values: A valid regular expression pattern using java.util.regex.Pattern. |
Procesamiento de mensajes del conector
Utilice la configuración de esta página para configurar el comportamiento de procesamiento de mensajes del conector de receptor MongoDB Kafka, incluido lo siguiente:
Tamaño del lote de mensajes
Límites de velocidad
Número de tareas paralelas
Para ver solo las opciones relacionadas con los controladores de captura de datos modificados, consulte la página Propiedades de procesamiento de mensajes del conector.
Nombre | Descripción | ||
|---|---|---|---|
max.batch.size | Type: int Description: Maximum number of sink records to batch together for processing. Consider the batch that contains the following records: When set to 0, the connector performs a single bulk write for
the entire batch.When set to 1, the connector performs one bulk write for each
record in the batch, for a total of five bulk writes as shown in
the following example:Default: 0Accepted Values: An integer | ||
bulk.write.ordered | Type: boolean Description: Whether the connector writes a batch of records
as an ordered or unordered bulk write operation.
When set to true, the default value, the
connector writes a batch of records as an ordered bulk write
operation.To learn more about bulk write operations, see
Bulk Write Operations. Default: trueAccepted Values: true or false | ||
rate.limiting.every.n | Type: int Description: Number of batches of records the sink connector processes in
order to trigger the rate limiting timeout. A value of 0 means no
rate limiting. Default: 0Accepted Values: An integer | ||
rate.limiting.timeout | Type: int Description: How long (in milliseconds) to wait before the sink connector
should resume processing after reaching the rate limiting
threshold. Default: 0Accepted Values: An integer | ||
tasks.max | Type: int Description: The maximum number of tasks to create for this connector. The
connector may create fewer than the maximum tasks specified if it
cannot handle the level of parallelism you specify. IMPORTANT: If you specify a value greater than 1,
the connector enables parallel processing of the tasks.
If your topic has multiple partition logs, which enables
the connector to read from the topic in parallel,
the tasks may process the messages out of order.Default: 1Accepted Values: An integer |
Manejo de errores del conector
Utilice las siguientes opciones de configuración para especificar cómo el conector de receptor MongoDB Kafka maneja los errores y para configurar la cola de mensajes no entregados.
Para ver solo las opciones relacionadas con el manejo de errores, consulte la página Propiedades de manejo de errores del conector.
Nombre | Descripción |
|---|---|
mongo.errors.tolerance | Type: string Description: Whether to continue processing messages if the connector encounters
an error. Allows the connector to override the errors.tolerance
Kafka cluster setting.When set to none, the connector reports any error and
blocks further processing of the rest of the messages.When set to all, the connector ignores any problematic messages.When set to data, the connector tolerates only data errors and
fails on all other errors.To learn more about error handling strategies, see the
Handle Errors page. This property overrides the errors.tolerance property of the Connect Framework. Default: Inherits the value from the errors.tolerance
setting.Accepted Values: "none" or "all" |
mongo.errors.log.enable | Type: boolean Description: Whether the connector should write details of errors including
failed operations to the log file. The connector classifies
errors as "tolerated" or "not tolerated" using the
errors.tolerance or mongo.errors.tolerance settings.When set to true, the connector logs both "tolerated" and
"not tolerated" errors.When set to false, the connector logs "not tolerated" errors.This property overrides the errors.log.enable property of the Connect Framework. Default: falseAccepted Values: true or false |
errors.log.include.messages | Type: boolean Description: Whether the connector should include the invalid message when
logging an error. An invalid message includes data such as record
keys, values, and headers. Default: falseAccepted Values: true or false |
errors.deadletterqueue.topic.name | Type: string Description: Name of topic to use as the dead letter queue. If blank, the
connector does not send any invalid messages to the dead letter
queue. To learn more about the dead letter queue, see the
Dead Letter Queue Configuration Example. Default: ""Accepted Values: A valid Kafka topic name |
errors.deadletterqueue.context.headers.enable | Type: boolean Description: Whether the connector should include context headers when it
writes messages to the dead letter queue. To learn more about the dead letter queue, see the
Dead Letter Queue Configuration Example. To learn about the exceptions the connector defines and
reports through context headers, see
Bulk Write Exceptions. Default: falseAccepted Values: true or false |
errors.deadletterqueue.topic.replication.factor | Type: integer Description: The number of nodes on which to replicate the dead letter queue
topic. If you are running a single-node Kafka cluster, you must
set this to 1.To learn more about the dead letter queue, see the
Dead Letter Queue Configuration Example. Default: 3Accepted Values: A valid number of nodes |
Postprocesadores
Utilice las siguientes configuraciones para especificar cómo el conector de receptor MongoDB Kafka debe transformar los datos de Kafka antes de insertarlos en MongoDB.
Para ver solo las opciones relacionadas con los postprocesadores, consulte la página Propiedades del postprocesador del conector del sumidero.
Nombre | Descripción | |
|---|---|---|
post.processor.chain | Type: list Description: A list of post-processor classes the connector should apply to
process the data before saving it to MongoDB. To learn more about post-processors and see examples of their usage, see Default: Accepted Values: A comma-separated list of fully qualified Java class names | |
field.renamer.mapping | Type: string Description: A list of field name mappings for key and value fields. Define
the mappings in an inline JSON array in the following format: Default: []Accepted Values: A valid JSON array | |
field.renamer.regexp | Type: string Description: A list of field name mappings for key and value fields using
regular expressions. Define the mappings in an inline JSON array
in the following format: Default: []Accepted Values: A valid JSON array | |
key.projection.list | Type: string Description: A list of field names the connector should include in the key
projection. Default: ""Accepted Values: A comma-separated list of field names | |
key.projection.type | Type: string Description: The key projection type the connector should use. Default: noneAccepted Values: none, BlockList, or AllowList (Deprecated: blacklist, whitelist) | |
value.projection.list | Type: string Description: A list of field names the connector should include in the value
projection. Default: ""Accepted Values: A comma-separated list of field names | |
value.projection.type | Type: string Description: The type of value projection the connector should use. Default: noneAccepted Values: none, BlockList, or AllowList (Deprecated: blacklist, whitelist) | |
writemodel.strategy | Type: string Description: The class that specifies the WriteModelStrategy the connector should
use for Bulk Writes.To learn more about how to create your own strategy, see Default: Accepted Values: A fully qualified Java class name |
Estrategia de identificación
Utilice las siguientes configuraciones para especificar cómo el conector de receptor MongoDB Kafka debe determinar el valor _id para cada documento que escribe en MongoDB.
Para ver solo las opciones relacionadas con la determinación del _id campo de sus documentos, consulte la página Propiedades de la estrategia de identificación del conector de receptor.
Nombre | Descripción | |
|---|---|---|
document.id.strategy | Type: string Description: The class the connector should use to generate a unique _id field.Default: Accepted Values: An empty string or a fully qualified Java class name | |
document.id.strategy.overwrite.existing | Type: boolean Description: Whether the connector should overwrite existing values in the _id
field when it applies the strategy defined by the
document.id.strategy property.Default: falseAccepted Values: true or false | |
document.id.strategy.uuid.format | Type: string Description: Whether the connector should output the UUID in the _id field
in string format or in
BsonBinary
format.Default: stringAccepted Values: string or binary | |
delete.on.null.values | Type: boolean Description: Whether the connector should delete documents when the key value
matches a document in MongoDB and the value field is null. This setting applies when you specify an id generation strategy that
operates on the key document such as FullKeyStrategy,
PartialKeyStrategy, and ProvidedInKeyStrategy.Default: falseAccepted Values: true or false |
Escribir la estrategia del modelo
Puede configurar las propiedades para especificar cómo el conector receptor de MongoDB Kafka escribe datos en MongoDB. Las siguientes secciones describen las propiedades que puede configurar para personalizar este comportamiento.
Modelo de escritura
Establezca la propiedad de configuración writemodel.strategy para especificar cómo el conector de receptor escribe datos cuando recibe un registro de receptor.
Puede asignar el valor writemodel.strategy a cualquiera de los nombres de clase completos de las estrategias del modelo de escritura descritas en la sección "Estrategias" de esta página. Puede especificar una estrategia configurando lo siguiente:
writemodel.strategy=<a write model strategy>
Eliminar modelo de escritura
Establece la propiedad de configuración delete.writemodel.strategy para especificar cómo el conector del destino escribe datos al recibir un evento tombstone. Un evento tombstone es un registro que contiene una clave pero sin valor, lo que indica un registro borrado.
Puede asignar el valor delete.writemodel.strategy a cualquiera de los nombres de clase completos de las estrategias del modelo de escritura descritas en la sección "Estrategias" de esta página. Puede especificar una estrategia configurando lo siguiente:
delete.writemodel.strategy=<a write model strategy>
Para ver solo las opciones relacionadas con las estrategias de modelo de escritura, consulte la página Estrategias de modelo de escritura del conector de receptor.
Nombre | Descripción | |
|---|---|---|
DefaultWriteModelStrategy | Description: This strategy uses the ReplaceOneDefaultStrategy by
default, and the InsertOneDefaultStrategy if you set the
timeseries.timefield option.This is the default value value for the writemodel.strategy
configuration property. | |
InsertOneDefaultStrategy | Description: Insert each sink record into MongoDB as a document. To specify this strategy, set the configuration property to the
following class name: | |
ReplaceOneDefaultStrategy | Description: Replaces at most one document in MongoDB that matches a sink
record by the _id field. If no documents match, the
connector inserts the sink record as a new document.To specify this strategy, set the configuration property to the
following class name: | |
ReplaceOneBusinessKeyStrategy | Description: Replaces at most one document that matches a sink record by a
specified business key. If no documents match, the
connector inserts the sink record as a new document. To specify this strategy, set the configuration property to the
following class name: To see an example showing how to use this strategy, see our
guide on write model strategies. | |
DeleteOneDefaultStrategy | Description: Deletes at most one document that matches your sink connector's
key structure by the _id field only when the document
contains a null value structure.This is the default value for the
delete.writemodel.strategy configuration property.This strategy is set as the default value of the
writemodel.strategy property when you set
delete.on.null.values=true.To specify this strategy, set the configuration property to the
following class name: | |
DeleteOneBusinessKeyStrategy | Description: Deletes at most one MongoDB document that matches a sink
record by a business key. This strategy requires a
valueDoc for key generation. To leverage the
PartialKeyStrategy for key generation, use the DeleteOneTombstoneBusinessKeyStrategy.To specify this strategy, set the configuration property to the
following class name: To see an example showing how to use this strategy, see our
guide on write model strategies. | |
DeleteOneTombstoneBusinessKeyStrategy | Description: Deletes at most one MongoDB document that matches a sink
record by a business key. This strategy leverages the
PartialKeyStrategy to create the key used for deletion.To specify this strategy, set the configuration property to the
following class name: | |
UpdateOneDefaultStrategy | Description: Updates at most one document in MongoDB that matches a sink
record by the _id field. If no documents match, the
connector inserts the sink record as a new document.To specify this strategy, set the configuration property to the
following class name: | |
UpdateOneTimestampsStrategy | Description: Add _insertedTS (inserted timestamp) and _modifiedTS (modified timestamp) fields into documents.To specify this strategy, set the configuration property to the
following class name: To see an example showing how to use this strategy, see our
guide on write model strategies. | |
UpdateOneBusinessKeyTimestampStrategy | Description: Add _insertedTS (inserted timestamp) and _modifiedTS
(modified timestamp) fields into documents that match a business
key.To specify this strategy, set the configuration property to the
following class name: |
Anulación de tema
Utilice las siguientes configuraciones del conector de receptor MongoDB Kafka para anular las configuraciones de propiedades globales o predeterminadas para temas específicos.
Para ver solo las opciones relacionadas con la anulación de la configuración del tema, consulte la página Propiedades de anulación del tema.
Nombre | Descripción |
|---|---|
topic.override.<topicName>.<propertyName> | Type: string Description: Specify a topic and property name to override the corresponding
global or default property setting. For example, the topic.override.foo.collection=bar setting instructsthe sink connector to store data from the foo topic in the barcollection. You can specify any valid configuration setting in the <propertyName> segment on a per-topic basis exceptconnection.uri and topics.Default: ""Accepted Values: Accepted values specific to the overridden property |
Captura de datos modificados
Utilice las siguientes configuraciones para especificar una clase que el conector de receptor MongoDB Kafka utiliza para procesar eventos de captura de datos de cambio (CDC).
Consulte la guía sobre captura de datos de cambios del conector de sumidero para obtener ejemplos que utilizan los ChangeStreamHandler integrados y los controladores para los productores de eventos de Debezium y Qlik Replicate.
Para ver solo las opciones relacionadas con los controladores de captura de datos modificados, consulte la página Propiedades de captura de datos modificados.
Nombre | Descripción |
|---|---|
change.data.capture.handler | Type: string Description: The class name of the CDC handler to use for converting changes
into event streams. See
Available CDC Handlers
for a list of CDC handlers. Default: ""Accepted Values: An empty string or a fully qualified Java
class name |
Time Series
Utilice las siguientes configuraciones para especificar cómo el conector de receptor de MongoDB Kafka debe enviar datos a una colección de series de tiempo de MongoDB.
Para ver solo las opciones relacionadas con las colecciones de series temporales, consulte la página Propiedades de series temporales de Kafka.
Nombre | Descripción | |
|---|---|---|
timeseries.timefield | Type: string Description: The name of the top-level field in the source data that contains time
information that you want to associate with the new document in the
time series collection. Default: ""Accepted Values: An empty string or the name of a field
that contains a BSON DateTime value | |
timeseries.timefield.auto.convert.date.format | Type: string Description: The date format pattern the connector should use to convert the
source data contained in the field specified by the
timeseries.timefield setting.The connector passes the date format pattern to the Java
DateTimeFormatter.ofPattern(pattern, locale)
method to perform date and time conversions on the time field. If the date value from the source data only contains date information,
the connector sets the time information to the start of the specified
day. If the date value does not contain the timezone offset, the
connector sets the offset to UTC. Default: Accepted Values: A valid DateTimeFormatter format | |
timeseries.timefield.auto.convert | Type: boolean Description: Whether to convert the data in the field into the BSON Date
format.When set to true, the connector uses the milliseconds
after epoch and discards fractional parts if the value is
a number. If the value is a string, the connector uses the
setting in the following configuration to parse the date:If the connector fails to convert the value, it sends the
original value to the time series collection. Default: falseAccepted Values: true or false | |
timeseries.timefield.auto.convert.locale.language.tag | Type: string Description: Which DateTimeFormatter locale language tag to use with the date
format pattern (e.g. "en-US").To learn more about locales, see the Java SE documentation of Locale. Default: ROOTAccepted Values: A valid Locale language tag format | |
timeseries.metafield | Type: string Description: Which top-level field to read from the source data to describe
a group of related time series documents. IMPORTANT: This field must not be the _id field nor the field you specified
in the timeseries.timefield setting.Default: ""Accepted Values: An empty string or the name of a field
that contains any BSON type except BsonArray. | |
timeseries.expire.after.seconds | Type: int Description: The number of seconds MongoDB should wait before automatically
removing the time series collection data. The connector disables
timed expiry when the setting value is less than 1.To learn more, see Set up Automatic Removal for Time Series Collections
in the MongoDB manual. Default: 0Accepted Values: An integer | |
timeseries.granularity | Type: string Description: The expected interval between subsequent measurements of your
source data. To learn more, see Set Granularity for Time Series Data in the MongoDB manual. Optional Default: ""Accepted Values: "", "seconds", "minutes", "hours" |
Para obtener un ejemplo sobre cómo convertir una colección existente en una colección de series de tiempo, consulte el tutorial sobre Migrar una colección existente a una colección de series de tiempo.