組態參考¶
此頁面包含 apache-airflow-providers-amazon
提供者的所有可用 Airflow 組態清單,這些組態可以在 airflow.cfg
檔案中設定,或使用環境變數設定。
注意
從 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)。由於這是在日誌記錄路徑上,並且可能正在處理例外狀況,因此應特別注意優雅地失敗,而不會在您的序列化器內部引發新的例外狀況。
- 類型
字串
- 預設值
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
的自訂 session factory 的完整匯入路徑。如需更多詳細資訊,請查看 Session Factory。
- 類型
字串
- 預設值
無
- 環境變數
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 的 policy store 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 metadata XML 檔案。此 URL 可以在 AWS Identity Center 主控台中找到。必填。
- 類型
字串
- 預設值
無
- 環境變數
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 Resource Name (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 Resource Name (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。
如果指定了啟動類型,則必須省略容量提供者策略參數。如果未指定容量提供者策略或啟動類型,則會使用叢集的預設容量提供者策略 (如果存在)。
如果啟動類型為 EC2,則執行器將嘗試將任務放置在空的 EC2 執行個體上。如果沒有可用的 EC2 執行個體,則不會放置任何任務,並且將在下一個心跳訊號中再次呼叫此函數。
如果啟動類型為 FARGATE,則這將在新 AWS Fargate 執行個體上執行任務。
- 類型
字串
- 預設值
無
- 環境變數
AIRFLOW__AWS_ECS_EXECUTOR__LAUNCH_TYPE
- 範例
FARGATE
max_run_task_attempts¶
版本 8.10 新增。
ECS Executor 應嘗試執行任務的最大次數。
- 類型
整數
- 預設值
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