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)[source]¶
基类:
airflow.providers.slack.transfers.base_sql_to_slack.BaseSqlToSlackOperator
在给定的 SQL 连接中执行 SQL 语句,并将结果发送到 Slack Incoming Webhook。
查询结果会使用名为 '{{ results_df }}' 的 JINJA 变量,以 Pandas 数据框的形式渲染到 'slack_message' 参数中。可以通过指定不同的 'results_df_name' 参数来更改 'results_df' 变量名。Tabulate 库被添加到 JINJA 环境中作为过滤器,以允许数据框被美观地渲染。例如,将 '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 数据框
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 模板的数据框变量的名称,默认为 'results_df'
parameters (list | tuple | collections.abc.Mapping[str, Any] | None) – 要传递给 SQL 查询的参数
- template_fields: collections.abc.Sequence[str] = ('sql', 'slack_message')[source]¶
- template_ext: collections.abc.Sequence[str] = ('.sql', '.jinja', '.j2')[source]¶