airflow.providers.amazon.aws.triggers.eks

EksCreateClusterTrigger

EksCreateClusterOperator 的触发器。

EksDeleteClusterTrigger

EksDeleteClusterOperator 的触发器。

EksCreateFargateProfileTrigger

异步等待 fargate profile 创建完成。

EksDeleteFargateProfileTrigger

异步等待 fargate profile 删除完成。

EksCreateNodegroupTrigger

EksCreateNodegroupOperator 的触发器。

EksDeleteNodegroupTrigger

EksDeleteNodegroupOperator 的触发器。

模块内容

class airflow.providers.amazon.aws.triggers.eks.EksCreateClusterTrigger(cluster_name, waiter_delay, waiter_max_attempts, aws_conn_id, region_name=None)[source]

Bases: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

EksCreateClusterOperator 的触发器。

此触发器将异步等待集群创建完成。

参数:
  • cluster_name (str) – EKS 集群的名称

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

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

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

  • region_name (str | None) – 连接应使用的 AWS 区域。如果为 None 或空字符串,则使用 boto3 的默认行为。

hook()[source]

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

async run()[source]

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

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

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

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

class airflow.providers.amazon.aws.triggers.eks.EksDeleteClusterTrigger(cluster_name, waiter_delay, waiter_max_attempts, aws_conn_id, region_name, force_delete_compute)[source]

Bases: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

EksDeleteClusterOperator 的触发器。

此触发器将异步等待集群删除完成。如果集群有关联的 nodegroups 或 fargate profiles,它们将在集群删除前被删除。

参数:
  • cluster_name – EKS 集群的名称

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

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

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

  • region_name (str | None) – 连接应使用的 AWS 区域。如果为 None 或空字符串,则使用 boto3 的默认行为。

  • force_delete_compute (bool) – 如果为 True,则与集群关联的任何 nodegroups 或 fargate profiles 都将在集群删除前被删除。

cluster_name[source]
waiter_delay[source]
waiter_max_attempts[source]
aws_conn_id[source]
region_name[source]
force_delete_compute[source]
serialize()[source]

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

返回:

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

返回类型:

tuple[str, dict[str, Any]]

hook()[source]

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

async run()[source]

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

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

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

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

async delete_any_nodegroups(client)[source]

删除给定 Amazon EKS 集群的所有 EKS Nodegroups。

所有 EKS Nodegroups 同时删除。我们等待所有 Nodegroups 删除完成后才返回。

async delete_any_fargate_profiles(client)[source]

删除给定 Amazon EKS 集群的所有 EKS Fargate profiles。

EKS Fargate profiles 必须逐个删除,因此我们必须等待一个删除完成后才能发送下一个删除命令。

class airflow.providers.amazon.aws.triggers.eks.EksCreateFargateProfileTrigger(cluster_name, fargate_profile_name, waiter_delay, waiter_max_attempts, aws_conn_id, region_name=None)[source]

Bases: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

异步等待 fargate profile 创建完成。

参数:
  • cluster_name (str) – EKS 集群的名称

  • fargate_profile_name (str) – fargate profile 的名称

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

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

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

hook()[source]

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

class airflow.providers.amazon.aws.triggers.eks.EksDeleteFargateProfileTrigger(cluster_name, fargate_profile_name, waiter_delay, waiter_max_attempts, aws_conn_id, region_name=None)[source]

Bases: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

异步等待 fargate profile 删除完成。

参数:
  • cluster_name (str) – EKS 集群的名称

  • fargate_profile_name (str) – fargate profile 的名称

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

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

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

hook()[source]

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

class airflow.providers.amazon.aws.triggers.eks.EksCreateNodegroupTrigger(cluster_name, nodegroup_name, waiter_delay, waiter_max_attempts, aws_conn_id, region_name=None)[source]

Bases: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

EksCreateNodegroupOperator 的触发器。

此触发器将异步轮询 boto3 API,并等待 nodegroup 进入 waiter 指定的状态。

参数:
  • cluster_name (str) – 与节点组关联的 EKS 集群名称。

  • nodegroup_name (str) – 要检查的 nodegroup 名称。

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

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

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

  • region_name (str | None) – 连接应使用的 AWS 区域。(templated) 如果为 None 或空字符串,则使用 boto3 的默认行为。

hook()[source]

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

class airflow.providers.amazon.aws.triggers.eks.EksDeleteNodegroupTrigger(cluster_name, nodegroup_name, waiter_delay, waiter_max_attempts, aws_conn_id, region_name=None)[source]

Bases: airflow.providers.amazon.aws.triggers.base.AwsBaseWaiterTrigger

EksDeleteNodegroupOperator 的触发器。

此触发器将异步轮询 boto3 API,并等待 nodegroup 进入 waiter 指定的状态。

参数:
  • cluster_name (str) – 与节点组关联的 EKS 集群名称。

  • nodegroup_name (str) – 要检查的 nodegroup 名称。

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

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

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

  • region_name (str | None) – 连接应使用的 AWS 区域。(templated) 如果为 None 或空字符串,则使用 boto3 的默认行为。

hook()[source]

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

此条目有帮助吗?