配置参考¶
此页面包含 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