源配置设置

连接器设置

名称 描述

connector.class 必填

org.neo4j.connectors.kafka.source.Neo4jConnector

key.converter 必填

兼容的 Kafka Connect 转换器。

可以是以下之一:

  • io.confluent.connect.avro.AvroConverter

  • io.confluent.connect.json.JsonSchemaConverter

  • io.confluent.connect.protobuf.ProtobufConverter

key.converter.schema.registry.url

消息键的 Schema Registry URL。当配置的 key.converter 需要 Schema Registry 时为必填项。

key.converter.optional.for.nullables

key.converterio.confluent.connect.protobuf.ProtobufConverter 时,应设置为 true

value.converter 必填

兼容的 Kafka Connect 转换器。

可以是以下之一:

  • io.confluent.connect.avro.AvroConverter

  • io.confluent.connect.json.JsonSchemaConverter

  • io.confluent.connect.protobuf.ProtobufConverter

value.converter.schema.registry.url

消息值的 Schema Registry URL。当配置的 value.converter 需要 Schema Registry 时为必填项。

value.converter.optional.for.nullables

key.converterio.confluent.connect.protobuf.ProtobufConverter 时,应设置为 true

Neo4j 连接设置

名称 描述

neo4j.uri 必填

要连接的 Neo4j URI。可以指定多个 URI,并使用 , 分隔。

neo4j.database

要连接的 Neo4j 数据库名称。建议明确指定。

neo4j.authentication.type 必填

使用的身份验证类型。可选值:NONE, BASIC, KERBEROS, BEARER, CUSTOM

默认值:BASIC

neo4j.authentication.basic.username

身份验证用户名。当 neo4j.authentication.typeBASIC 时为必填项。

neo4j.authentication.basic.password

身份验证密码。当 neo4j.authentication.typeBASIC 时为必填项。

neo4j.authentication.basic.realm

身份验证领域,留空则使用默认值。

neo4j.authentication.kerberos.ticket

建立连接所需的 Kerberos 票据。当 neo4j.authentication.typeKERBEROS 时为必填项。

neo4j.authentication.bearer.token

建立连接所需的 Bearer Token。当 neo4j.authentication.typeBEARER 时为必填项。

neo4j.authentication.custom.scheme

建立连接所需的自定义身份验证方案。当 neo4j.authentication.typeCUSTOM 时为必填项。

neo4j.authentication.custom.principal

建立连接所需的自定义主体 (Principal)。当 neo4j.authentication.typeCUSTOM 时为必填项。

neo4j.authentication.custom.credentials

建立连接所需的自定义凭据。当 neo4j.authentication.typeCUSTOM 时为必填项。

neo4j.authentication.custom.realm

自定义身份验证领域,按您的自定义身份验证提供程序要求进行设置。

neo4j.connection-timeout

TCP 连接超时(有效单位:ms, s, m, hd;默认单位为 s)。

默认值:30s (驱动程序默认值)

neo4j.pool.max-connection-pool-size

连接池中保持的最大连接数。

默认值:100 (驱动程序默认值)

neo4j.pool.connection-acquisition-timeout

从连接池获取连接的最长等待时间(有效单位:ms, s, m, hd;默认单位为 s)。

默认值:60s (驱动程序默认值)

neo4j.pool.idle-time-before-connection-test

空闲连接在该时长后会被测试存活性(有效单位:ms, s, m, hd;默认单位为 s)。

默认值:no test (驱动程序默认值)

neo4j.pool.max-connection-lifetime

连接在连接池中存放的最长有效期(有效单位:ms, s, m, hd;默认单位为 s)。

默认值:1h (驱动程序默认值)

neo4j.max-retry-time

重试事务的最长时长。

默认值:30s

neo4j.security.encrypted

是否启用加密。仅当 neo4j.uri 中使用 boltneo4j 方案时适用。可选值:true, false

默认值:false

neo4j.security.trust-strategy

TLS 连接使用的信任策略。可选值:TRUST_ALL_CERTIFICATES, TRUST_SYSTEM_CA_SIGNED_CERTIFICATES, TRUST_CUSTOM_CA_SIGNED_CERTIFICATES。当 neo4j.security.encryptedtrue 时为必填项。

默认值:TRUST_SYSTEM_CA_SIGNED_CERTIFICATES

neo4j.security.cert-files

包含要信任的 CA 的 X509 证书文件列表。当 neo4j.security.trust-strategyTRUST_CUSTOM_CA_SIGNED_CERTIFICATES 时为必填项。

neo4j.security.hostname-verification-enabled

TLS 握手期间是否启用主机名验证。可选值:true, false

默认值:true

通用源设置

名称 描述

neo4j.source-strategy 必填

此连接器的源策略。可选值:CDC, QUERY

neo4j.start-from 必填

开始流式传输的时间锚点。可选值:EARLIEST, NOW, USER_PROVIDED。仅在连接器实例首次运行时使用,当 Kafka Connect 中已存储偏移量时将被忽略。

默认值:NOW

neo4j.start-from.value

用作起始偏移量的自定义值。当 neo4j.start-from 设置为 USER_PROVIDED 时为必填项。

neo4j.ignore-stored-offset

是否忽略先前运行所保存的偏移量存储中检索到的任何偏移量值。可选值:true, false

默认值:false

neo4j.batch-size

每个轮询周期发布的最大更改事件数。

默认值:1000

neo4j.payload-mode

定义更改消息的结构。可选值:COMPACT, EXTENDEDCOMPACT 提供更简单的消息,但如果属性类型发生更改,则会面临模式兼容性问题。EXTENDED 包含类型信息以避免此类问题。

默认值:EXTENDED于 5.1.5 版本引入

CDC 策略设置

名称 描述

neo4j.cdc.topic.{NAME}.key-strategy

CDC 主题键的序列化策略。可选值:SKIP, ELEMENT_ID, ENTITY_KEYS, WHOLE_VALUE

默认值:WHOLE_VALUE

neo4j.cdc.topic.{NAME}.value-strategy

CDC 主题值的序列化策略。可选值:CHANGE_EVENT, ENTITY_EVENT

默认值:CHANGE_EVENT

注意:如果您在 CDC 策略之一中使用接收器连接器 (sink connector),则此设置必须配置为 CHANGE_EVENT

neo4j.cdc.poll-duration

Kafka Connect 轮询请求等待从数据库接收更改的最长时长(有效单位:ms, s, m, hd;默认单位为 s

默认值:5s

neo4j.cdc.poll-interval

neo4j.cdc.poll-duration 期间轮询数据库以获取更改的时间间隔(有效单位:ms, s, m, hd;默认单位为 s)。

默认值:1s

neo4j.cdc.topic.{NAME}.patterns

图模式的逗号分隔列表,带有可选的事件属性过滤器(前缀 +- 分别表示包含或排除)。

配置示例:"neo4j.cdc.topic.my-topic.patterns": "(:Person {+name}),(:Person)-[:WORKS_FOR]→(:Company),(:Company {-id})"Company 节点的更改事件将不包含 id 属性。

neo4j.cdc.topic.{NAME}.patterns.{INDEX}.pattern

索引图模式,带有可选的事件属性过滤器(前缀 +- 分别表示包含或排除)。

示例:"neo4j.cdc.topic.my-topic.patterns.0.pattern": "(:Company {+name})"Company 节点的更改事件要么总是包含 name 属性(在 CDC FULL 丰富模式下),要么在 name 属性更改时包含(在 CDC DIFF 丰富模式下)。

neo4j.cdc.topic.{NAME}.patterns.{INDEX}.operation

可选值:CREATE, UPDATE, DELETE。我们要为其接收对应索引图模式事件的操作。

示例:"neo4j.cdc.topic.my-topic.patterns.0.operation": "DELETE"

neo4j.cdc.topic.{NAME}.patterns.{INDEX}.changesTo

属性名称的逗号分隔列表。

示例:"neo4j.cdc.topic.my-topic.patterns.0.changesTo": "name, age"(请参阅 如何组合选择器

neo4j.cdc.topic.{NAME}.patterns.{INDEX}.metadata.authenticatedUser

执行更改时经过身份验证的用户。

示例:"neo4j.cdc.topic.my-topic.patterns.0.metadata.authenticatedUser": "userA"

neo4j.cdc.topic.{NAME}.patterns.{INDEX}.metadata.executingUser

执行更改时执行事务的用户。通常与 authenticatedUser 相同,但如果使用了用户模拟 (impersonation),则可能会有所不同。

示例:"neo4j.cdc.topic.my-topic.patterns.0.metadata.executingUser": "userB"

neo4j.cdc.topic.{NAME}.patterns.{INDEX}.metadata.txMetadata.{KEY}

键值对事务元数据选择器。键值对会与实际的事务元数据进行匹配(键会去掉前述前缀)。

示例:"neo4j.cdc.topic.my-topic.patterns.0.metadata.txMetadata.app": "neo4j-browser"

neo4j.cdc.metric.last-db-tx-id.enabled

是否启用 last_db_tx_id 指标。

默认值:false 于 5.3.0 版本引入

neo4j.cdc.metric.last-db-tx-id.refresh-interval

last_db_tx_id 指标的刷新间隔(有效单位:ms, s, m, hd;默认单位为 s)。

默认值:30s 于 5.3.0 版本引入

neo4j.cdc.use-leader

是否对 CDC 查询使用数据库的领导者 (Leader) 实例。

默认值:false 于 5.3.0 版本引入

QUERY 策略设置

名称 描述

neo4j.query.topic 必填

用于发布通过提供的查询收集到的更改事件的 Kafka 主题。

neo4j.query 必填

用于收集更改的 Cypher 查询。要求结果集中包含 neo4j.query.streaming-property,并且使用 $lastCheck 查询参数来跟踪更改。

neo4j.query.streaming-property

属性名称,该属性既存在于指定查询的结果集中,也用作从先前值查询更改的过滤器。

默认值:timestamp

neo4j.query.poll-duration

Kafka Connect 轮询请求等待从数据库接收更改的最长时长(有效单位:ms, s, m, hd;默认单位为 s)。

默认值:5s

neo4j.query.poll-interval

neo4j.query.poll-duration 期间轮询数据库以获取更改的时间间隔(有效单位:ms, s, m, hd;默认单位为 s)。

默认值:1s

neo4j.query.timeout

允许查询运行的最长时长(有效单位:ms, s, m, hd;默认单位为 s)。

默认值:0s

neo4j.query.force-maps-as-struct

这强制将映射 (map) 值的模式编码为结构体 (struct)(默认值:true)。将值设置为 false 将仅影响具有同构值类型的映射的模式编码。具有异构值类型的映射将保持编码为结构体。请注意,Protobuf 转换器不支持映射消息类型(当在 COMPACT 负载模式下且此参数设置为 false 时,可能会出现映射消息类型)。