

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

# 使用 Apache Flink 的就地版本升級來升級應用程式
<a name="upgrading-applications"></a>

開始之前，建議您觀看此影片：[就地版本升級](https://www.youtube.com/watch?v=f1qGGdaP2XI)。

若要執行 Apache Flink 的就地版本升級，您可以使用 AWS CLI、、 AWS CloudFormation AWS SDK 或 AWS 管理主控台。您可以將此功能與 `READY`或 `RUNNING` 狀態的 Managed Service for Apache Flink 搭配使用的任何現有應用程式搭配使用。它使用 UpdateApplication API 來新增變更 Flink 執行時間的功能。

## 升級之前：更新您的 Apache Flink 應用程式
<a name="before-upgrading"></a>

當您寫入 Flink 應用程式時，您可以將它們與其相依性綁定到應用程式 JAR，並將 JAR 上傳到您的 Amazon S3 儲存貯體。從那裡，Amazon Managed Service for Apache Flink 會在您選取的新 Flink 執行時間中執行任務。您可能需要更新應用程式，才能與您要升級的 Flink 執行時間相容。Flink 版本之間可能存在導致版本升級失敗的不一致。最常見的是使用來源 （輸入） 或目的地 （接收器、輸出） 和 Scala 相依性的連接器。Managed Service for Apache Flink 中的 Flink 1.15 和更新版本與 Scala 無關，您的 JAR 必須包含您計劃使用的 Scala 版本。

**更新您的應用程式**

1. 閱讀 Flink 社群有關升級狀態應用程式的建議。請參閱[升級應用程式和 Flink 版本](https://nightlies.apache.org/flink/flink-docs-master/docs/ops/upgrading/)。

1. 閱讀了解問題和限制的清單。請參閱 [應用程式升級的注意事項和已知問題](precautions.md)。

1. 更新您的相依性，並在本機測試您的應用程式。這些相依性通常為：

   1. Flink 執行期和 API。

   1. 連接器建議用於新的 Flink 執行時間。您可以在要更新的特定執行時間的[發行版本](https://docs.aws.amazon.com/managed-flink/latest/java/release-version-list.html)中找到這些項目。

   1. Scala – Apache Flink 從 Flink 1.15 開始和包含 Flink，與 Scala 無關。您必須包含要在應用程式 JAR 中使用的 Scala 相依性。

1. 在 zipfile 上建立新的應用程式 JAR，並將其上傳至 Amazon S3。我們建議您使用與先前 JAR/zipfile 不同的名稱。如果您需要轉返，您將使用此資訊。

1. 如果您執行具狀態應用程式，強烈建議您擷取目前應用程式的快照。如果您在升級期間或之後遇到問題，這可讓您以狀態復原。