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,您應該檢查您的應用程式是否具有適當的 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},
)

此條目是否有幫助?