配置參考

此頁面包含 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

此條目有幫助嗎?