Sink Configuration Options

Reference of the sink connector options.

Database

connection.cluster_address

Couchbase Cluster addresses to listen (use comma to specify several).

  • Type: list

  • Importance: high

couchbase.network

The network selection strategy for connecting to a Couchbase Server cluster that advertises alternate addresses. A Couchbase node running inside a container environment (like Docker or Kubernetes) might be configured to advertise both its address within the container environment (known as its "default" address) as well as an "external" address for use by clients connecting from outside the environment. Setting the couchbase.network config property to default or external forces the selection of the respective addresses. Setting the value to auto tells the connector to select whichever network contains the addresses specified in the connection.cluster_address config property; this heuristic works well in most environments and is the recommended mode.

  • Possible values:

    • auto

    • default

    • external

  • Since: 3.4.5 (uncommitted)

  • Type: string

  • Importance: low

  • Default: "auto"

connection.bucket

Couchbase bucket name.

  • Type: string

  • Importance: high

connection.username

Couchbase username for Couchbase Server 5.0 and later.

  • Type: string

  • Importance: high

  • Default: the bucket name specified by connection.bucket

connection.password

Couchbase password. For Couchbase Server versions prior to 5.0 this is the bucket password. For versions 5.0 and later, this is the password associated with connection.username.

  • Type: password

  • Importance: low

  • Default: ""

connection.timeout.ms

Connection timeout in milliseconds.

  • Type: long

  • Importance: low

connection.ssl.enabled

Use SSL to connect to Couchbase. This feature only available in Couchbase Enterprise.

  • Type: boolean

  • Importance: low

  • Default: false

  • Dependents: connection.ssl.keystore.location, connection.ssl.keystore.password

connection.ssl.keystore.location

The location of the key store file.

  • Type: string

  • Importance: low

connection.ssl.keystore.password

The password of the private key in the key store file.

  • Type: password

  • Importance: low

  • Default: ""

couchbase.document.id

Optionally set the Couchbase document ID from fields of the message body. The value is a format string with a placeholder for each field to include in the ID. A placeholder looks like ${/path/to/field} where the path is specified as a JSON pointer.

For backwards compatibility, a format string without placeholders is interpreted as a single JSON pointer.

The examples below assume the following sample document content:

{
  "id": 123,
  "metadata": {
    "type": "widget"
  }
}
  • Example values:

    • ${/id} → 123

    • invoice::${/id} → invoice::123

    • ${/metadata/type}::${/id} → widget::123

    • /id → 123 (deprecated, use ${/id} instead)

  • Since: 3.3.1

  • Type: string

  • Importance: low

  • Default: ""

  • Dependents: couchbase.remove.document.id

couchbase.remove.document.id

Controls whether the ID field is removed from the document when couchbase.document.id is specified.

  • Type: boolean

  • Importance: low

  • Default: false

couchbase.durability.persist_to

Optionally specify Couchbase persistence requirements for a write to be considered successful. If the requested requirements cannot be met (due to Couchbase rebalance or failover, for instance) the connector will terminate.

  • Possible values:

    • NONE - Do not require any disk persistence.

    • MASTER - Require disk persistence to the master node of the document only.

    • ONE - Require disk persistence of one node (master or replica).

    • TWO - Require disk persistence of two nodes (master or replica).

    • THREE - Require disk persistence of three nodes (master or replica).

    • FOUR - Require disk persistence of four nodes (master + three replicas).

  • Since: 3.2.2

  • Type: boolean

  • Importance: low

  • Default: "NONE"

couchbase.durability.replicate_to

Optionally specify Couchbase replication requirements for a write to be considered successful. If the requested requirements cannot be met (due to Couchbase rebalance or failover, for instance) the connector will terminate.

  • Possible values:

    • NONE - Do not require any replication.

    • ONE - Require replication to one replica.

    • TWO - Require replication to two replicas.

    • THREE - Require replication to three replicas.

  • Since: 3.2.2

  • Type: boolean

  • Importance: low

  • Default: "NONE"

couchbase.log_redaction

Optionally tag sensitive values in the log output for later redaction.

  • Possible values:

    • NONE - No redaction is performed.

    • PARTIAL - Only user data is redacted, system and metadata are not.

    • FULL - User, System and Metadata are all redacted.

  • Since: 3.2.3

  • Type: string

  • Importance: low

  • Default: "NONE"

couchbase.forceIPv4

In a network environment that supports both IPv4 and IPv6, setting this property to true will force the use of IPv4 when resolving Couchbase Server hostnames.

  • Since: 3.3.0

  • Type: boolean

  • Importance: low

  • Default: false

couchbase.document.expiration

Optionally specify a time-to-live for documents written to Couchbase. If present, the value must be an integer followed by a time unit. (s = seconds, m = minutes, h = hours, d = days). Example value: 30m.

  • Since: 3.3.1

  • Type: string

  • Importance: low

  • Default: "" (documents will not expire)

Parent topic: Kafka Connector