

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Tutorial: implementación de un cuaderno de Studio como un servicio administrado para una aplicación Apache Flink con estado duradero.
<a name="example-notebook-deploy"></a>

El siguiente tutorial muestra cómo implementar un cuaderno de Studio como un servicio gestionado para una aplicación Apache Flink con estado duradero.

**Topics**
+ [Cómo completar los requisitos previos de](#example-notebook-durable-setup)
+ [Implemente una aplicación con un estado duradero mediante el Consola de administración de AWS](#example-notebook-deploy-console)
+ [Implemente una aplicación con un estado duradero mediante el AWS CLI](#example-notebook-deploy-cli)

## Cómo completar los requisitos previos de
<a name="example-notebook-durable-setup"></a>

Cree un nuevo cuaderno de Studio siguiendo las [Tutorial: creación de un cuaderno de Studio en Managed Service para Apache Flink](example-notebook.md), utilizando flujo de datos Kinesis o Amazon MSK. Asigne un nombre al cuaderno de Studio `ExampleTestDeploy`.

## Implemente una aplicación con un estado duradero mediante el Consola de administración de AWS
<a name="example-notebook-deploy-console"></a>

1. Agregue una ubicación de bucket S3 en la que desee almacenar el código empaquetado en la **ubicación del código de la aplicación (*opcional***) en la consola. Esto permite seguir los pasos necesarios para implementar y ejecutar la aplicación directamente desde el cuaderno.

1. Añada los permisos necesarios al rol de la aplicación para habilitar el rol que está utilizando para leer y escribir en un bucket de Amazon S3 y para lanzar una aplicación Managed Service para Apache Flink:
   + Amazon S3 FullAccess
   + Amazon gestionó - flinkFullAccess
   + Acceso a sus fuentes, destinos y, según VPCs corresponda. Para obtener más información, consulte [Revisión de los permisos de IAM para cuadernos de Studio](how-zeppelin-iam.md).

1. Consulte el siguiente código de muestra:

   ```
   %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. Al lanzar esta característica, verá un nuevo menú desplegable en la esquina superior derecha de cada nota de su cuaderno con el nombre del cuaderno. Se puede hacer lo siguiente:
   + Consulte la configuración del cuaderno de Studio en Consola de administración de AWS.
   + Cree su Zeppelin Note y expórtelo a Amazon S3. En ese momento, proporcione un nombre para la aplicación y seleccione **Crear y exportar**. Recibirá una notificación cuando se complete la exportación.
   + Si lo necesita, puede ver y ejecutar cualquier prueba adicional en el ejecutable en Amazon S3.
   + Una vez completada la compilación, podrá implementar su código como una aplicación de streaming de Kinesis con estado duradero y escalado automático.
   + Utilice el menú desplegable y elija **Deploy Zeppelin Note as Kinesis streaming application (Implementar Zeppelin Note como aplicación de streaming de Kinesis)**. Revise el nombre de la aplicación y elija **Implementar mediante AWS consola**.
   + Esto lo llevará a la Consola de administración de AWS página para crear una aplicación de servicio gestionado para Apache Flink. Tenga en cuenta que el nombre de la aplicación, el paralelismo, la ubicación del código, las funciones predeterminadas de Glue DB, VPC (si corresponde) y roles de IAM se han rellenado previamente. Compruebe que los roles de IAM tengan los permisos necesarios para acceder a sus orígenes y destinos. Las instantáneas están habilitadas de forma predeterminada para una administración duradera del estado de las aplicaciones.
   + Elija **Crear aplicación**.
   + Se puede elegir **configurar** y modificar cualquier configuración y seleccionar **Ejecutar** para iniciar la aplicación de streaming.

## Implemente una aplicación con un estado duradero mediante el AWS CLI
<a name="example-notebook-deploy-cli"></a>

Para implementar una aplicación mediante el AWS CLI, debe actualizar su modelo de servicio AWS CLI para usar el que se proporciona con la información de la versión beta 2. Para obtener información acerca de cómo utilizar el modelo de servicio actualizado, consulte [Cumplimiento de los requisitos previos deCómo completar los requisitos previos de](example-notebook.md#example-notebook-setup).

El siguiente ejemplo de código inicia un cuaderno de Studio:

```
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
```

El siguiente ejemplo de código inicia un cuaderno de Studio:

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

El código siguiente devuelve la URL de la página del cuaderno de Apache Zeppelin de una aplicación:

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

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