配置参考

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

注意

providers 中内嵌的配置从 Airflow 2.7.0 版本开始使用。在此之前,配置在 Airflow 核心包中描述和配置 - 因此,如果您使用的 Airflow 版本低于 2.7.0,请查阅 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)。由于这位于日志记录路径上,并且可能正在处理异常,因此应特别注意优雅地失败,而不在您的序列化器内部引发新的异常。

类型:

string

默认值:

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 自定义会话工厂的类的完整导入路径。更多详细信息请参阅 会话工厂

类型:

string

默认值:

None

环境变量:

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 中用户权限的策略都存储在此处。必需项。

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_AUTH_MANAGER__AVP_POLICY_STORE_ID

conn_id

在版本 8.12.0 中添加。

AWS auth manager 用于向 AWS Identity Center 和 Amazon Verified Permissions 进行 API 调用的 Airflow 连接(即凭据)。

类型:

string

默认值:

aws_default

环境变量:

AIRFLOW__AWS_AUTH_MANAGER__CONN_ID

示例:

aws_default

enable

在版本 8.12.0 中添加。

AWS auth manager 尚未准备好使用。开启此标志仍可使用它。请自行承担风险,因为 AWS auth manager 目前处于不可用状态。

类型:

boolean

默认值:

False

环境变量:

AIRFLOW__AWS_AUTH_MANAGER__ENABLE

示例:

True

region_name

在版本 8.10 中添加。

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_AUTH_MANAGER__REGION_NAME

示例:

us-east-1

saml_metadata_url

在版本 8.12.0 中添加。

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

类型:

string

默认值:

None

环境变量:

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 执行器的健康状况。

类型:

boolean

默认值:

True

环境变量:

AIRFLOW__AWS_BATCH_EXECUTOR__CHECK_HEALTH_ON_STARTUP

示例:

True

conn_id

在版本 8.11 中添加。

Batch 执行器用于向 AWS Batch 进行 API 调用的 Airflow 连接(即凭据)。

类型:

string

默认值:

aws_default

环境变量:

AIRFLOW__AWS_BATCH_EXECUTOR__CONN_ID

示例:

aws_default

job_definition

在版本 8.11 中添加。

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_BATCH_EXECUTOR__JOB_DEFINITION

示例:

airflow-batch-executor-job-definition

job_name

在版本 8.11 中添加。

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_BATCH_EXECUTOR__JOB_NAME

示例:

airflow-batch-executor-job

job_queue

在版本 8.11 中添加。

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_BATCH_EXECUTOR__JOB_QUEUE

示例:

airflow-batch-executor-job-queue

max_submit_job_attempts

在版本 8.11 中添加。

Batch 执行器应尝试运行 Batch 作业的最大次数。

类型:

integer

默认值:

3

环境变量:

AIRFLOW__AWS_BATCH_EXECUTOR__MAX_SUBMIT_JOB_ATTEMPTS

示例:

3

region_name

在版本 8.11 中添加。

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_BATCH_EXECUTOR__REGION_NAME

示例:

us-east-1

submit_job_kwargs

在版本 8.11 中添加。

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

类型:

string

默认值:

None

环境变量:

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。

类型:

boolean

默认值:

False

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__ASSIGN_PUBLIC_IP

示例:

True

capacity_provider_strategy

在版本 8.17 中添加。

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

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

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__CAPACITY_PROVIDER_STRATEGY

示例:

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

check_health_on_startup

在版本 8.11 中添加。

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

类型:

boolean

默认值:

True

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__CHECK_HEALTH_ON_STARTUP

示例:

True

cluster

在版本 8.10 中添加。

Amazon ECS 集群的名称。必需项。

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__CLUSTER

示例:

ecs_executor_cluster

conn_id

在版本 8.10 中添加。

ECS 执行器用于向 AWS ECS 进行 API 调用的 Airflow 连接(即凭据)。

类型:

string

默认值:

aws_default

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__CONN_ID

示例:

aws_default

container_name

在版本 8.10 中添加。

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__CONTAINER_NAME

示例:

ecs_executor_container

launch_type

在版本 8.10 中添加。

启动类型可以是“FARGATE”或“EC2”。更多信息请参阅上面 Boto3 文档的 URL。

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

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

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__LAUNCH_TYPE

示例:

FARGATE

max_run_task_attempts

在版本 8.10 中添加。

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

类型:

integer

默认值:

3

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__MAX_RUN_TASK_ATTEMPTS

示例:

3

platform_version

在版本 8.10 中添加。

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

类型:

string

默认值:

LATEST

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__PLATFORM_VERSION

示例:

1.4.0

region_name

在版本 8.10 中添加。

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__REGION_NAME

示例:

us-east-1

run_task_kwargs

在版本 8.10 中添加。

一个 JSON 字符串,包含提供给 ECS run_task API 的参数(见上方 URL)。

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__RUN_TASK_KWARGS

示例:

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

security_groups

在版本 8.10 中添加。

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__SECURITY_GROUPS

示例:

sg-XXXX,sg-YYYY

subnets

在版本 8.10 中添加。

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__SUBNETS

示例:

subnet-XXXXXXXX,subnet-YYYYYYYY

task_definition

在版本 8.10 中添加。

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

类型:

string

默认值:

None

环境变量:

AIRFLOW__AWS_ECS_EXECUTOR__TASK_DEFINITION

示例:

executor_task_definition:LATEST

此条目有帮助吗?