airflow.providers.amazon.aws.triggers.base

模块内容

AwsBaseWaiterTrigger

所有 AWS 触发器的基类,这些触发器遵循仅等待 waiter 的“标准”模型。

class airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger(*, serialized_fields, waiter_name, waiter_args, failure_message, status_message, status_queries, return_key='value', return_value, waiter_delay, waiter_max_attempts, aws_conn_id, region_name=None, verify=None, botocore_config=None)[源代码]

基类: airflow.triggers.base.BaseTrigger

所有 AWS 触发器的基类,这些触发器遵循仅等待 waiter 的“标准”模型。

子类需要实现 hook() 方法。

参数
  • serialized_fields (dict[str, Any]) – 子类触发器特有的字段,需要在反序列化时序列化以传递给 __init__ 方法。连接 ID、区域以及 waiter 延迟和尝试次数始终被序列化。格式:{<parameter_name>: <parameter_value>}

  • waiter_name (str) – 要使用的(可能是自定义的)boto waiter 的名称。

  • waiter_args (dict[str, Any]) – 要传递给 waiter 的参数。

  • failure_message (str) – 如果达到失败状态要记录的消息。

  • status_message (str) – 打印服务状态时记录的消息。

  • status_queries (list[str]) – 包含 JMESPath 查询的列表,用于从 waiter 响应中检索状态信息。请参阅 https://jmespath.org/tutorial.html

  • return_key (str) – 在成功时,此触发器发出的 TriggerEvent 中用于 return_value 的键。默认为“value”。

  • return_value (Any) – 将在 TriggerEvent 的 return_key 字段中返回的值。如果没有要返回的内容,则设置为 None。

  • waiter_delay (int) – 尝试之间等待的时间(以秒为单位)。

  • waiter_max_attempts (int) – 要尝试的最大次数。

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。用于构建 hook。

  • region_name (str | None) – 要监视的资源所在的 AWS 区域。用于构建 hook。

  • verify (bool | str | None) – 是否验证 SSL 证书。用于构建 hook。请参阅: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html

  • botocore_config (dict | None) – botocore 客户端的配置字典(键值对)。用于构建 hook。有关可用键值对,请参阅: https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html

serialize()[源代码]

返回重建此触发器所需的信息。

返回

(类路径,重新实例化所需的关键字参数)的元组。

返回类型

tuple[str, dict[str, Any]]

abstract hook()[源代码]

在子类中覆盖以返回正确的 hook。

async run()[源代码]

在异步上下文中运行触发器。

触发器应在想要触发事件时生成 Event,并在完成后返回 None。因此,单事件触发器应先生成,然后立即返回。

如果它生成,则很可能会很快恢复,但也可能不会(例如,如果工作负载正在移动到另一个触发器进程,或者将多事件触发器用于单事件任务延迟)。

在任何一种情况下,触发器类都应假设它们将被持久化,然后依赖 cleanup() 在不再需要时被调用。

此条目是否有帮助?