配置参考¶
此页面包含 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
[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 文件。您可以在 AWS Identity Center 控制台中找到此 URL。必需。
- 类型
字符串
- 默认值
无
- 环境变量
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 作业的最大次数。
- 类型
整数
- 默认值
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 Executor 的运行状况。
- 类型
布尔值
- 默认值
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 文档的 URL。必需。
- 类型
字符串
- 默认值
无
- 环境变量
AIRFLOW__AWS_ECS_EXECUTOR__CONTAINER_NAME
- 示例
ecs_executor_container
launch_type¶
8.10 版本新增。
启动类型可以是“FARGATE”或“EC2”。有关更多信息,请参阅上述 Boto3 文档的 URL。
如果指定了启动类型,则必须省略 Capacity Provider Strategy 参数。如果未指定 Capacity Provider Strategy 或启动类型,则使用集群的默认 Capacity Provider Strategy(如果存在)。
如果启动类型是 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 平台版本。
- 类型
字符串
- 默认值
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 字符串(请参阅上面的 URL)。
- 类型
字符串
- 默认值
无
- 环境变量
AIRFLOW__AWS_ECS_EXECUTOR__RUN_TASK_KWARGS
- 示例
{"tags": {"key": "schema", "value": "1.0"}}
security_groups¶
8.10 版本新增。
与任务关联的安全组 ID,以逗号分隔。如果您未指定安全组,则使用 VPC 的默认安全组。安全组的数量限制为 5 个。有关更多信息,请参阅上面指向 Boto3 文档的 URL。
- 类型
字符串
- 默认值
无
- 环境变量
AIRFLOW__AWS_ECS_EXECUTOR__SECURITY_GROUPS
- 示例
sg-XXXX,sg-YYYY
subnets¶
8.10 版本新增。
与任务或服务关联的子网 ID,以逗号分隔。子网的数量限制为 16 个。有关更多信息,请参阅上面指向 Boto3 文档的 URL。
- 类型
字符串
- 默认值
无
- 环境变量
AIRFLOW__AWS_ECS_EXECUTOR__SUBNETS
- 示例
subnet-XXXXXXXX,subnet-YYYYYYYY
task_definition¶
8.10 版本新增。
要运行的任务定义的系列和修订版(系列:修订版)或完整 ARN。如果未指定修订版,则使用最新的 ACTIVE 修订版。有关更多信息,请参阅上面指向 Boto3 文档的 URL。
- 类型
字符串
- 默认值
无
- 环境变量
AIRFLOW__AWS_ECS_EXECUTOR__TASK_DEFINITION
- 示例
executor_task_definition:LATEST