airflow.providers.amazon.aws.triggers.ec2

模块内容

EC2StateSensorTrigger

轮询 EC2 实例,一旦实例状态与 target_state 匹配,则产生一个 TriggerEvent。

class airflow.providers.amazon.aws.triggers.ec2.EC2StateSensorTrigger(instance_id, target_state, aws_conn_id='aws_default', region_name=None, poll_interval=60)[源代码]

基类: airflow.triggers.base.BaseTrigger

轮询 EC2 实例,一旦实例状态与 target_state 匹配,则产生一个 TriggerEvent。

参数
  • instance_id (str) – AWS EC2 实例的 ID

  • target_state (str) – 实例的目标状态

  • aws_conn_id (str | None) – 用于 AWS 凭证的 Airflow 连接。如果此项为 None 或空,则使用默认的 boto3 行为。如果在分布式环境中运行 Airflow,且 aws_conn_id 为 None 或空,则会使用默认的 boto3 配置(并且必须在每个工作节点上维护)。

  • region_name (str | None) – (可选)与客户端关联的 AWS 区域名称

  • poll_interval (int) – 尝试下一次轮询前等待的秒数

serialize()[源代码]

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

返回

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

返回类型

tuple[str, dict[str, Any]]

hook()[源代码]
async run()[源代码]

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

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

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

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

此条目是否有帮助?