ConsumeSlack 2025.5.31.15¶
捆绑包¶
org.apache.nifi | nifi-slack-nar
描述¶
从已配置的一个或多个 Slack 通道中检索消息。这些消息采用 JSON 格式编写。有关如何配置此处理器并使其能够从 Slack 检索消息的更多信息,请参阅“用法/其他详细信息”。
输入要求¶
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 格式 |