

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á.

# Tutorial: implante um notebook do Studio como um aplicativo Managed Service for Apache Flink com estado durável
<a name="example-notebook-deploy"></a>

O tutorial a seguir demonstra como implantar um Studio notebook como um aplicativo Managed Service for Apache Flink com estado durável.

**Topics**
+ [Concluir os pré-requisitos](#example-notebook-durable-setup)
+ [Implemente um aplicativo com estado durável usando o Console de gerenciamento da AWS](#example-notebook-deploy-console)
+ [Implemente um aplicativo com estado durável usando o AWS CLI](#example-notebook-deploy-cli)

## Concluir os pré-requisitos
<a name="example-notebook-durable-setup"></a>

Crie um novo Studio notebook seguindo o [Tutorial: crie um notebook do Studio no Managed Service for Apache Flink](example-notebook.md), usando o fluxo de dados Kinesis ou o Amazon MSK. Dê um nome ao Studio notebook `ExampleTestDeploy`.

## Implemente um aplicativo com estado durável usando o Console de gerenciamento da AWS
<a name="example-notebook-deploy-console"></a>

1. Adicione um local de bucket do S3 onde deseja que o código empacotado seja armazenado em **Localização do código do aplicativo - *opcional*** no console. Isso habilita as etapas para implantar e executar seu aplicativo diretamente do notebook.

1. Adicione as permissões necessárias à função do aplicativo para habilitar a função que você está usando para ler e gravar em um bucket do Amazon S3 e para iniciar um aplicativo Managed Service for Apache Flink:
   + Amazon S3 FullAccess
   + Gerenciado pela Amazon - flinkFullAccess
   + Acesso às suas fontes, destinos e VPCs conforme aplicável. Para obter mais informações, consulte [Analise as permissões do IAM para notebooks do Studio](how-zeppelin-iam.md).

1. Use o seguinte código de exemplo:

   ```
   %flink.ssql(type=update) 
   CREATE TABLE exampleoutput (
     'ticket' VARCHAR,
     'price' DOUBLE
   )
   WITH (
     'connector' = 'kinesis',
     'stream' = 'ExampleOutputStream',
     'aws.region' = 'us-east-1',
     'scan.stream.initpos' = 'LATEST',
     'format' = 'json'
   );
   
   INSERT INTO exampleoutput SELECT ticker, price FROM exampleinputstream
   ```

1. Com o lançamento desse atributo, você verá uma nova lista suspensa no canto superior direito de cada nota em seu notebook com o nome do notebook. Você pode fazer o seguinte:
   + Veja as configurações do Studio notebook no Console de gerenciamento da AWS.
   + Crie seu Zeppelin Note e exporte-o para o Amazon S3. Nesse ponto, forneça um nome para seu aplicativo e selecione **Criar e exportar**. Você receberá uma notificação quando a exportação for concluída.
   + Se precisar, você pode visualizar e executar quaisquer testes adicionais no executável no Amazon S3.
   + Quando a compilação estiver concluída, você poderá implantar seu código como um aplicativo de transmissão do Kinesis com estado durável e escalabilidade automática.
   + Use o menu suspenso e selecione **Implantar o Zeppelin Note como aplicativo de transmissão do Kinesis**. Revise o nome do aplicativo e escolha **Implantar via AWS console**.
   + Isso levará você à Console de gerenciamento da AWS página de criação de um serviço gerenciado para o aplicativo Apache Flink. Observe que o nome do aplicativo, o paralelismo, a localização do código, as funções padrão do Glue DB, VPC (se aplicável) e IAM foram pré-preenchidas. Valide se as funções do IAM têm as permissões necessárias para suas fontes e destinos. Os snapshots são habilitados por padrão para um gerenciamento durável do estado do aplicativo.
   + Selecione **Create application** (Criar aplicativo).
   + Você pode selecionar **Configurar** e modificar qualquer configuração e selecionar **Executar** para iniciar seu aplicativo de transmissão.

## Implemente um aplicativo com estado durável usando o AWS CLI
<a name="example-notebook-deploy-cli"></a>

Para implantar um aplicativo usando o AWS CLI, você deve atualizá-lo AWS CLI para usar o modelo de serviço fornecido com as informações do Beta 2. Para obter informações sobre como usar o modelo de serviço atualizado, consulte [Concluir os pré-requisitos do .Concluir os pré-requisitos](example-notebook.md#example-notebook-setup).

O código de exemplo a seguir cria um novo Studio notebook:

```
aws kinesisanalyticsv2 create-application \
     --application-name <app-name> \
     --runtime-environment ZEPPELIN-FLINK-3_0 \
     --application-mode INTERACTIVE \
     --service-execution-role <iam-role>
     --application-configuration '{ 
       "ZeppelinApplicationConfiguration": { 
         "CatalogConfiguration": { 
           "GlueDataCatalogConfiguration": { 
             "DatabaseARN": "arn:aws:glue:us-east-1:<account>:database/<glue-database-name>" 
           } 
         } 
       },
       "FlinkApplicationConfiguration": {
         "ParallelismConfiguration": {
           "ConfigurationType": "CUSTOM",
           "Parallelism": 4,
           "ParallelismPerKPU": 4
         }
       },
       "DeployAsApplicationConfiguration": {
            "S3ContentLocation": { 
               "BucketARN": "arn:aws:s3:::<s3bucket>",
               "BasePath": "/something/"
            }
        },
       "VpcConfigurations": [
         {
           "SecurityGroupIds": [
             "<security-group>"
           ],
           "SubnetIds": [
             "<subnet-1>",
             "<subnet-2>"
           ]
         }
       ]
     }' \
     --region us-east-1
```

O código de exemplo a seguir inicia um Studio notebook:

```
aws kinesisanalyticsv2 start-application \
    --application-name <app-name> \
    --region us-east-1 \
    --no-verify-ssl
```

O código a seguir retorna a URL da página do Apache Zeppelin notebook de um aplicativo:

```
aws kinesisanalyticsv2 create-application-presigned-url \
    --application-name <app-name> \
    --url-type ZEPPELIN_UI_URL \

    --region us-east-1 \
    --no-verify-ssl
```