SqlToSlackApiFileOperator¶
使用 SqlToSlackApiFileOperator
通过 Slack API 将查询结果以文件形式发布到 Slack 频道。
使用操作符¶
注意
操作符支持两种上传文件的方法,由 slack_method_version
控制。默认情况下,它使用 Slack SDK 方法 upload_files_v2
。可以通过设置 v1
到 slack_method_version
来使用旧的 upload_files
方法。但是,不建议这样做,因为它可能会影响性能,导致随机 API 错误,并且将在 2025 年 3 月 11 日被淘汰。此外,从 2024 年 5 月 8 日开始,新创建的应用程序将无法使用此 API 方法。
如果您之前使用 v1
,您应该检查您的应用程序是否具有适当的范围
files:write - 用于写入文件。
files:read - 用于读取文件(如果您使用 Slack SDK >= 3.23.0,则不需要)。
channels:read - 获取公共频道列表,用于将频道名称转换为频道 ID。
groups:read - 获取私有频道列表,用于将频道名称转换为频道 ID。
mpim:read - API 方法 conversations.list 的额外权限
im:read - API 方法 conversations.list 的额外权限
此操作符将在提供的 SQL 连接中执行自定义查询,并将文件发布到 Slack 频道。
以下是 SqlToSlackApiFileOperator 的示例用法
SqlToSlackApiFileOperator(
task_id="sql_to_slack_api_file",
sql_conn_id=SQL_CONN_ID,
sql="SELECT 6 as multiplier, 9 as multiplicand, 42 as answer",
slack_channels="C123456",
slack_conn_id="slack_api_default",
slack_filename="awesome.json.gz",
slack_initial_comment="Awesome compressed multiline JSON.",
df_kwargs={"orient": "records", "lines": True},
)