

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

# 復原應用程式升級
<a name="rollback"></a>

如果您的應用程式發生問題，或在 Flink 版本之間發現應用程式程式碼不一致，您可以使用 AWS CLI、、 AWS CloudFormation AWS SDK 或 復原 AWS 管理主控台。下列範例顯示在不同失敗案例中復原的情況。

## 執行時間升級成功，應用程式處於 `RUNNING` 狀態，但任務失敗並持續重新啟動
<a name="succeeded-restarting"></a>

假設您嘗試將名為 的狀態應用程式`TestApplication`從 Flink 1.15 升級至美國東部 （維吉尼亞北部） 的 Flink 1.18。不過，即使應用程式處於 `RUNNING` 狀態，升級的 Flink 1.18 應用程式仍無法啟動或持續重新啟動。這是常見的失敗案例。為了避免進一步停機，建議您立即將應用程式復原至先前的執行版本 (Flink 1.15)，並在稍後診斷問題。

若要將應用程式復原至先前的執行版本，請使用 [Rollback-application](https://docs.aws.amazon.com/cli/latest/reference/kinesisanalyticsv2/rollback-application.html) AWS CLI 命令或 [RollbackApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_RollbackApplication.html) API 動作。此 API 動作會復原您所做的變更，進而產生最新版本。然後，它會使用最新的成功快照重新啟動您的應用程式。

強烈建議您先使用現有應用程式拍攝快照，再嘗試升級。這將有助於避免資料遺失或必須重新處理資料。

在此失敗案例中， CloudFormation 不會為您復原應用程式。您必須更新 CloudFormation 範本以指向先前的執行時間和先前的程式碼，以強制 CloudFormation 更新應用程式。否則，CloudFormation 會假設您的應用程式在轉換為 `RUNNING` 狀態時已更新。

## 復原卡在 中的應用程式 `UPDATING`
<a name="stuck-updating"></a>

如果您的應用程式在升級嘗試後卡在 `UPDATING`或 `AUTOSCALING` 狀態，Amazon Managed Service for Apache Flink 會提供[轉返應用程式](https://docs.aws.amazon.com/cli/latest/reference/kinesisanalyticsv2/rollback-application.html) AWS CLI 命令，或 [RollbackApplications](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_RollbackApplication.html) API 動作，可在卡住`UPDATING`或`AUTOSCALING`狀態之前將應用程式轉返至版本。此 API 會復原您所做的變更，導致應用程式卡在 `UPDATING`或 `AUTOSCALING` 傳輸狀態。