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