ConsumeSlack 2025.5.31.15

捆绑包

org.apache.nifi | nifi-slack-nar

描述

从已配置的一个或多个 Slack 通道中检索消息。这些消息采用 JSON 格式编写。有关如何配置此处理器并使其能够从 Slack 检索消息的更多信息,请参阅“用法/其他详细信息”。

标签

conversation、conversation.history、slack、social media、team、text、unstructured

输入要求

FORBIDDEN

支持敏感的动态属性

false

属性

属性

描述

访问令牌

用于认证/授权 NiFi 发送的 Slack 请求的 OAuth 访问令牌。这可以是用户令牌或机器人令牌。根据所使用的会话类型,必须授予以下范围之一:channels:history、groups:history、im:history 或 mpim:history scope。

批处理大小

通过向 Slack 发出的单个请求可以检索的最大消息数量。整个响应都会被解析到内存中,在设置此值时务必考虑到这一点。

通道

逗号分隔形式的 Slack 通道列表,指明要从中检索消息的频道。列表中的每个元素可以是频道 ID,例如 C0L9VCD47,也可以是频道名称(仅适用于公开频道),使用 # 符号作为前缀,例如 #general。如果改为提供频道名称,而非 ID,则必须向提供的访问令牌授予 channels:read 范围,这样才能解析频道 ID。有关如何查找频道 ID 的信息,请参阅处理器的“其他详细信息”。

包括消息块

指定输出 JSON 是否应包含每条 Slack 消息的“block”字段的值。此字段包括诸如使用富文本格式的消息的各部分之类的信息。例如,这可能对解析非常有用。但它通常占数据中很大一部分,因此在对您没有用处时,它可能会被设置为 null。

包括 Null 字段

指定输出 JSON 中是否应包含 null 值的字段。如果为 true,则 Slack 消息中任何值为 null 的字段都将包含在 JSON 中。如果为 false,则输出 JSON 中将完全省略该密钥。省略 null 值会生成较小的消息,这些消息的处理效率通常更高,但是包含这些值可以更好地理解格式,对于架构推断尤其有用。

回复监控频率

在使用一个给定频道中的所有消息后,该处理器将定期轮询时间戳介于现在和 <Reply Monitor Window> 属性指定时间之间的所有“对话串消息”(即回复)。此属性决定轮询这些消息的频率。将此值设置为较短的持续时间可能会更快地获取对消息的回复,从而降低延迟。但这也会消耗额外的资源,并可能触发速率限制。

回复监控窗口

在使用一个给定频道中的所有消息后,该处理器将定期轮询其时间戳介于现在和过去这段时间之间的所有“对话串消息”(即回复),以检查是否有任何新回复。将此值设置为更大的值可能会消耗额外的资源,并可能导致速率限制。但如果用户回复在此时间窗口之外启动的旧对话串,则可能无法获取回复。

解析用户名

指定是否应将用户 IDs 解析为用户名。默认情况下,Slack 消息提供发送消息的用户的 ID,例如 U0123456789,但不会提供用户名,例如 NiFiUser。用户名可能已解析,但可能需要对 Slack API 进行额外调用,并需要将所用令牌授予 users:read 范围。如果设置为 true,则将使用“尽力而为”的策略解析用户名:如果无法获取用户名,则会跳过该用户名。另请注意,获取用户名后,系统会填充消息的 <username> 字段,还会更新 <text> 字段,因此会输出任何提及的内容,例如“Hi @user”,而非“Hi <@U1234567>”。

状态管理

范围

描述

CLUSTER

维护 Slack 通道 IDs 与为该频道检索的最后一条消息的时间戳之间的映射。这允许处理器仅检索自上次运行处理器以来发布的消息。此状态会存储在集群中,因此,如果主节点发生变化,新节点将从上一个节点中断的地方继续。

关系

名称

描述

success

成功接收的 Slack 消息将路由到此关系

写入属性

名称

描述

slack.channel.id

从中检索消息的 Slack 通道的 ID

slack.message.count

FlowFile 中包含的 slack 消息的数量

mime.type

设置为 application/json,因为输出将始终采用 JSON 格式

另请参阅

语言: 中文