配置参考

此页面包含 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 文件。您可以在 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

此条目有帮助吗?