airflow.providers.amazon.aws.executors.ecs.utils

AWS ECS 执行器实用程序。

ECS 执行器使用的数据类和实用函数。

模块内容

EcsQueuedTask

表示已排队的 ECS 任务。该任务将在下一次心跳中运行。

EcsTaskInfo

包含有关当前正在运行的 ECS 任务的信息。

RunTaskKwargsConfigKeys

加载到配置中的、有效的 ECS run_task kwargs 的键。

AllEcsConfigKeys

所有加载到配置中且与 ECS 执行器相关的键。

EcsExecutorTask

ECS 任务的数据传输对象。

EcsTaskCollection

一个在 Airflow 任务 ID、Airflow 命令、ECS ARN 和 ECS 任务对象之间的五向字典。

函数

parse_assign_public_ip(assign_public_ip[, ...])

将“assign_public_ip”从 True/False 转换为 ENABLE/DISABLE。

camelize_dict_keys(nested_dict)

接受一个潜在的嵌套字典,并递归地将所有键转换为 camelCase。

属性

CommandType

ExecutorConfigFunctionType

ExecutorConfigType

ECS_LAUNCH_TYPE_EC2

ECS_LAUNCH_TYPE_FARGATE

CONFIG_GROUP_NAME

CONFIG_DEFAULTS

airflow.providers.amazon.aws.executors.ecs.utils.CommandType[源代码]
airflow.providers.amazon.aws.executors.ecs.utils.ExecutorConfigFunctionType[源代码]
airflow.providers.amazon.aws.executors.ecs.utils.ExecutorConfigType[源代码]
airflow.providers.amazon.aws.executors.ecs.utils.ECS_LAUNCH_TYPE_EC2 = 'EC2'[源代码]
airflow.providers.amazon.aws.executors.ecs.utils.ECS_LAUNCH_TYPE_FARGATE = 'FARGATE'[源代码]
airflow.providers.amazon.aws.executors.ecs.utils.CONFIG_GROUP_NAME = 'aws_ecs_executor'[源代码]
airflow.providers.amazon.aws.executors.ecs.utils.CONFIG_DEFAULTS[源代码]
class airflow.providers.amazon.aws.executors.ecs.utils.EcsQueuedTask[源代码]

表示已排队的 ECS 任务。该任务将在下一次心跳中运行。

key: airflow.models.taskinstance.TaskInstanceKey[源代码]
command: CommandType[源代码]
queue: str[源代码]
executor_config: ExecutorConfigType[源代码]
attempt_number: int[源代码]
next_attempt_time: datetime.datetime[源代码]
class airflow.providers.amazon.aws.executors.ecs.utils.EcsTaskInfo[源代码]

包含有关当前正在运行的 ECS 任务的信息。

cmd: CommandType[源代码]
queue: str[源代码]
config: ExecutorConfigType[源代码]
class airflow.providers.amazon.aws.executors.ecs.utils.RunTaskKwargsConfigKeys[源代码]

基类: airflow.providers.amazon.aws.executors.utils.base_config_keys.BaseConfigKeys

加载到配置中的、有效的 ECS run_task kwargs 的键。

ASSIGN_PUBLIC_IP = 'assign_public_ip'[source]
CAPACITY_PROVIDER_STRATEGY = 'capacity_provider_strategy'[source]
CLUSTER = 'cluster'[source]
CONTAINER_NAME = 'container_name'[source]
LAUNCH_TYPE = 'launch_type'[source]
PLATFORM_VERSION = 'platform_version'[source]
SECURITY_GROUPS = 'security_groups'[source]
SUBNETS = 'subnets'[source]
TASK_DEFINITION = 'task_definition'[source]
class airflow.providers.amazon.aws.executors.ecs.utils.AllEcsConfigKeys[source]

基类:RunTaskKwargsConfigKeys

所有加载到配置中且与 ECS 执行器相关的键。

AWS_CONN_ID = 'conn_id'[source]
CHECK_HEALTH_ON_STARTUP = 'check_health_on_startup'[source]
MAX_RUN_TASK_ATTEMPTS = 'max_run_task_attempts'[source]
REGION_NAME = 'region_name'[source]
RUN_TASK_KWARGS = 'run_task_kwargs'[source]
exception airflow.providers.amazon.aws.executors.ecs.utils.EcsExecutorException[source]

基类:Exception

当 ECS 生态系统中发生意外情况时抛出。

class airflow.providers.amazon.aws.executors.ecs.utils.EcsExecutorTask(task_arn, last_status, desired_status, containers, started_at=None, stopped_reason=None, external_executor_id=None)[source]

ECS 任务的数据传输对象。

get_task_state()[source]

根据 ECS 任务的状态和其他相关属性确定其状态。

它可以返回以下状态之一

QUEUED - 任务正在配置。RUNNING - 任务已在 ECS 上启动。REMOVED - 由于某种原因,任务配置失败。请参阅 stopped_reason。FAILED - 任务已完成,并且至少有一个容器失败。SUCCESS - 任务已完成,并且所有容器都已成功。

__repr__()[source]

返回 ECS 任务的字符串表示形式。

class airflow.providers.amazon.aws.executors.ecs.utils.EcsTaskCollection[source]

一个在 Airflow 任务 ID、Airflow 命令、ECS ARN 和 ECS 任务对象之间的五向字典。

add_task(task, airflow_task_key, queue, airflow_cmd, exec_config, attempt_number)[source]

向集合添加任务。

update_task(task)[源代码]

基于任务 ARN 更新给定任务的状态。

task_by_key(task_key)[源代码]

通过 Airflow 实例键获取任务。

task_by_arn(arn)[源代码]

通过 AWS ARN 获取任务。

pop_by_key(task_key)[源代码]

基于 Airflow 任务实例键从集合中删除任务。

get_all_arns()[源代码]

获取集合中的所有 AWS ARN。

get_all_task_keys()[源代码]

获取集合中的所有 Airflow 任务键。

failure_count_by_key(task_key)[源代码]

获取给定 Airflow 任务键的任务失败次数。

increment_failure_count(task_key)[源代码]

给定 Airflow 任务键,增加失败计数器。

info_by_key(task_key)[源代码]

获取给定 Airflow 任务键的 Airflow 命令。

__getitem__(value)[源代码]

通过 AWS ARN 获取任务。

__len__()[源代码]

确定集合中的任务数量。

airflow.providers.amazon.aws.executors.ecs.utils.parse_assign_public_ip(assign_public_ip, is_launch_type_ec2=False)[源代码]

将“assign_public_ip”从 True/False 转换为 ENABLE/DISABLE。

airflow.providers.amazon.aws.executors.ecs.utils.camelize_dict_keys(nested_dict)[源代码]

接受一个潜在的嵌套字典,并递归地将所有键转换为 camelCase。

此条目是否有帮助?