

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Atualize o aplicativo para uma nova versão do Apache Flink
<a name="upgrading-application-new-version"></a>

Você pode atualizar seu aplicativo Flink usando a [UpdateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html)ação.

Você pode chamar a API `UpdateApplication` de várias maneiras:
+ Use o fluxo de trabalho de **configuração** existente no Console de gerenciamento da AWS.
  + Acesse seu aplicativo no Console de gerenciamento da AWS.
  + Selecione **Configurar**.
  + Selecione o novo runtime e o snapshot a partir do qual você deseja começar, também conhecido como configuração de restauração. Use a configuração mais recente como configuração de restauração para iniciar o aplicativo a partir do snapshot mais recente. Aponte para o novo aplicativo atualizado JAR/zip no Amazon S3.
+ Use a ação AWS CLI [de atualização do aplicativo](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kinesisanalyticsv2/update-application.html).
+ Uso CloudFormation (CFN).
  + Atualize o [RuntimeEnvironment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesisanalyticsv2-application.html#cfn-kinesisanalyticsv2-application-runtimeenvironment)campo. Anteriormente, CloudFormation excluía o aplicativo e criava um novo, fazendo com que seus instantâneos e outros históricos do aplicativo fossem perdidos. Agora CloudFormation atualiza seu RuntimeEnvironment local e não exclui seu aplicativo. 
+ Use o AWS SDK.
  + Consulte a documentação do SDK para obter a linguagem de programação de sua preferência. Consulte [UpdateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html). 

Você pode realizar a atualização enquanto o aplicativo estiver no estado `RUNNING` ou enquanto o aplicativo estiver parado no estado `READY`. O Amazon Managed Service for Apache Flink faz a validação para verificar a compatibilidade entre a versão original do runtime e a versão do runtime de destino. Essa verificação de compatibilidade é executada quando você executa [UpdateApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_UpdateApplication.html)enquanto estiver no `RUNNING` estado ou na próxima, [StartApplication](https://docs.aws.amazon.com/managed-flink/latest/apiv2/API_StartApplication.html)se você atualizar enquanto estiver no `READY` estado. 

## Atualize um aplicativo no estado `RUNNING`
<a name="upgrading-running"></a>

O exemplo a seguir mostra a atualização de um aplicativo no `RUNNING` estado chamado `UpgradeTest` Flink 1.18 no Leste dos EUA (Norte da Virgínia) usando AWS CLI e iniciando o aplicativo atualizado a partir do snapshot mais recente. 

```
            
aws --region us-east-1 kinesisanalyticsv2 update-application \
--application-name UpgradeTest --runtime-environment-update "FLINK-1_18" \
--application-configuration-update '{"ApplicationCodeConfigurationUpdate": '\
'{"CodeContentUpdate": {"S3ContentLocationUpdate": '\
'{"FileKeyUpdate": "flink_1_18_app.jar"}}}}' \
 --run-configuration-update '{"ApplicationRestoreConfiguration": '\
 '{"ApplicationRestoreType": "RESTORE_FROM_LATEST_SNAPSHOT"}}' \
 --current-application-version-id ${current_application_version}
```
+ Se você habilitou os snapshots do serviço e deseja continuar o aplicativo a partir do snapshot mais recente, o Amazon Managed Service for Apache Flink verifica se o runtime do aplicativo `RUNNING` atual é compatível com o runtime de destino selecionado.
+ Se você especificou um snapshot a partir do qual continuar o runtime de destino, o Amazon Managed Service for Apache Flink verifica se o runtime de destino é compatível com o snapshot especificado. Se a verificação de compatibilidade falhar, sua solicitação de atualização será rejeitada e seu aplicativo permanecerá inalterado no estado `RUNNING`.
+ Se você optar por iniciar seu aplicativo sem um snapshot, o Amazon Managed Service for Apache Flink não executará nenhuma verificação de compatibilidade.
+ Se o aplicativo atualizado falhar ou ficar preso em um estado `UPDATING` transitivo, siga as instruções na seção [Reverta as atualizações de aplicativos](rollback.md) para retornar ao estado íntegro. 

**Fluxo de processo para execução de aplicativos com estado**

![\[O diagrama a seguir apresenta o fluxo de trabalho recomendado para atualizar o aplicativo durante a execução. Supomos que o aplicativo tem um estado e que você ativou os snapshots. Na atualização para esse fluxo de trabalho, você restaura o aplicativo a partir do snapshot mais recente que foi automaticamente obtido pelo Amazon Managed Service for Apache Flink antes da atualização.\]](http://docs.aws.amazon.com/pt_br/managed-flink/latest/java/images/in-place-update-while-running.png)


## Atualize um aplicativo no estado **READY**
<a name="upgrading-ready"></a>

O exemplo a seguir mostra a atualização de um aplicativo no estado `READY` chamado `UpgradeTest` para o Flink 1.18 no Leste dos EUA (Norte da Virgínia) usando o AWS CLI. Não há um instantâneo especificado para iniciar o aplicativo porque o aplicativo não está em execução. Você pode especificar um instantâneo ao emitir a solicitação de inicialização do aplicativo.

```
            
aws --region us-east-1 kinesisanalyticsv2 update-application \
--application-name UpgradeTest --runtime-environment-update "FLINK-1_18" \
--application-configuration-update '{"ApplicationCodeConfigurationUpdate": '\
'{"CodeContentUpdate": {"S3ContentLocationUpdate": '\
'{"FileKeyUpdate": "flink_1_18_app.jar"}}}}' \
 --current-application-version-id ${current_application_version}
```
+ Você pode atualizar o runtime de seus aplicativos no estado `READY` para qualquer versão do Flink. O Amazon Managed Service for Apache Flink não executa nenhuma verificação até você iniciar seu aplicativo.
+  O Amazon Managed Service for Apache Flink só executa verificações de compatibilidade com o snapshot que você selecionou para iniciar o aplicativo. Estas são verificações básicas de compatibilidade de acordo com a [Tabela de Compatibilidade do Flink](https://nightlies.apache.org/flink/flink-docs-master/docs/ops/upgrading/#compatibility-table). Elas verificam apenas a versão do Flink em que o snapshot foi tirado e a versão do Flink que você deseja. Se o runtime do Flink do snapshot selecionado for incompatível com o novo runtime do aplicativo, a solicitação inicial poderá ser rejeitada.

**Fluxo de processo para aplicativos com estado “ready”**

![\[O diagrama a seguir representa o fluxo de trabalho recomendado para atualizar o aplicativo durante o estado ready. Supomos que o aplicativo tem um estado e que você ativou os snapshots. Na atualização para esse fluxo de trabalho, você restaura o aplicativo a partir do snapshot mais recente que foi automaticamente obtido pelo Amazon Managed Service for Apache Flink no momento em que o aplicativo foi interrompido.\]](http://docs.aws.amazon.com/pt_br/managed-flink/latest/java/images/in-place-update-while-ready.png)
