airflow.providers.slack.transfers.sql_to_slack_webhook

模組內容

類別

SqlToSlackWebhookOperator

在指定的 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')[原始碼]
template_fields_renderers[原始碼]
times_rendered = 0[原始碼]
render_template_fields(context, jinja_env=None)[原始碼]

範本化 self.template_fields 中列出的所有屬性。

這會就地變更屬性,且不可逆。

參數
  • context – 具有要套用至內容的值的 Context dict。

  • jinja_env – 用於呈現的 Jinja 環境。

execute(context)[原始碼]

在建立運算子時衍生。

Context 與呈現 jinja 範本時使用的字典相同。

請參閱 get_template_context 以取得更多 Context。

這個條目有幫助嗎?