在 Amazon MWAA 上使用阿帕奇氣流配置選項 - Amazon Managed Workflows for Apache Airflow

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在 Amazon MWAA 上使用阿帕奇氣流配置選項

Apache 氣流組態選項可以連接至您的 Amazon 管理工作流程,以作為環境變數的 Apache 氣流環境。您可以從建議的下拉式清單中選擇,或在 Amazon MWAA 主控台為 Apache 氣流版本指定自訂組態選項。本頁說明可用的 Apache 氣流組態選項,以及如何使用這些選項覆寫環境中的 Apache 氣流組態設定。

必要條件

您需要下列項目,才能完成此頁面上的步驟。

運作方式

建立環境時,Amazon MWAA 會將您在氣流組態選項中 Amazon MWAA 主控台上指定的組態設定做為環境變數附加到您環境的 AWS Fargate 容器。如果您在中使用相同名稱的設定airflow.cfg,您在 Amazon MWAA 主控台上指定的選項會覆寫中的值。airflow.cfg

雖然我們預設不會airflow.cfg在 Amazon MWAA 環境的 Apache 氣流使用者介面中公開,但是您可以直接在 Amazon MWAA 主控台上變更 Apache 氣流組態選項,包括公開組態的設webserver.expose_config定。

使用配置選項在 Apache 氣流 V2 中加載插件

默認情況下,在 Apache 氣流 v2 中,插件被配置為使用該core.lazy_load_plugins : True設置「懶惰」加載。如果您在 Apache Airflow v2 中使用自訂外掛程式,則必須新增core.lazy_load_plugins : False為 Apache 氣流組態選項,才能在每個氣流程開始時載入外掛程式,以覆寫預設設定。

組態選項概觀

當您在 Amazon MWAA 主控台上新增組態時,Amazon MWAA 會將組態寫入為環境變數。

  • 列出的選項。您可以從下拉式清單中選擇適用於 Apache Airflow 版本的其中一個組態設定。例如dag_concurrency16。配置設置轉換為您環境的 Fargate 容器 AIRFLOW__CORE__DAG_CONCURRENCY : 16

  • 自定義選項。您也可以在下拉式清單中指定未列出 Apache 氣流版本的氣流組態選項。例如foo.userYOUR_USER_NAME。配置設置轉換為您環境的 Fargate 容器 AIRFLOW__FOO__USER : YOUR_USER_NAME

阿帕奇氣流配置選項

下圖顯示您可以在 Amazon MWAA 主控台上自訂 Apache 氣流組態選項的位置。

此影像顯示您可以在 Amazon MWAA 主控台上自訂 Apache 氣流組態選項的位置。

阿帕奇氣流參考

如需 Apache 氣流支援的組態選項清單,請參閱 Apache 氣流參考指南中的組態參考資料。若要檢視您在 Amazon MWAA 上執行的 Apache 氣流版本的選項,請從下拉式清單中選取版本。

使用 Amazon MWAA 主控台

下列程序會逐步引導您將 Airflow 組態選項新增至您的環境。

  1. 在 Amazon MWAA 主控台上開啟「環境」頁面

  2. 選擇一個環境。

  3. 選擇編輯

  4. 選擇下一步

  5. 氣流組態選項窗格中選擇新增自訂組態

  6. 從下拉式清單中選擇組態並輸入值,或輸入自訂組態並輸入值。

  7. 為您要新增的每個組態選擇新增自訂組態。

  8. 選擇儲存

組態參考

下一節包含 Amazon MWAA 主控台上下拉式清單中可用的 Apache 氣流組態清單。

電郵配置

下列清單顯示 Amazon MWAA 上可用的氣流電子郵件通知組態選項。

建議您針對 SMTP 流量使用連接埠 587。依預設,會在所有 Amazon EC2 執行個體的連接埠 25 上 AWS 封鎖輸出 SMTP 流量。如果您想要在通訊埠 25 上傳送輸出流量,您可以要求移除此限制

Apache Airflow v2
氣流版本 氣流組態選項 描述 範例值

v2

電子郵件後端

Apache 氣流公用程式用於電子郵件後端的電子郵件通知

氣流. 實用程序. 電子郵件發送電子郵件

v2

SMT.SMT 主機

smt p_host 中用於電子郵件地址的輸出伺服器名稱。

localhost

v2

SMT.SMTP-明星網

傳輸層安全性 (TLS) 是用來在 smt p_starttls 中透過網際網路加密電子郵件。

False

v2

短信網絡安全網絡

安全套接字層(SSL)用於在 smt p_ssl 中連接服務器和電子郵件客戶端。

True

v2

SMT.SMTP 端口

smt p_port 中指定給伺服器的傳輸控制通訊協定 (TCP) 連接埠。

587

v2

短信電子郵件來自

寄件者中的輸出電子郵件地址。

myemail@domain.com

任務配置

下列清單顯示 Amazon MWAA 氣流任務下拉式清單中可用的組態。

Apache Airflow v2
氣流版本 氣流組態選項 描述 範例值

v2

核心. 默認任務重試

預設值中重試阿帕奇氣流工作的次數。

3

v2

核心. 平行

可在整個環境中 parallel (平行處理原則) 同時執行的工作執行個體數目上限。

40

排程器組態

下列清單顯示 Amazon MWAA 下拉式清單中可用的 Apache 氣流排程器組態。

Apache Airflow v2
氣流版本 氣流組態選項 描述 範例值

v2

排程程式. 依預設值

告訴排程器建立 DAG 執行,以便「catch」在 catch up_by_default 中的特定時間間隔。

False

v2

排程器. 排程器 _ 殭屍任務閾值

告訴排程器是否要將作業執行個體標示為失敗,並在排程器 _zombie_task_threshold 中重新排程工作。

300

工作者組態

下列清單顯示 Amazon MWAA 下拉式清單中可用的氣流工作者組態。

Apache Airflow v2
氣流版本 氣流組態選項 描述 範例值

v2

天然. 工人 _ 自動縮放

可以在 Worker_autoscale 中使用 C elly 執行程序的任何工作站上同時運行的任務的最大和最小數量值必須以逗號分隔,順序如下:max_concurrency,min_concurrency

16,12

網頁伺服器組態

下列清單顯示 Amazon MWAA 下拉式清單中可用的氣流網路伺服器組態。

Apache Airflow v2
氣流版本 氣流組態選項 描述 範例值

v2

網絡服務器. 默認值

默認的阿帕奇氣流 UI 日期時間設置認的 UI_時區/時區。

注意

設定此default_ui_timezone選項並不會變更排程執行 DAG 的時區。要更改 DAG 的時區,您可以使用自定義插件。如需詳細資訊,請參閱 在 Amazon 上更改 a DAG 的時區 MWAA

America/New_York

耐用配置

下列清單顯示 Amazon MWAA 上可用的 Apache 氣流觸發器組態。

Apache Airflow v2
氣流版本 氣流組態選項 描述 範例值

第 2.7 版

已啟用多個特殊功能

用於在 Amazon MWAA 上激活和停用觸發器。依預設,此值是設為 True。如果設定為False,Amazon MWAA 將不會在排程器上啟動任何觸發程式程序。

True

第 2.7 版

特雷格爾。默認容量

定義每個觸發器可以並行運 parallel 的觸發器的數量。在 Amazon MWAA 上,由於兩個元件彼此並排執行,因此每個觸發器和每個排程器都會設定此容量。每個排程器的預設值分別設為60125250、、500,以及1000針對小型、中型和大型、超大型和 2xlarge 執行個體。

125

範例和範例程式碼

範例 DAG

您可以使用下面的 DAG 打印您的 email_backend Apache 氣流配置選項。若要執行以回應 Amazon MWAA 事件,請將程式碼複製到 Amazon S3 儲存貯體上環境的 DAG 資料夾。

from airflow.decorators import dag from datetime import datetime def print_var(**kwargs): email_backend = kwargs['conf'].get(section='email', key='email_backend') print("email_backend") return email_backend @dag( dag_id="print_env_variable_example", schedule_interval=None, start_date=datetime(yyyy, m, d), catchup=False, ) def print_variable_dag(): email_backend_test = PythonOperator( task_id="email_backend_test", python_callable=print_var, provide_context=True ) print_variable_test = print_variable_dag()

電子郵件通知設定範

下列 Apache 氣流設定選項可用於使用應用程式密碼的 Gmail.com 電子郵件帳戶。如需詳細資訊,請參Gmail 說明參考指南中的使用應用程式密碼登入。

此影像顯示如何使用 MWAA 主控台上的 Apache 氣流組態選項來設定 gmail.com 電子郵件帳戶。

後續步驟?

  • 了解如何將您的 DAG 資料夾上傳到您的 Amazon S3 儲存貯體新增或更新 DAG