Wait for change data capture event on Db2 server and capture the event as an internal storage file.
type: "io.kestra.plugin.debezium.db2.capture"Capture data from Db2 server.
id: db2_capture
namespace: company.team
tasks:
- id: capture
type: io.kestra.plugin.debezium.db2.Capture
snapshotMode: INITIAL
hostname: 127.0.0.1
port: "50000"
username: "{{ secret('DB2_USERNAME') }}"
password: "{{ secret('DB2_PASSWORD') }}"
database: my_database
maxRecords: 100
The name of the DB2 database from which to stream the changes.
Hostname of the remote server.
Port of the remote server.
ADD_FIELDADD_FIELDNULLDROPSpecify how to handle deleted rows.
Possible settings are:
ADD_FIELD: Add a deleted field as boolean.NULL: Send a row with all values as null.DROP: Don't send deleted row.
deletedThe name of deleted field if deleted is ADD_FIELD.
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to include in change event record values.
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the includedColumns connector configuration property."
An optional, comma-separated list of regular expressions that match the names of databases for which you do not want to capture changes.
The connector captures changes in any database whose name is not in the excludedDatabases. Do not also set the includedDatabases connector configuration property.
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers for tables whose changes you do not want to capture.
The connector captures changes in any table not included in excludedTables. Each identifier is of the form databaseName.tableName. Do not also specify the includedTables connector configuration property.
INLINERAWINLINEWRAPThe format of the output.
Possible settings are:
RAW: Send raw data from debezium.INLINE: Send a row like in the source with only data (remove after & before), all the columns will be present for each row.WRAP: Send a row like INLINE but wrapped in arecordfield.
trueIgnore DDL statement.
Ignore CREATE, ALTER, DROP and TRUNCATE operations.
An optional, comma-separated list of regular expressions that match the fully-qualified names of columns to exclude from change event record values.
Fully-qualified names for columns are of the form databaseName.tableName.columnName. Do not also specify the excludedColumns connector configuration property.
An optional, comma-separated list of regular expressions that match the names of the databases for which to capture changes.
The connector does not capture changes in any database whose name is not in includedDatabases. By default, the connector captures changes in all databases. Do not also set the excludedDatabases connector configuration property.
An optional, comma-separated list of regular expressions that match fully-qualified table identifiers of tables whose changes you want to capture.
The connector does not capture changes in any table not included in includedTables. Each identifier is of the form databaseName.tableName. By default, the connector captures changes in every non-system table in each database whose changes are being captured. Do not also specify the excludedTables connector configuration property.
ADD_FIELDADD_FIELDDROPSpecify how to handle key.
Possible settings are:
ADD_FIELD: Add key(s) merged with columns.DROP: Drop keys.
durationThe maximum duration waiting for new rows.
It's not an hard limit and is evaluated every second. It is taken into account after the snapshot if any.
The maximum number of rows to fetch before stopping.
It's not an hard limit and is evaluated every second.
PT1HdurationThe maximum duration waiting for the snapshot to ends.
It's not an hard limit and is evaluated every second. The properties 'maxRecord', 'maxDuration' and 'maxWait' are evaluated only after the snapshot is done.
PT10SdurationThe maximum total processing duration.
It's not an hard limit and is evaluated every second. It is taken into account after the snapshot if any.
ADD_FIELDADD_FIELDDROPSpecify how to handle metadata.
Possible settings are:
ADD_FIELD: Add metadata in a column namedmetadata.DROP: Drop metadata.
metadataThe name of metadata field if metadata is ADD_FIELD.
ON_STOPON_EACH_BATCHON_STOPWhen to commit the offsets to the KV Store.
Possible values are:
ON_EACH_BATCH: after each batch of records consumed by this task, the offsets will be stored in the KV Store. This avoids any duplicated records being consumed but can be costly if many events are produced.ON_STOP: when this task completes, the offsets will be stored in the KV Store. This avoids any un-necessary writes to the KV Store.
Password on the remote server.
Additional configuration properties.
Any additional configuration properties that is valid for the current driver.
INITIALALWAYSINITIALINITIAL_ONLYWHEN_NEEDEDNO_DATARECOVERYSpecifies the criteria for running a snapshot when the connector starts.
Possible settings are:
ALWAYS: The connector performs a snapshot every time that it starts.INITIAL: The connector runs a snapshot only when no offsets have been recorded for the logical server name.INITIAL_ONLY: The connector runs a snapshot only when no offsets have been recorded for the logical server name and then stops; i.e. it will not read change events from the binlog.WHEN_NEEDED: After the connector starts, it performs a snapshot only if it detects one of the following circumstances: 1. It cannot detect any topic offsets. 2. A previously recorded offset specifies a log position that is not available on the server.NO_DATA: The connector captures the structure of all relevant tables, performing all the steps described in the INITIAL, except that it does not create READ events to represent the data set at the point of the connector’s start-up.RECOVERY: Set this option to restore a database schema history topic that is lost or corrupted. After a restart, the connector runs a snapshot that rebuilds the topic from the source tables.
TABLEOFFDATABASETABLESplit table on separate output uris.
Possible settings are:
TABLE: This will split all rows by tables on output with namedatabase.tableDATABASE: This will split all rows by databases on output with namedatabase.OFF: This will NOT split all rows resulting in a singledataoutput.
debezium-stateThe name of the Debezium state file stored in the KV Store for that namespace.
Username on the remote server.
The number of fetched rows
The KV Store key under which the state of the database history is stored
The KV Store key under which the state of the offset is stored
URI of the generated internal storage file