airflow.providers.amazon.aws.triggers.base

AwsBaseWaiterTrigger

所有遵循“标准”模式(仅等待 waiter)的 AWS Trigger 的基类。

模块内容

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, waiter_config_overrides=None, aws_conn_id, region_name=None, verify=None, botocore_config=None)[source]

基类: airflow.triggers.base.BaseTrigger

所有遵循“标准”模式(仅等待 waiter)的 AWS Trigger 的基类。

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

参数:
  • serialized_fields (dict[str, Any]) – 特定于子类 trigger 的字段,需要序列化并在反序列化时传递给 __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) – 最大尝试次数。

  • waiter_config_overrides (dict[str, Any] | None) – 一个字典,用于更新 waiter 的默认配置。仅更新指定的键。

  • 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

serialized_fields[source]
waiter_name[source]
waiter_args[source]
failure_message[source]
status_message[source]
status_queries[source]
waiter_config_overrides = None[source]
return_key = 'value'[source]
return_value[source]
waiter_delay[source]
attempts[source]
aws_conn_id[source]
region_name = None[source]
verify = None[source]
botocore_config = None[source]
serialize()[source]

返回重建此 Trigger 所需的信息。

返回:

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

返回类型:

tuple[str, dict[str, Any]]

abstract hook()[source]

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

async run()[source]

在异步上下文中运行 trigger。

trigger 应该在想要触发事件时 yield 一个 Event,并在完成时返回 None。因此,单事件 trigger 应该先 yield 然后立即返回。

如果它 yield,很可能会很快恢复,但也可能不会(例如,如果工作负载正在转移到另一个 triggerer 进程,或者多事件 trigger 用于单事件任务延迟)。

无论哪种情况,Trigger 类都应假定它们会被持久化,并在不再需要时依赖 cleanup() 被调用。

此条目有帮助吗?