airflow.providers.amazon.aws.operators.ecs
¶
模块内容¶
类¶
这是所有弹性容器服务操作符的基本操作符。 |
|
创建 AWS ECS 集群。 |
|
删除 AWS ECS 集群。 |
|
在 AWS ECS 上取消注册任务定义。 |
|
在 AWS ECS 上注册任务定义。 |
|
在 AWS ECS(弹性容器服务)上执行任务。 |
- class airflow.providers.amazon.aws.operators.ecs.EcsBaseOperator(*, aws_conn_id='aws_default', region_name=None, verify=None, botocore_config=None, region=NOTSET, **kwargs)[源代码]¶
基类:
airflow.providers.amazon.aws.operators.base_aws.AwsBaseOperator
[airflow.providers.amazon.aws.hooks.ecs.EcsHook
]这是所有弹性容器服务操作符的基本操作符。
- class airflow.providers.amazon.aws.operators.ecs.EcsCreateClusterOperator(*, cluster_name, create_cluster_kwargs=None, wait_for_completion=True, waiter_delay=15, waiter_max_attempts=60, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[源代码]¶
-
创建 AWS ECS 集群。
参见
有关如何使用此操作符的更多信息,请查看指南:创建 AWS ECS 集群
- 参数
cluster_name (str) – 您的集群的名称。如果未指定集群的名称,则会创建一个名为 default 的集群。
create_cluster_kwargs (dict | None) – 用于集群创建的额外参数。
wait_for_completion (bool) – 如果为 True,则等待集群创建完成。(默认值:True)
waiter_delay (int) – 如果未设置,则默认使用等待器值,即尝试之间等待的秒数。
waiter_max_attempts (int) – 如果未设置,则默认使用等待器值,即尝试的最大次数。
deferrable (bool) – 如果为 True,则操作符将异步等待作业完成。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认值:False)
- template_fields: collections.abc.Sequence[str][源代码]¶
- class airflow.providers.amazon.aws.operators.ecs.EcsDeleteClusterOperator(*, cluster_name, wait_for_completion=True, waiter_delay=15, waiter_max_attempts=60, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[源代码]¶
-
删除 AWS ECS 集群。
参见
有关如何使用此操作符的更多信息,请查看指南:删除 AWS ECS 集群
- 参数
cluster_name (str) – 要删除的集群的短名称或完整的 Amazon 资源名称 (ARN)。
wait_for_completion (bool) – 如果为 True,则等待集群创建完成。(默认值:True)
waiter_delay (int) – 如果未设置,则默认使用等待器值,即尝试之间等待的秒数。
waiter_max_attempts (int) – 如果未设置,则默认使用等待器值,即尝试的最大次数。
deferrable (bool) – 如果为 True,则操作符将异步等待作业完成。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认值:False)
- template_fields: collections.abc.Sequence[str] = ('cluster_name', 'wait_for_completion', 'deferrable')[源代码]¶
- class airflow.providers.amazon.aws.operators.ecs.EcsDeregisterTaskDefinitionOperator(*, task_definition, **kwargs)[源代码]¶
-
在 AWS ECS 上取消注册任务定义。
参见
有关如何使用此操作符的更多信息,请查看以下指南:注销任务定义
- 参数
task_definition (str) – 要注销的任务定义的系列和修订版(family:revision)或完整的 Amazon 资源名称 (ARN)。如果您使用系列名称,则必须指定修订版。
- template_fields: collections.abc.Sequence[str] = ('task_definition',)[源代码]¶
- class airflow.providers.amazon.aws.operators.ecs.EcsRegisterTaskDefinitionOperator(*, family, container_definitions, register_task_kwargs=None, **kwargs)[源代码]¶
-
在 AWS ECS 上注册任务定义。
参见
有关如何使用此操作符的更多信息,请查看以下指南:注册任务定义
- 参数
family (str) – 要创建的任务定义的系列名称。
container_definitions (list[dict]) – 以 JSON 格式表示的容器定义列表,描述组成您的任务的不同容器。
register_task_kwargs (dict | None) – 注册任务定义的额外参数。
- template_fields: collections.abc.Sequence[str] = ('family', 'container_definitions', 'register_task_kwargs')[源代码]¶
- class airflow.providers.amazon.aws.operators.ecs.EcsRunTaskOperator(*, task_definition, cluster, overrides, launch_type='EC2', capacity_provider_strategy=None, volume_configurations=None, group=None, placement_constraints=None, placement_strategy=None, platform_version=None, network_configuration=None, tags=None, awslogs_group=None, awslogs_region=None, awslogs_stream_prefix=None, awslogs_fetch_interval=timedelta(seconds=30), propagate_tags=None, quota_retry=None, reattach=False, number_logs_exception=10, wait_for_completion=True, waiter_delay=6, waiter_max_attempts=1000000, deferrable=conf.getboolean('operators', 'default_deferrable', fallback=False), **kwargs)[源代码]¶
-
在 AWS ECS(弹性容器服务)上执行任务。
参见
有关如何使用此操作符的更多信息,请查看以下指南:运行任务定义
- 参数
task_definition (str) – Elastic Container Service 上的任务定义名称
cluster (str) – Elastic Container Service 上的集群名称
overrides (dict) – boto3 将接收的相同参数(已模板化):https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs.html#ECS.Client.run_task
aws_conn_id – AWS 凭据/区域名称的连接 ID。如果为 None,则将使用凭据 boto3 策略 (https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html)。
region – 在 AWS Hook 中使用的区域名称。覆盖连接中的区域(如果提供)
launch_type (str) – 运行任务的启动类型(“EC2”、“EXTERNAL”或“FARGATE”)
capacity_provider_strategy (list | None) – 用于任务的容量提供程序策略。指定 capacity_provider_strategy 时,将省略 launch_type 参数。如果未指定 capacity_provider_strategy 或 launch_type,则使用集群的默认容量提供程序策略。
volume_configurations (list | None) – 使用容量提供程序时要使用的卷配置。卷的名称必须与任务定义中的名称匹配。您可以配置大小、卷类型、IOPS、吞吐量以及 (https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskManagedEBSVolumeConfiguration.html) 中提到的其他设置
group (str | None) – 与任务关联的任务组的名称
placement_constraints (list | None) – 用于任务的放置约束对象数组
placement_strategy (list | None) – 用于任务的放置策略对象数组
platform_version (str | None) – 您的任务正在运行的平台版本。
network_configuration (dict | None) – 任务的网络配置。
tags (dict | None) – 标签字典,格式为 {‘tagKey’: ‘tagValue’}。
awslogs_group (str | None) – 存储您的 ECS 容器日志的 CloudWatch 日志组。仅当您希望在作业完成后在 Airflow UI 中显示日志时才需要此参数。
awslogs_region (str | None) – 存储您的 CloudWatch 日志的区域。如果为 None,则与 region 参数相同。如果该参数也为 None,则这是基于您的连接设置的默认 AWS 区域。
awslogs_stream_prefix (str | None) – 用于 CloudWatch 日志的流前缀。这应与任务定义的日志配置中指定的前缀匹配。仅当您希望在作业完成后在 Airflow UI 中显示日志时才需要此参数。
awslogs_fetch_interval (datetime.timedelta) – ECS 任务日志获取器在每次 CloudWatch 日志获取之间应等待的时间间隔。如果 deferrable 设置为 True,则忽略此参数,并改用 waiter_delay。
quota_retry (dict | None) – 配置是否以及如何重试启动新的 ECS 任务,以处理瞬时错误。
reattach (bool) – 如果设置为 True,将检查由 task_instance 之前启动的任务是否已在运行。如果是,则操作符将附加到该任务,而不是启动新任务。这是为了避免在 Airflow 和 ECS 之间的连接断开(例如,当 Airflow 工作器重新启动时)而任务仍在运行时重新启动新任务。
number_logs_exception (int) – 如果 ECS 任务停止(以便接收带有 ECS 中运行的代码失败的日志的 Airflow 警报),则从最后 CloudWatch 日志中返回的行数。
wait_for_completion (bool) – 如果为 True,则等待集群创建完成。(默认值:True)
waiter_delay (int) – 如果未设置,则默认使用等待器值,即尝试之间等待的秒数。
waiter_max_attempts (int) – 如果未设置,则默认使用等待器值,即尝试的最大次数。
deferrable (bool) – 如果为 True,则操作符将异步等待作业完成。这意味着等待完成。此模式需要安装 aiobotocore 模块。(默认值:False)
do_xcom_push – 如果为 True,则操作符会将 ECS 任务 ARN 推送到 XCom,键为 ‘ecs_task_arn’。此外,如果获取日志,则最后一条日志消息将使用键 ‘return_value’ 推送到 XCom。(默认值:False)
- template_fields: collections.abc.Sequence[str] = ('task_definition', 'cluster', 'overrides', 'launch_type', 'capacity_provider_strategy',...[source]¶