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