SqlToSlackApiFileOperator

使用 SqlToSlackApiFileOperator 通过 Slack API 将查询结果作为文件发布到一个或多个 Slack 频道。

使用运算符

注意

运算符支持两种文件上传方法,由 slack_method_version 控制,默认使用 Slack SDK 方法 upload_files_v2,也可以通过将 slack_method_version 设置为 v1 来使用旧版 upload_files 方法,但是不建议这样做,因为它可能会影响性能、导致随机 API 错误,并且将于 2025 年 3 月 11 日停用,此外,从 2024 年 5 月 8 日起,新创建的应用将无法使用此 API 方法。

如果您之前使用 v1,应检查您的应用是否具有适当的权限范围(scopes)

  • 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 的使用示例如下

tests/system/slack/example_sql_to_slack.py

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},
)

此条目是否有帮助?