

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 更改 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.amazonaws.cn/mwaa/latest/migrationguide/migrating-to-new-mwaa.html)。

在升级或降级过程中，Amazon MWAA 会捕获环境的元数据快照，将工作线程、计划程序、Web 服务器升级或降级到新的 Apache Airflow 版本，最后使用快照恢复元数据数据库。

在升级或降级之前，请确保 DAG 和其他工作流程资源与您要升级到的新 Apache Airflow 版本兼容。如果您使用 `requirements.txt` 来管理依赖项，则还必须确保您在要求中指定的依赖项与新版本兼容。

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

## 升级或降级工作流程资源
<a name="upgrading-environment-resources"></a>

每当您更改 Apache Airflow 版本时，请确保在 `requirements.txt` 中[引用正确的 `--constraint`](https://docs.amazonaws.cn/mwaa/latest/userguide/working-dags-dependencies.html#working-dags-dependencies-test-create) URL。

**警告**  
 在升级或降级期间指定与目标 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.amazonaws.cn/mwaa/latest/userguide/best-practices-dependencies.html)中推荐的最佳实践进行操作。

1.  （可选）要加快升级或降级过程，请[清理环境的元数据数据库](samples-database-cleanup.md)。具有大量元数据的环境可能需要更长的时间才能升级。

1. 成功测试工作流程资源后，将 DAG、`requirements.txt` 和插件复制到环境的 Amazon S3 存储桶。

现在，您可以编辑环境、指定新的 Apache Airflow 版本并开始更新过程了。

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

更新工作流程资源以确保与新 Apache Airflow 版本兼容后，请执行以下操作来编辑环境详细信息并指定要升级到的 Apache Airflow 版本。

**注意**  
执行升级或降级时，当前在环境中运行的所有任务都将在这个过程中终止。更新过程最多可能需要两个小时，在此期间，环境将不可用。

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

1. 在 Amazon MWAA 控制台上打开[环境页面](https://console.amazonaws.cn/mwaa/home#/environments)。

1.  从**环境**列表中，选择要升级或降级的环境。

1. 在环境页面上，选择**编辑**以编辑环境。

1.  在**环境详细信息**部分中，对于 **Airflow 版本**，从下拉列表中选择要将环境升级或降级到的 Apache Airflow 版本号。

1. 选择**下一步**，直到进入**查看并保存**页面。

1. 在**查看并保存**页面上，查看更改，然后选择**保存**。

当您应用更改时，环境将开始升级或降级过程。在此期间，环境[状态](https://docs.amazonaws.cn/mwaa/latest/API/API_Environment.html#mwaa-Type-Environment-Status)表明 Amazon MWAA 正在采取哪些操作以及该过程是否成功。

在成功升级或降级的情况下，状态将为 `UPDATING`，然后在 Amazon MWAA 捕获元数据备份时变为 `CREATING_SNAPSHOT`。最后，状态将首先返回到 `UPDATING`，然后过程完成时，返回到 `AVAILABLE`。

如果环境升级或降级失败，则环境状态是 `ROLLING_BACK`。如果回滚成功，则状态将首先显示 `UPDATE_FAILED`，表示更新失败但环境可用。如果回滚失败，则状态是 `UNAVAILABLE`，表示您无法访问环境。