PublishKafka Processor
描述
使用 Kafka Producer API 将 FlowFile 的内容作为消息或作为单独记录发送到 Apache Kafka。
标签
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| Kafka Connection Service | | 控制器服务 API:KafkaConnectionServicecn.org.acal.lynxus-lynxus-kafka-service-api-nar-2.11.8 | 提供与 Kafka Broker 的连接以发布 Kafka 记录 |
| Topic Name | | 处理器发布 Kafka 记录的 Kafka 主题的名称 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Failure Strategy | Route to Failure |
| 指定处理器无法将数据发布到 Kafka 时如何处理 FlowFile |
| 传递保证 | all |
| 指定保证消息发送到Kafka的要求。 对应于Kafka Client acks属性。 |
| 压缩类型 | none |
| 指定发送到 Kafka 的记录的压缩策略。 对应于Kafka Client的compression.type属性。 |
| 最大请求大小 | 1 MB | 请求的最大大小(以字节为单位)。 对应于Kafka客户端max.request.size属性。 | |
| Transactions Enabled | true |
| 指定在与 Kafka 通信时是否提供事务保证。如果向 Kafka 发送数据时出现问题且此属性设置为 false,则已发送到 Kafka 的消息将继续传递给消费者。如果设置为 true,则 Kafka 事务将回滚,使这些消息不可用于消费者。将此设置为 true 要求 [Delivery Guarantee] 属性设置为 [Guarantee Replicated Delivery.]。 |
| Transactional ID Prefix | | 指定 KafkaProducer 配置 transactional.id 将是生成的 UUID,并将以配置的字符串作为前缀。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| 分区器类 | org.apache.kafka.clients.producer.internals.DefaultPartitioner |
| 指定使用哪个类来计算消息的分区 ID。 对应于Kafka Client的partitioner.class属性。 |
| 分区 | | 指定记录的 Kafka 分区目标。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Message Demarcator | | 指定用作 UTF-8 解释的字符串,用于在单个 FlowFile 中标记多条消息的分界。如果未指定,FlowFile 的整个内容将作为单条消息使用。如果指定,FlowFile 的内容将按此分隔符拆分,每部分作为单独的 Kafka 消息发送。要输入特殊字符(如'换行符'),请使用 CTRL+Enter 或 Shift+Enter,具体取决于操作系统。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Record Reader | | 控制器服务 API:RecordReaderFactorycn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 用于传入FlowFile的Record Reader |
| Record Writer | | 控制器服务 API:RecordSetWriterFactorycn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 用于在发送到 Kafka 之前序列化数据的Record Writer |
| Publish Strategy | USE_VALUE |
| 用于将传入的 FlowFile 记录发布到 Kafka 的格式。 |
| Message Key Field | | 输入记录中应用作 Kafka 消息的键的字段名称。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| FlowFile Attribute Header Pattern | | 与所有 FlowFile 属性名称匹配的正则表达式。属性名称匹配此模式的任何属性都将作为 Header 添加到 Kafka 消息中。如果未指定,则不会将任何 FlowFile 属性添加为标头。 | |
| Header Encoding | UTF-8 | 对于作为 Kafka 记录标头添加的任何属性,此属性指示用于序列化标头的字符编码。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Kafka Key | | 用于消息的键。如果未指定,则使用 FlowFile 属性 'kafka.key' 作为消息键(如果存在)。请注意,同时设置 Kafka 键和分隔符可能导致多条 Kafka 消息具有相同的键。通常这不是问题,因为 Kafka 不强制或假设消息和键的唯一性。但是,同时设置分隔符和 Kafka 键会带来 Kafka 上数据丢失的风险。在 Kafka 进行主题压缩时,消息将基于此键进行去重。 支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值) | |
| Kafka Key Attribute Encoding | utf-8 |
| 发出的 FlowFile 具有名为 'kafka.key' 的属性。此属性决定该属性的值应如何编码。 |
| Record Key Writer | | 控制器服务 API:RecordSetWriterFactorycn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 用于传出FlowFile的记录密钥编写器 |
| Record Metadata Strategy | FROM_PROPERTIES |
| 指定 Record 的元数据(主题和分区)应来自 Record 的元数据字段,还是来自配置的主题名称和分区/分区器类属性。 |
关系 (Relationships)
| 名称 | 描述 | 自动终止 |
|---|---|---|
failure | 任何无法发送到 Kafka 的 FlowFile 将被路由到此关系 | 否 |
success | 所有内容都发送到 Kafka 的 FlowFiles。 | 否 |
读取的 FlowFile 属性
| 名称 | 描述 |
|---|---|
kafka.tombstone | 如果此属性设置为 'true',且处理器未配置分隔符,且 FlowFile 的内容为 null,则将向 Kafka 发送零字节的墓碑消息。 |
写入的 FlowFile 属性
| 名称 | 描述 |
|---|---|
msg.count | 发送到此 FlowFile 的 Kafka 消息数。此属性仅添加到路由到的 FlowFile |
状态管理
该组件不存储状态。
受限 (Restricted)
该组件不受限。
输入要求
该组件要求有传入连接。