ConsumeSlackConversation 2025.5.31.15

捆绑包

com.snowflake.openflow.runtime | runtime-slack-processors-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 发出的单个请求可以检索的最大消息数量。整个响应都会被解析到内存中,在设置此值时务必考虑到这一点。

回复监控频率

在使用一个给定频道中的所有消息后,该处理器将定期轮询时间戳介于现在和 <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 格式

语言: 中文