配置参考

此页面包含 apache-airflow-providers-amazon 提供程序的所有可用 Airflow 配置列表,这些配置可以在 airflow.cfg 文件中设置或使用环境变量设置。

注意

嵌入在提供程序包中的配置从 Airflow 2.7.0 开始使用。之前,配置是在 Airflow 核心包中描述和配置的 - 因此,如果您使用的是 2.7.0 以下版本的 Airflow,请查看 Airflow 文档以获取 Airflow 核心中可用的配置选项列表。

注意

有关更多信息,请参阅 设置配置选项

[aws]

本节包含 Amazon Web Services (AWS) 集成的设置。

cloudwatch_task_handler_json_serializer

8.7.2 版本新增。

默认情况下,当记录非字符串消息时,所有非 json 对象都将记录为 null。除了 datetime 对象,它们是 ISO 格式的。用户可以选择使用 repr 序列化器,或者为日志消息中任何不可 JSON 序列化的对象提供自己的 JSON 序列化器。

  • airflow.providers.amazon.aws.log.cloudwatch_task_handler.json_serialize 使用 repr(请注意,根据记录对象的 repr 方法,存在记录敏感数据的可能性)

  • airflow.providers.amazon.aws.log.cloudwatch_task_handler.json_serialize_legacy 使用 null

如果提供了自定义序列化器,它必须符合 Callable[[Any], str | None],其中 None 序列化为 null (例如,def my_serializer(o: Any) -> str | None)。由于这位于日志记录路径上,并且可能正在处理异常,因此应特别小心,在不引发序列化器内部新异常的情况下优雅地失败。

类型

字符串

默认值

airflow.providers.amazon.aws.log.cloudwatch_task_handler.json_serialize_legacy

环境变量

AIRFLOW__AWS__CLOUDWATCH_TASK_HANDLER_JSON_SERIALIZER

示例

airflow.providers.amazon.aws.log.cloudwatch_task_handler.json_serialize

session_factory

3.1.1 版本新增。

实现 boto3.session.Session 的自定义会话工厂的类的完整导入路径。有关更多详细信息,请查看 会话工厂

类型

字符串

默认值

环境变量

AIRFLOW__AWS__SESSION_FACTORY

示例

my_company.aws.MyCustomSessionFactory

[aws_auth_manager]

仅当您使用 AwsAuthManager 时,本节才适用。换句话说,如果您在 Airflow 的配置中设置 [core] auth_manager = airflow.providers.amazon.aws.auth_manager.aws_auth_manager.AwsAuthManager

avp_policy_store_id

8.12.0 版本新增。

Amazon Verified Permissions 的策略存储 ID,其中存储了定义 Airflow 中用户权限的所有策略。必需。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_AUTH_MANAGER__AVP_POLICY_STORE_ID

conn_id

8.12.0 版本新增。

AWS 身份验证管理器用来向 AWS Identity Center 和 Amazon Verified Permissions 发出 API 调用的 Airflow 连接(即凭据)。

类型

字符串

默认值

aws_default

环境变量

AIRFLOW__AWS_AUTH_MANAGER__CONN_ID

示例

aws_default

enable

8.12.0 版本新增。

AWS 身份验证管理器尚未准备好使用。打开此标志以继续使用它。这样做有风险,因为 AWS 身份验证管理器尚未处于可用状态。

类型

布尔值

默认值

False

环境变量

AIRFLOW__AWS_AUTH_MANAGER__ENABLE

示例

True

region_name

8.10 版本新增。

配置 Amazon Verified Permissions 的 AWS 区域的名称。必需。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_AUTH_MANAGER__REGION_NAME

示例

us-east-1

saml_metadata_url

8.12.0 版本新增。

AWS Identity Center 提供的 SAML 元数据 XML 文件。此 URL 可以在 AWS Identity Center 控制台中找到。必需。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_AUTH_MANAGER__SAML_METADATA_URL

示例

https://portal.sso.<region>.amazonaws.com/saml/metadata/XXXXXXXXXX

[aws_batch_executor]

仅当您在 Airflow 的 [core] 配置中使用 AwsBatchExecutor 时,本节才适用。有关这些执行参数的更多信息,请参阅以下链接:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/batch.html#Batch.Client.submit_job 对于 boto3 凭据管理,请参阅 https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html

check_health_on_startup

8.11 版本新增。

是否在启动时检查 Batch Executor 的运行状况。

类型

布尔值

默认值

True

环境变量

AIRFLOW__AWS_BATCH_EXECUTOR__CHECK_HEALTH_ON_STARTUP

示例

True

conn_id

8.11 版本新增。

Batch 执行器用来向 AWS Batch 发出 API 调用的 Airflow 连接(即凭据)。

类型

字符串

默认值

aws_default

环境变量

AIRFLOW__AWS_BATCH_EXECUTOR__CONN_ID

示例

aws_default

job_definition

8.11 版本新增。

作业使用的作业定义。您可以指定作业定义的名称或 Amazon 资源名称 (ARN),可以带或不带修订版本。如果未指定修订版本,则使用最新的活动修订版本。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_BATCH_EXECUTOR__JOB_DEFINITION

示例

airflow-batch-executor-job-definition

job_name

8.11 版本新增。

提交给 AWS Batch 的作业的名称。长度最多可为 128 个字母。第一个字符必须是字母数字,可以包含大写和小写字母、数字、连字符 (-) 和下划线 (_)。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_BATCH_EXECUTOR__JOB_NAME

示例

airflow-batch-executor-job

job_queue

8.11 版本新增。

提交作业的作业队列。您可以指定队列的名称或 Amazon 资源名称 (ARN)。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_BATCH_EXECUTOR__JOB_QUEUE

示例

airflow-batch-executor-job-queue

max_submit_job_attempts

8.11 版本新增。

Batch Executor 应该尝试运行 Batch Job 的最大次数。

类型

整数

默认值

3

环境变量

AIRFLOW__AWS_BATCH_EXECUTOR__MAX_SUBMIT_JOB_ATTEMPTS

示例

3

region_name

8.11 版本新增。

配置 Amazon Batch 的 AWS 区域的名称。必需。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_BATCH_EXECUTOR__REGION_NAME

示例

us-east-1

submit_job_kwargs

8.11 版本新增。

传递给 AWS Batch 客户端的 submit_job 方法的附加参数。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_BATCH_EXECUTOR__SUBMIT_JOB_KWARGS

示例

{"Tags": [{"Key": "key", "Value": "value"}]}

[aws_ecs_executor]

仅当您在 Airflow 的 [core] 配置中使用 AwsEcsExecutor 时,本节才适用。有关这些执行参数的更多信息,请参阅以下链接:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ecs/client/run_task.html 对于 boto3 凭据管理,请参阅 https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html

assign_public_ip

8.10 版本新增。

是否为 ECS 执行器启动的容器分配公有 IP 地址。有关更多信息,请参阅上面 Boto3 文档的 URL。

类型

布尔值

默认值

False

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__ASSIGN_PUBLIC_IP

示例

True

capacity_provider_strategy

8.17 版本新增。

要用于任务的容量提供程序策略。

如果指定了容量提供程序策略,则必须省略启动类型参数。如果没有指定容量提供程序策略或启动类型,则使用群集的默认容量提供程序策略(如果存在)。

当您使用群集自动缩放时,必须指定容量提供程序策略,而不是启动类型。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__CAPACITY_PROVIDER_STRATEGY

示例

[{'capacityProvider': 'cp1', 'weight': 5}, {'capacityProvider': 'cp2', 'weight': 1}]

check_health_on_startup

8.11 版本新增。

是否在启动时检查 ECS 执行器的运行状况。

类型

布尔值

默认值

True

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__CHECK_HEALTH_ON_STARTUP

示例

True

cluster

8.10 版本新增。

Amazon ECS 群集的名称。必需。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__CLUSTER

示例

ecs_executor_cluster

conn_id

8.10 版本新增。

ECS 执行器用来向 AWS ECS 发出 API 调用的 Airflow 连接(即凭据)。

类型

字符串

默认值

aws_default

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__CONN_ID

示例

aws_default

container_name

8.10 版本新增。

将用于通过 ECS 执行器执行 Airflow 任务的容器名称。容器应在 ECS 任务定义中指定,并将接收 airflow CLI 命令作为其入口点的附加参数。有关更多信息,请参阅上面的 Boto3 文档链接。必需。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__CONTAINER_NAME

示例

ecs_executor_container

launch_type

8.10 版本新增。

启动类型可以是 ‘FARGATE’ 或 ‘EC2’。有关更多信息,请参阅上面的 Boto3 文档链接。

如果指定了启动类型,则必须省略容量提供程序策略参数。如果未指定容量提供程序策略或启动类型,则使用群集的默认容量提供程序策略(如果存在)。

如果启动类型是 EC2,执行器将尝试将任务放置在空的 EC2 实例上。如果没有可用的 EC2 实例,则不会放置任何任务,并且此函数将在下一次心跳中再次调用。

如果启动类型是 FARGATE,则这将在新的 AWS Fargate 实例上运行任务。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__LAUNCH_TYPE

示例

FARGATE

max_run_task_attempts

8.10 版本新增。

ECS 执行器应尝试运行任务的最大次数。

类型

整数

默认值

3

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__MAX_RUN_TASK_ATTEMPTS

示例

3

platform_version

8.10 版本新增。

任务使用的平台版本。平台版本仅针对托管在 Fargate 上的任务指定。如果未指定,则使用最新的平台版本。

类型

字符串

默认值

LATEST

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__PLATFORM_VERSION

示例

1.4.0

region_name

8.10 版本新增。

配置 Amazon ECS 的 AWS 区域的名称。必需。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__REGION_NAME

示例

us-east-1

run_task_kwargs

8.10 版本新增。

包含要提供给 ECS run_task API 的参数的 JSON 字符串(请参阅上面的链接)。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__RUN_TASK_KWARGS

示例

{"tags": {"key": "schema", "value": "1.0"}}

security_groups

8.10 版本新增。

与任务关联的安全组的逗号分隔 ID。如果不指定安全组,则使用 VPC 的默认安全组。安全组的限制为 5 个。有关更多信息,请参阅上面的 Boto3 文档链接。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__SECURITY_GROUPS

示例

sg-XXXX,sg-YYYY

subnets

8.10 版本新增。

与任务或服务关联的子网的逗号分隔 ID。子网的限制为 16 个。有关更多信息,请参阅上面的 Boto3 文档链接。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__SUBNETS

示例

subnet-XXXXXXXX,subnet-YYYYYYYY

task_definition

8.10 版本新增。

要运行的任务定义的族和修订版(族:修订版)或完整 ARN。如果未指定修订版,则使用最新的 ACTIVE 修订版。有关更多信息,请参阅上面的 Boto3 文档链接。

类型

字符串

默认值

环境变量

AIRFLOW__AWS_ECS_EXECUTOR__TASK_DEFINITION

示例

executor_task_definition:LATEST

此条目是否有帮助?