65. Slack 源
从 Slack 频道接收消息。
65.1. Slack Source Kamelet Description 复制链接链接已复制到粘贴板!
65.1.1. 身份验证 复制链接链接已复制到粘贴板!
此 Kamelet 需要 Slack 应用程序令牌进行身份验证。您需要创建一个 Slack 应用程序,并获取访问频道和消息所需的权限。
65.1.2. 配置 复制链接链接已复制到粘贴板!
Slack Source Kamelet 支持以下配置:
- 令牌 :Slack app token for authentication (必需)
- 频道 :Slack 频道来监控(必需)
- 服务器 URL :Slack API 服务器 URL (可选,默认为 Slack 的 API)
- delay: 检查新消息的时间间隔(以毫秒为单位)
- Max Results: 每个轮询检索的最大消息数
65.1.3. 输出格式 复制链接链接已复制到粘贴板!
Kamelet 将 Slack 消息作为 JSON 对象输出,其中包含消息内容、用户信息、时间戳和频道详情。
65.1.4. 设置要求 复制链接链接已复制到粘贴板!
- 在工作区中创建 Slack 应用程序
- 添加所需的 OAuth 范围(channels:history, channels:read)
- 将应用程序安装到工作区
- 复制 OAuth 访问令牌
65.1.5. 使用示例 复制链接链接已复制到粘贴板!
- route:
from:
uri: "kamelet:slack-source"
parameters:
token: "xoxb-your-slack-bot-token"
channel: "#general"
delay: 10000
steps:
- to:
uri: "kamelet:log-sink"
65.1.6. 带有特定频道 ID 的示例 复制链接链接已复制到粘贴板!
- route:
from:
uri: "kamelet:slack-source"
parameters:
token: "xoxb-your-slack-bot-token"
channel: "C1234567890"
delay: 5000
maxResults: 50
steps:
- to:
uri: "kamelet:log-sink"
65.1.7. 监控多个 Aspects 示例 复制链接链接已复制到粘贴板!
- route:
from:
uri: "kamelet:slack-source"
parameters:
token: "xoxb-your-slack-bot-token"
channel: "#alerts"
delay: 30000
steps:
- filter:
simple: "${body.contains('ERROR')}"
- to:
uri: "kamelet:log-sink"
65.1.8. 安全注意事项 复制链接链接已复制到粘贴板!
- 安全地存储 Slack 令牌作为 secret
- 使用适当的 OAuth 范围来限制访问
- 监控令牌使用情况并定期轮转令牌
- 考虑将 Slack 的实时消息 API 用于高频率场景
65.2. 配置选项 复制链接链接已复制到粘贴板!
下表总结了 slack-source Kamelet 可用的选项:
| 属性 | 名称 | 描述 | 类型 | 默认 | 示例 |
|---|---|---|---|---|---|
| channel * | Channel | 用于接收信息的 Slack 频道。 | string | #myroom | |
| token * | 令牌 |
Bot 用户 OAuth 访问令牌来访问 Slack。需要具有以下权限的 Slack 应用程序: | string | ||
| delay | delay | 轮询之间的延迟。如果没有提供单位,则默认为毫秒。 | string | 60000 | 60s 或 6000 或 1m |
| naturalOrder | 自然顺序 | 以自然顺序创建交换(最旧的到最新)或未创建交换。 | 布尔值 | False | |
| serverUrl | 服务器 URL | Slack API 服务器端点 URL。 | string |
* = 标记为星号的字段 是必需的。
65.3. 依赖项 复制链接链接已复制到粘贴板!
在运行时,slack-source Kamelet 依赖于以下依赖项:
<dependencies>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-gson</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-kamelet</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifact>camel-quarkus-slack</artifact>
</dependency>
<dependency>
<groupId>org.apache.camel.kamelets</groupId>
<artifact>camel-kamelets-utils</artifact>
<version>{kamelets-utils-version}</version>
</dependency>
</dependencies>
65.4. kamelets 源文件 复制链接链接已复制到粘贴板!
https://github.com/apache/camel-kamelets/blob/4.14.x/kamelets/slack-source.kamelet.yaml