核心功能
- 具有生产和消费能力的实时消息流
- 多种身份验证方案,包括 SASL 和 Kerberos
- 基于主题的消息组织与消费者组管理
- 可配置的读取时长,用于控制等待消息到达的时间
前提条件
要与 Apache Kafka 建立连接,用户至少必须具备:- 一个 Apache Kafka 环境,其中包含有效的 Apache Kafka 主机服务器和服务器管理器(broker,通常是 Zookeeper 或 KRaft)。
- 从 Apache Kafka 主机到包含目标主题的集群中所有 Apache Kafka 服务器和服务器管理器的网络连接。
- 在 Apache Kafka 中创建的主题,用于向服务器发送消息和从服务器接收消息。
- 从知行之桥到 Apache Kafka 服务器的清晰网络路径。
知行软件不提供 Apache Kafka 服务器或服务器管理器的创建或配置方面的设置协助或支持。有关 Apache Kafka 环境设置的信息,请参阅 Apache Kafka 文档。
建立连接
要允许知行之桥使用 Apache Kafka 中的数据,必须先建立到 Apache Kafka 的连接。有两种方法可以建立此连接:- 将 Apache Kafka 端口添加到工作流。然后,在 设置 选项卡中,单击连接下拉列表旁边的 创建。
- 打开知行之桥系统设置 页面,然后打开 连接 选项卡。点击 添加,选择 Apache Kafka,然后点击 下一步。
- 仅在第一次创建连接时才需要登录过程。
- 与 Apache Kafka 的连接可以跨多个 Apache Kafka 端口重复使用。
输入连接设置
打开新的连接对话框后,按照以下步骤操作:-
提供所需信息:
- 名称 — 连接的静态名称。
- 类型 — 始终设置为 Apache Kafka。
- 身份验证方案 — 用于连接的授权方案。选项有 Auto、None、Plain、Scram 和 Kerberos。
- 用户 —(除 None 之外的所有方案)用于登录的 Apache Kafka 用户名。
- 密码 — 上面输入用户的密码。
- Bootstrap Servers — 用于建立到 Apache Kafka 初始连接的主机/端口对。如果连接到 Confluent Cloud,可以在集群设置中找到此信息。
- 可选择点击 高级 以打开高级连接设置的下拉菜单。在大多数情况下,不需要这些设置。
- 点击 测试连接 以确保知行之桥可以使用提供的信息连接到 Apache Kafka。如果发生错误,请检查所有字段并重试。
- 点击 添加连接 以完成连接。
- 在端口配置窗格的 连接 下拉列表中,选择新建的连接。
- 在 Topic 字段中,输入要作为目标的 Apache Kafka 主题。
- 点击 保存更改。
高级 选项卡上还有特定于数据源的身份验证和配置选项。此文档并未描述所有这些选项,但你可以在知行软件网站的 在线帮助文件 页面找到数据源的详细信息。
选择操作
与 Apache Kafka 建立连接后,必须选择 Apache Kafka 端口应执行的操作。下表概述了每个操作及其在知行之桥工作流中的位置:生产
生产 操作将输入数据发送到 Apache Kafka。此数据可以来自其他端口,也可以来自你手动上传到 Apache Kafka 端口输入选项卡的文件。Apache Kafka 端口会将输入数据发送到你在 配置 部分的 Topic 字段中输入的主题。高级消息键和分区配置
Apache Kafka 端口在向 Kafka 主题生产消息时支持指定消息键和分区,从而在多分区环境中提供对消息分发和排序的细粒度控制。消息键配置
可以使用知行之桥消息头MessageKey 来指定 Kafka 消息键,或者通过 高级 选项卡中高级设置部分的 Key Header 字段来告知知行之桥使用输入消息上的哪个标头来确定消息键。此键决定消息发送到哪个分区,并确保分区内的消息排序。
分区配置
可以使用以下可选设置来控制哪个分区接收消息:- Partition Header: 定义端口用于设置分区的消息头。默认标头名称为
MessagePartition,但可以使用包含所需分区的任何消息头来覆盖它。 - Partition: 在 高级 选项卡的高级设置部分提供分区编号。
- 如果同时存在分区标头和特定分区编号,则消息头优先。
- 如果既没有指定消息键也没有指定分区,Kafka 将在目标主题的所有分区中分发消息。
消费
消费 操作会针对你在 配置 部分的 Topic 字段中输入的主题检查 Apache Kafka 队列中的消息。你必须为此操作设置以下字段:- Consumer Group ID:指定端口创建的消费者应该属于哪个组。
- Read Duration:端口等待消息到达的时间长度(以秒为单位)。无论收到的消息数量如何,端口都将等待整个持续时间。
其他连接配置
高级选项卡
高级设置
消息
日志
其他
其他设置用于特定用例。自动化选项卡
自动化设置
与端口自动处理文件相关的设置。性能
与端口资源分配相关的设置。警报选项卡
与配置警报和服务级别协议 (SLA) 相关的设置。端口电子邮件设置
在执行 SLA 之前,需要设置用于通知的电子邮件警报。点击 配置警报 会打开一个新的浏览器窗口并转到设置页面,你可以在其中设置系统范围的警报。有关更多信息,请参阅警报。服务级别协议 (SLA) 设置
SLA 允许你配置工作流中的端口预期发送或接收的数量,并设置期望满足该数量的时间范围。当 SLA 未满足时,知行之桥会发送电子邮件提醒用户,并将 SLA 标记为 At Risk,这意味着如果 SLA 很快仍未满足,它将被标记为 Violated。这让用户有机会介入并确定 SLA 未满足的原因,并采取适当措施。如果在风险期结束时 SLA 仍未满足,则 SLA 会被标记为违反,并再次通知用户。 要定义 SLA,请点击 添加预期数量条件。- 如果端口具有单独的发送和接收操作,请使用单选按钮指定 SLA 适用于哪个方向。
- 将 Expect at least 设置为你期望处理的最小交易数(数量),然后使用 Every 字段指定时间范围。
- 默认情况下,SLA 每天生效。要更改此设置,请取消选中 Everyday,然后选中所需的星期几。
- 使用 And set status to ‘At Risk’ 指定 SLA 应何时标记为存在风险。
- 默认情况下,只有当 SLA 违反时才发送通知。要更改此设置,请勾选 Send an ‘At Risk’ notification。

如有必要,可以关闭 SLA 警报。这在维护时段可能很有用。点击导航栏上的 设置,然后导航到 警报 > 常规警报。点击平板和铅笔图标进行编辑,并取消勾选 SLA 警报 设置。
宏
在文件命名策略中使用宏可以提高组织效率,并有助于理解数据上下文。通过在文件名中加入宏,可以动态包含标识符、时间戳和标头信息等相关信息,为每个文件提供有价值的上下文。这有助于确保文件名反映对组织很重要的详细信息。 知行之桥支持以下宏,它们都使用以下语法:%Macro%。
示例
某些宏(如 %Ext% 和 %ShortDate%)不需要参数,但其他宏需要参数。所有带参数的宏都使用以下语法:%Macro:argument%
以下是一些带参数宏的示例:
- %Header:headername%:其中
headername是消息上的标头名称。 - %Header:mycustomheader% 解析为输入消息上设置的
mycustomheader标头值。 - %Header:ponum% 解析为输入消息上设置的
ponum标头值。 - %RegexFilename:pattern%:其中
pattern是正则表达式模式。例如,%RegexFilename:^([\\w][A-Za-z]+)%匹配并解析为文件名中的第一个单词,且不区分大小写(test_file.xml解析为test)。 - %Vault:vaultitem%:其中
vaultitem是保管库中的项目名称。例如,%Vault:companyname%解析为保管库中存储的companyname项的值。 - %DateFormat:format%:其中
format是接受的日期格式(详情请参阅日期格式示例)。例如,%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%解析为文件上的日期和时间戳。
- 在一个文件名中组合多个宏:
%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT% - 在宏外包含文本:
MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff% - 在宏内包含文本:
%DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%