

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

# 變更 Apache Airflow 版本
<a name="upgrading-environment"></a>

 Amazon MWAA 支援次要版本升級和降級。這表示您可以將環境從 版本更新`x.4.z`為 `x.5.z`，或從 更新`x.5.z`為 `x.4.z`。若要執行主要版本升級，例如從 版本`1.y.z`升級至 `2.y.z`，您必須建立新的環境並遷移資源。如需有關升級至 Apache Airflow 新主要版本的詳細資訊，請參閱《[Amazon MWAA 遷移指南》中的遷移至新的 Amazon MWAA 環境](https://docs.aws.amazon.com/mwaa/latest/migrationguide/migrating-to-new-mwaa.html)。 **

在升級或降級程序期間，Amazon MWAA 會擷取環境中繼資料的快照、將工作者、排程器、Web 伺服器升級或降級至新的 Apache Airflow 版本，最後使用快照還原中繼資料資料庫。

升級或降級之前，請確定您的 DAGs和其他工作流程資源與您升級到的新 Apache Airflow 版本相容。如果您使用 `requirements.txt` 來管理相依性，您還必須確保您在需求中指定的相依性與新版本相容。

**Topics**
+ [升級或降級您的工作流程資源](#upgrading-environment-resources)
+ [指定新版本](#upgrading-environment-specify-version)

## 升級或降級您的工作流程資源
<a name="upgrading-environment-resources"></a>

每當您變更 Apache Airflow 版本時，請務必在 中[參考正確的 `--constraint`](https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html#working-dags-dependencies-test-create) URL`requirements.txt`。

**警告**  
 在升級或降級期間，指定與您的目標 Apache Airflow 版本不相容的需求可能會導致舊版 Apache Airflow 與先前需求版本進行冗長的轉返程序。

**遷移您的工作流程資源**

1. 建立 [aws-mwaa-docker-images](https://github.com/aws/amazon-mwaa-docker-images) 儲存庫的分支，並複製 Amazon MWAA 本機執行器的副本。

1.  前往符合您要升級或降級之版本的 aws-mwaa-docker-images 儲存庫分支。

1. 若要更新您的 `requirements.txt`，請遵循《*Amazon MWAA 使用者指南*》中的[管理 Python 相依性](https://docs.aws.amazon.com/mwaa/latest/userguide/best-practices-dependencies.html)中建議的最佳實務。

1.  （選用） 若要加速升級或降級程序，[請清除環境的中繼資料資料庫](samples-database-cleanup.md)。具有大量中繼資料的環境可能需要更長的時間才能升級。

1. 成功測試工作流程資源後，請將 DAGs、 `requirements.txt`和 外掛程式複製到您環境的 Amazon S3 儲存貯體。

您現在已準備好編輯環境、指定新的 Apache Airflow 版本，並開始更新程序。

## 指定新版本
<a name="upgrading-environment-specify-version"></a>

完成更新工作流程資源以確保與新 Apache Airflow 版本的相容性後，請執行下列動作來編輯環境詳細資訊，並指定您要升級的 Apache Airflow 版本。

**注意**  
當您執行升級或降級時，目前在環境上執行的所有任務都會在程序期間終止。更新程序最多可能需要兩個小時，在此期間您的環境將無法使用。

**使用主控台指定新版本**

1. 在 Amazon MWAA 主控台上開啟[環境](https://console.aws.amazon.com/mwaa/home#/environments)頁面。

1.  從**環境**清單中，選擇您要升級或降級的環境。

1. 在環境頁面上，選擇**編輯**以編輯環境。

1.  在**環境詳細資訊**區段中，針對 **Airflow 版本**，從下拉式清單中選擇您要升級或降級環境的 Apache Airflow 版本編號。

1. 選擇**下一步**，直到您進入**檢閱和儲存**頁面為止。

1. 在**檢閱和儲存**頁面上，檢閱您的變更，然後選擇**儲存**。

當您套用變更時，您的環境會開始升級或降級程序。在此期間，您的環境[狀態](https://docs.aws.amazon.com/mwaa/latest/API/API_Environment.html#mwaa-Type-Environment-Status)會指出 Amazon MWAA 正在採取的動作，以及程序是否成功。

在升級或降級成功的情況下，狀態為 `UPDATING`，然後`CREATING_SNAPSHOT`當 Amazon MWAA 擷取中繼資料的備份時。最後，狀態會先傳回至 `UPDATING`，然後在程序完成`AVAILABLE`時傳回至 。

如果環境無法向上或降級，您的環境狀態將為 `ROLLING_BACK`。如果轉返成功，狀態會先出現 `UPDATE_FAILED`，表示更新失敗，但環境可用。如果轉返失敗，狀態將為 `UNAVAILABLE`，表示您無法存取環境。