airflow.providers.amazon.aws.triggers.ecs

ClusterActiveTrigger

轮询集群状态直到其变为活跃。

ClusterInactiveTrigger

轮询集群状态直到其变为非活跃。

TaskDoneTrigger

等待一个 ECS 任务完成,并可选地轮询日志。

模块内容

class airflow.providers.amazon.aws.triggers.ecs.ClusterActiveTrigger(cluster_arn, waiter_delay, waiter_max_attempts, aws_conn_id, region_name=None, **kwargs)[源]

继承基类: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

轮询集群状态直到其变为活跃。

参数:
  • cluster_arn (str) – 要监视的集群的 ARN。

  • waiter_delay (int) – 每次尝试之间等待的时间(秒)。

  • waiter_max_attempts (int) – 轮询状态的最大尝试次数。达到该次数后若仍未成功将失败。

  • aws_conn_id (str | None) – 用于 AWS 凭据的 Airflow 连接 ID。

  • region_name (str | None) – 集群所在的 AWS 区域。

hook()[源]

在子类中重写以返回正确的 hook。

class airflow.providers.amazon.aws.triggers.ecs.ClusterInactiveTrigger(cluster_arn, waiter_delay, waiter_max_attempts, aws_conn_id, region_name=None, **kwargs)[源]

继承基类: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

轮询集群状态直到其变为非活跃。

参数:
  • cluster_arn (str) – 要监视的集群的 ARN。

  • waiter_delay (int) – 每次尝试之间等待的时间(秒)。

  • waiter_max_attempts (int) – 轮询状态的最大尝试次数。达到该次数后若仍未成功将失败。

  • aws_conn_id (str | None) – 用于 AWS 凭据的 Airflow 连接 ID。

  • region_name (str | None) – 集群所在的 AWS 区域。

hook()[源]

在子类中重写以返回正确的 hook。

class airflow.providers.amazon.aws.triggers.ecs.TaskDoneTrigger(cluster, task_arn, waiter_delay, waiter_max_attempts, aws_conn_id, region, log_group=None, log_stream=None)[源]

继承基类: airflow.triggers.base.BaseTrigger

等待一个 ECS 任务完成,并可选地轮询日志。

参数:
  • cluster (str) – 任务运行所在的集群的短名称或完整 ARN。

  • task_arn (str) – 要监视的任务的 ARN。

  • waiter_delay (int) – 每次尝试之间等待的时间(秒)。

  • waiter_max_attempts (int) – 轮询状态的最大尝试次数。达到该次数后若仍未成功将失败。

  • aws_conn_id (str | None) – 用于 AWS 凭据的 Airflow 连接 ID。

  • region (str | None) – 集群所在的 AWS 区域。

cluster[源]
task_arn[源]
waiter_delay[源]
waiter_max_attempts[源]
aws_conn_id[源]
region[源]
log_group = None[源]
log_stream =None[源]
serialize()[源]

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

返回:

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

返回类型:

tuple[str, dict[str, Any]]

async run()[源]

在异步上下文中运行 trigger。

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

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

在任何情况下,Trigger 类都应假定它们将被持久化,然后在不再需要时依赖于 cleanup() 方法的调用。

此条目是否有帮助?