airflow.providers.slack.transfers.sql_to_slack_webhook
¶
模組內容¶
類別¶
在指定的 SQL 連線中執行 SQL 語句,並將結果傳送到 Slack Incoming Webhook。 |
- class airflow.providers.slack.transfers.sql_to_slack_webhook.SqlToSlackWebhookOperator(*, sql, sql_conn_id, slack_webhook_conn_id=None, sql_hook_params=None, slack_channel=None, slack_message, results_df_name='results_df', parameters=None, **kwargs)[原始碼]¶
基底類別:
airflow.providers.slack.transfers.base_sql_to_slack.BaseSqlToSlackOperator
在指定的 SQL 連線中執行 SQL 語句,並將結果傳送到 Slack Incoming Webhook。
查詢結果會使用名為 '{{ results_df }}' 的 JINJA 變數,以 Pandas dataframe 的形式呈現到 'slack_message' 參數中。可以透過指定不同的 'results_df_name' 參數來變更 'results_df' 變數名稱。Tabulate 函式庫已新增至 JINJA 環境作為篩選器,以便 dataframe 能夠美觀地呈現。例如,將 'slack_message' 設定為 {{ results_df | tabulate(tablefmt=”pretty”, headers=”keys”) }},即可將結果以 ascii 呈現的表格傳送到 Slack。
參見
如需更多關於如何使用此運算子的資訊,請參閱指南:SqlToSlackWebhookOperator
注意
您無法覆寫預設頻道(由安裝您應用程式的使用者選擇),相反地,這些值將始終繼承自相關聯的 Slack 應用程式設定 (連結)。只有在 Legacy Slack Integration Incoming Webhook 中才能變更這些值。
警告
此 Hook 旨在搭配 Slack Incoming Webhook 連線使用,並且可能無法與 Slack API 連線正常運作。
- 參數
sql (str) – 要執行的 SQL 查詢 (已套用範本)
slack_message (str) – 要與從 SQL 連線傳回的資料一起傳送的範本化 Slack 訊息。您可以使用預設的 JINJA 變數 {{ results_df }} 來存取包含 SQL 結果的 pandas dataframe
sql_conn_id (str) – 特定資料庫的參考。
sql_hook_params (dict | None) – 要傳遞至底層 Hook 的額外設定參數。應符合所需的 Hook 建構函式參數。
slack_webhook_conn_id (str | None) – Slack Incoming Webhook 連線 ID,其密碼欄位中具有 Incoming Webhook 權杖。
slack_channel (str | None) – 要傳送訊息的頻道。
results_df_name (str) – JINJA 範本的 dataframe 變數名稱,預設為 'results_df'
parameters (list | tuple | collections.abc.Mapping[str, Any] | None) – 要傳遞至 SQL 查詢的參數
- template_fields: collections.abc.Sequence[str] = ('sql', 'slack_message')[原始碼]¶
- template_ext: collections.abc.Sequence[str] = ('.sql', '.jinja', '.j2')[原始碼]¶