airflow.providers.slack.operators.slack¶
类¶
基础 Slack Operator 类。 |
|
发送消息到 Slack 频道。 |
|
发送文件到 Slack 频道。 |
模块内容¶
- class airflow.providers.slack.operators.slack.SlackAPIOperator(*, slack_conn_id=SlackHook.default_conn_name, method, api_params=None, base_url=None, proxy=None, timeout=None, retry_handlers=None, **kwargs)[source]¶
基类:
airflow.models.BaseOperator
基础 Slack Operator 类。
- 参数:
slack_conn_id (str) – Slack API 连接,其密码为 Slack API token。
method (str) – 要调用的 Slack API 方法 (https://api.slack.com/methods)。
api_params (dict | None) – API 方法调用参数 (https://api.slack.com/methods)。 可选
timeout (int | None) – 客户端等待连接并接收 Slack 响应的最大秒数。 可选
base_url (str | None) – 表示 Slack API 基本 URL 的字符串。 可选
proxy (str | None) – 用于进行 Slack API 调用的代理。 可选
retry_handlers (list[slack_sdk.http_retry.RetryHandler] | None) – 用于自定义
slack_sdk.WebClient
中重试逻辑的处理程序列表。 可选
- 属性 hook: airflow.providers.slack.hooks.slack.SlackHook[source]¶
Slack Hook。
- 抽象方法 construct_api_call_params()[source]¶
构造由 execute 函数使用的 API 调用参数。
允许在构造之前对
api_call_params
字典的源字段进行模板化。子类应重写此方法。 每个 SlackAPIOperator 子类都负责通过一个包含 API 调用参数的字典 (https://api.slack.com/methods) 来设置
self.api_call_params
。
- 类 airflow.providers.slack.operators.slack.SlackAPIPostOperator(channel='#general', username='Airflow', text='No message has been set.\nHere is a cat video instead\nhttps://www.youtube.com/watch?v=J---aiyznGQ', icon_url='https://raw.githubusercontent.com/apache/airflow/main/airflow-core/src/airflow/ui/public/pin_100.png', blocks=None, attachments=None, **kwargs)[source]¶
基类:
SlackAPIOperator
发送消息到 Slack 频道。
slack = SlackAPIPostOperator( task_id="post_hello", dag=dag, text="hello there!", channel="#random", )
- 参数:
channel (str) – 用于在 Slack 上发布消息的频道名称 (#general) 或 ID (C12318391)。 (模板化)
username (str) – Airflow 将用作发布到 Slack 的用户名。 (模板化)
text (str) – 要发送到 Slack 的消息。 (模板化)
icon_url (str) – 用于此消息的图标 URL
blocks (list | None) – 要随消息一起发送的 block 列表。 (模板化) 参阅 https://api.slack.com/reference/block-kit/blocks
attachments (list | None) – (旧版) 要随消息一起发送的 attachment 列表。 (模板化) 参阅 https://api.slack.com/docs/attachments
- 模板字段: collections.abc.Sequence[str] = ('username', 'text', 'attachments', 'blocks', 'channel')[source]¶
- text = Multiline-String[source]¶
显示值
"""No message has been set. Here is a cat video instead https://www.youtube.com/watch?v=J---aiyznGQ"""
- icon_url = 'https://raw.githubusercontent.com/apache/airflow/main/airflow-core/src/airflow/ui/public/pin_100.png'[source]¶
- construct_api_call_params()[source]¶
构造由 execute 函数使用的 API 调用参数。
允许在构造之前对
api_call_params
字典的源字段进行模板化。子类应重写此方法。 每个 SlackAPIOperator 子类都负责通过一个包含 API 调用参数的字典 (https://api.slack.com/methods) 来设置
self.api_call_params
。
- 类 airflow.providers.slack.operators.slack.SlackAPIFileOperator(channels=None, initial_comment=None, filename=None, filetype=None, content=None, title=None, method_version='v2', snippet_type=None, **kwargs)[source]¶
基类:
SlackAPIOperator
发送文件到 Slack 频道。
# Send file with filename and filetype slack_operator_file = SlackAPIFileOperator( task_id="slack_file_upload_1", dag=dag, slack_conn_id="slack", channels="#general,#random", initial_comment="Hello World!", filename="/files/dags/test.txt", filetype="txt", ) # Send file content slack_operator_file_content = SlackAPIFileOperator( task_id="slack_file_upload_2", dag=dag, slack_conn_id="slack", channels="#general", initial_comment="Hello World!", content="file content in txt", )
- 参数:
channels (str | collections.abc.Sequence[str] | None) – 文件将被共享的频道名称或 ID 的逗号分隔列表。如果将此参数设置为 None,则文件将发送到关联的工作区。 (模板化)
initial_comment (str | None) – 要发送到 Slack 的消息。 (模板化)
filename (str | None) – 文件名 (模板化)
filetype (str | None) – Slack 文件类型。 (模板化) 参阅: https://api.slack.com/types/file#file_types
content (str | None) – 文件内容。 (模板化)
title (str | None) – 文件标题。 (模板化)
snippet_type (str | None) – 上传的 snippet 的语法类型。(模板化)
method_version (typing_extensions.Literal[v1, v2]) – 要使用的 Slack SDK 客户端方法的版本,可以是“v1”或“v2”。
- 模板字段: collections.abc.Sequence[str] = ('channels', 'initial_comment', 'filename', 'filetype', 'content', 'title', 'snippet_type')[source]¶