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

AWS ECS 执行器工具集。

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

属性

CommandType

ExecutorConfigFunctionType

ExecutorConfigType

ECS_LAUNCH_TYPE_EC2

ECS_LAUNCH_TYPE_FARGATE

CONFIG_GROUP_NAME

CONFIG_DEFAULTS

异常

EcsExecutorException

当 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 格式。

模块内容

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

表示一个已入队的 ECS 任务。该任务将在下一次心跳时运行。

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

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

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

基类: 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 任务的数据传输对象。

task_arn[source]
last_status[source]
desired_status[source]
containers[source]
started_at = None[source]
stopped_reason = None[source]
external_executor_id = None[source]
get_task_state()[source]

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

它可以返回以下状态之一

QUEUED - 任务正在被 Provision。 RUNNING - 任务已在 ECS 上启动。 REMOVED - 任务 Provisioning 因某些原因失败。请参见 stopped_reason。 FAILED - 任务已完成,至少一个容器失败。 SUCCESS - 任务已完成,所有容器都成功。

__repr__()[source]

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

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

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

key_to_arn: dict[airflow.models.taskinstance.TaskInstanceKey, str][source]
arn_to_key: dict[str, airflow.models.taskinstance.TaskInstanceKey][source]
tasks: dict[str, EcsExecutorTask][source]
key_to_failure_counts: dict[airflow.models.taskinstance.TaskInstanceKey, int][source]
key_to_task_info: dict[airflow.models.taskinstance.TaskInstanceKey, EcsTaskInfo][source]
add_task(task, airflow_task_key, queue, airflow_cmd, exec_config, attempt_number)[source]

向集合添加任务。

update_task(task)[source]

根据任务 ARN 更新给定任务的状态。

task_by_key(task_key)[source]

按 Airflow 实例键获取任务。

task_by_arn(arn)[source]

按 AWS ARN 获取任务。

pop_by_key(task_key)[source]

根据 Airflow 任务实例键从集合中删除任务。

get_all_arns()[source]

获取集合中的所有 AWS ARN。

get_all_task_keys()[source]

获取集合中的所有 Airflow Task Key。

failure_count_by_key(task_key)[source]

根据 Airflow Task Key 获取任务失败的次数。

increment_failure_count(task_key)[source]

根据 Airflow Task Key 增加失败计数器。

info_by_key(task_key)[source]

根据 Airflow task key 获取 Airflow Command。

__getitem__(value)[source]

按 AWS ARN 获取任务。

__len__()[source]

确定集合中的任务数量。

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

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

airflow.providers.amazon.aws.executors.ecs.utils.camelize_dict_keys(nested_dict)[source]

接受一个可能嵌套的字典,并递归地将所有键转换为 camelCase 格式。

此条目是否有帮助?