

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Tutorial: creare un notebook Studio in Managed Service per Apache Flink
<a name="example-notebook"></a>

Il seguente tutorial mostra come creare un notebook Studio che legge i dati da un flusso di dati Kinesis o da un cluster Amazon MSK.

**Topics**
+ [

## Completa i prerequisiti
](#example-notebook-setup)
+ [

## Creare un database AWS Glue
](#example-notebook-glue)
+ [

## Passaggi successivi: creare un notebook Studio con Kinesis Data Streams o Amazon MSK
](#examples-notebook-nextsteps)
+ [

# Creazione di un notebook Studio con il flusso di dati Kinesis
](example-notebook-streams.md)
+ [

# Crea un notebook Studio con Amazon MSK
](example-notebook-msk.md)
+ [

# Pulisci l'applicazione e le risorse dipendenti
](example-notebook-cleanup.md)

## Completa i prerequisiti
<a name="example-notebook-setup"></a>

Assicurati che la tua AWS CLI sia la versione 2 o successiva. Per installare la versione più recente AWS CLI, consulta [Installazione, aggiornamento e disinstallazione della AWS CLI versione 2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html).

## Creare un database AWS Glue
<a name="example-notebook-glue"></a>

Il notebook Studio utilizza un database [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) per i metadati sull'origine dati Amazon MSK.

**Creare un AWS Glue database**

1. Apri la AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Scegli **Aggiungi database**. Nella finestra **Aggiungi database**, inserisci **default** per **Nome database**. Scegli **Create** (Crea). 

## Passaggi successivi: creare un notebook Studio con Kinesis Data Streams o Amazon MSK
<a name="examples-notebook-nextsteps"></a>

Con questo tutorial, puoi creare un notebook Studio che utilizza il flusso di dati Kinesis o Amazon MSK:
+ [Creazione di un notebook Studio con il flusso di dati Kinesis](example-notebook-streams.md): con il flusso di dati Kinesis, viene creata rapidamente un'applicazione che utilizza un flusso di dati Kinesis come origine. È sufficiente creare un flusso di dati Kinesis come risorsa dipendente.
+ [Crea un notebook Studio con Amazon MSK](example-notebook-msk.md): con Amazon MSK, viene creata un'applicazione che utilizza un cluster Amazon MSK come origine. È necessario creare un Amazon VPC, un'istanza client Amazon EC2 e un cluster Amazon MSK come risorse dipendenti.

# Creazione di un notebook Studio con il flusso di dati Kinesis
<a name="example-notebook-streams"></a>

Questo tutorial descrive come creare un notebook Studio che utilizza un flusso di dati Kinesis come origine.

**Topics**
+ [

## Completa i prerequisiti
](#example-notebook-streams-setup)
+ [

## Crea una tabella AWS Glue
](#example-notebook-streams-glue)
+ [

## Creazione di un notebook Studio con il flusso di dati Kinesis
](#example-notebook-streams-create)
+ [

## Invio di dati al flusso di dati Kinesis
](#example-notebook-streams-send)
+ [

## Test del notebook Studio
](#example-notebook-streams-test)

## Completa i prerequisiti
<a name="example-notebook-streams-setup"></a>

Prima di creare un notebook Studio, è necessario creare un flusso di dati Kinesis (`ExampleInputStream`). L'applicazione utilizza questo flusso come origine dell'applicazione.

Puoi creare questo flusso utilizzando la console Amazon Kinesis o il comando AWS CLI seguente. Per istruzioni sulla console, consulta [Creazione e aggiornamento dei flussi di dati](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) nella *Guida per gli sviluppatori del flusso di dati Amazon Kinesis*. Assegna un nome al flusso **ExampleInputStream** e imposta il **Numero di partizioni aperte** su **1**.

Per creare lo stream (`ExampleInputStream`) utilizzando il AWS CLI, usa il seguente comando Amazon Kinesis `create-stream` AWS CLI .

```
$ aws kinesis create-stream \
--stream-name ExampleInputStream \
--shard-count 1 \
--region us-east-1 \
--profile adminuser
```

## Crea una tabella AWS Glue
<a name="example-notebook-streams-glue"></a>

Il notebook Studio utilizza un database [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) per i metadati sull'origine dati del flusso di dati Kinesis.

**Nota**  
Puoi creare prima il database manualmente oppure lasciare che il servizio gestito per Apache Flink lo crei automaticamente quando viene creato il notebook. Allo stesso modo, è possibile creare manualmente la tabella come descritto in questa sezione oppure utilizzare il codice del connettore di creazione tabella per il servizio gestito per Apache Flink nel notebook all'interno di Apache Zeppelin per creare la tabella tramite un'istruzione DDL. Puoi quindi effettuare il check-in AWS Glue per assicurarti che la tabella sia stata creata correttamente.

**Creazione di una tabella**

1. Accedi a Console di gestione AWS e apri la AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Se non disponi già di un AWS Glue database, scegli **Database** dalla barra di navigazione a sinistra. Scegli **Aggiungi database**. Nella finestra **Aggiungi database**, inserisci **default** per **Nome database**. Scegli **Create (Crea) **.

1. Nella barra di navigazione a sinistra, seleziona **Tabelle**. Nella pagina **Tabelle**, scegli **Aggiungi tabelle** > **Aggiungi tabella manualmente**.

1. Nella pagina **Imposta le proprietà della tabella**, inserisci **stock** per **Nome tabella**. Assicurati di selezionare il database creato in precedenza. Scegli **Next (Successivo)**.

1. Nella pagina **Aggiungi un datastore**, scegli **Kinesis**. Per **Nome del flusso**, inserisci **ExampleInputStream**. Per **URL di origine di Kinesis**, inserisci **https://kinesis.us-east-1.amazonaws.com**. Se copi e incolli l'**URL di origine di Kinesis**, assicurati di eliminare gli spazi iniziali o finali. Scegli **Next (Successivo)**.

1. Nella pagina **Classificazione**, scegli **JSON**. Scegli **Next (Successivo)**.

1. Nella pagina **Definisci uno schema**, scegli Aggiungi colonna per aggiungere una colonna. Aggiungi colonne con le seguenti proprietà:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/managed-flink/latest/java/example-notebook-streams.html)

   Scegli **Next (Successivo)**.

1. Nella pagina successiva, verifica le impostazioni e scegli **Fine.**

1. Scegli la tabella appena creata dall'elenco delle tabelle.

1. Scegli **Modifica tabella** e aggiungi una proprietà con la chiave `managed-flink.proctime` e il valore `proctime`.

1. Scegli **Applica**.

## Creazione di un notebook Studio con il flusso di dati Kinesis
<a name="example-notebook-streams-create"></a>

Ora che hai creato le risorse utilizzate dall'applicazione, puoi creare il notebook Studio. 

**Topics**
+ [

### Crea un taccuino Studio utilizzando il Console di gestione AWS
](#example-notebook-create-streams-console)
+ [

### Crea un taccuino Studio utilizzando il AWS CLI
](#example-notebook-msk-create-api)

### Crea un taccuino Studio utilizzando il Console di gestione AWS
<a name="example-notebook-create-streams-console"></a>

1. [Aprire la console Managed Service for Apache Flink a casa https://console.aws.amazon.com/managed-flink/? region=us-east-1\$1/applicazioni/dashboard.](https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard) 

1. Nella pagina **Applicazioni del servizio gestito per Apache Flink**, scegli la scheda **Studio**. Scegli **Crea notebook Studio**.
**Nota**  
Puoi anche creare un notebook Studio dalle console Amazon MSK o del flusso di dati Kinesis selezionando il cluster Amazon MSK o il flusso di dati Kinesis di input e scegliendo **Elabora dati in tempo reale**.

1. Nella pagina **Crea notebook Studio**, immetti le seguenti informazioni:
   + Inserisci **MyNotebook** per il nome del notebook.
   + Scegli l'**impostazione predefinita** per il **database AWS Glue**.

   Scegli **Crea notebook Studio**.

1. **Nella pagina, scegli Esegui. **MyNotebook**** Attendi che lo **stato** mostri **In esecuzione**. Si applicano costi quando il notebook è in funzione.

### Crea un taccuino Studio utilizzando il AWS CLI
<a name="example-notebook-msk-create-api"></a>

Per creare il tuo taccuino Studio utilizzando AWS CLI, procedi come segue:

1. Verifica l'ID del tuo account. Questo valore è necessario per creare l'applicazione.

1. Crea il ruolo `arn:aws:iam::AccountID:role/ZeppelinRole` e aggiungi le seguenti autorizzazioni al ruolo creato automaticamente dalla console.

   `"kinesis:GetShardIterator",`

   `"kinesis:GetRecords",`

   `"kinesis:ListShards"`

1. Crea un file denominato `create.json` con i seguenti contenuti. Sostituisci i valori segnaposto con le tue informazioni.

   ```
   {
       "ApplicationName": "MyNotebook",
       "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0",
       "ApplicationMode": "INTERACTIVE",
       "ServiceExecutionRole": "arn:aws:iam::AccountID:role/ZeppelinRole",
       "ApplicationConfiguration": {
           "ApplicationSnapshotConfiguration": {
               "SnapshotsEnabled": false
           },
           "ZeppelinApplicationConfiguration": {
               "CatalogConfiguration": {
                   "GlueDataCatalogConfiguration": {
                       "DatabaseARN": "arn:aws:glue:us-east-1:AccountID:database/default"
                   }
               }
           }
       }
   }
   ```

1. Per creare l'applicazione, esegui il comando riportato di seguito:

   ```
   aws kinesisanalyticsv2 create-application --cli-input-json file://create.json 
   ```

1. Una volta completata l'esecuzione del comando, visualizzerai un output che mostra i dettagli per il nuovo notebook Studio. Di seguito è riportato un esempio di output.

   ```
   {
       "ApplicationDetail": {
           "ApplicationARN": "arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook",
           "ApplicationName": "MyNotebook",
           "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0",
           "ApplicationMode": "INTERACTIVE",
           "ServiceExecutionRole": "arn:aws:iam::012345678901:role/ZeppelinRole",
   ...
   ```

1. Per avviare l'applicazione, esegui il comando riportato di seguito. Sostituisci il valore di esempio con il tuo ID account.

   ```
   aws kinesisanalyticsv2 start-application --application-arn arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook\
   ```

## Invio di dati al flusso di dati Kinesis
<a name="example-notebook-streams-send"></a>

Per inviare i dati di test al flusso di dati Kinesis, procedi come segue:

1. Apri [Kinesis Data Generator](https://awslabs.github.io/amazon-kinesis-data-generator/web/help.html). 

1. Scegli **Crea un utente Cognito** con. CloudFormation

1. La CloudFormation console si apre con il modello Kinesis Data Generator. Scegli **Next (Successivo)**.

1. Nella pagina **Specifica i dettagli dello stack**, inserisci il nome utente e la password per l'utente Cognito. Scegli **Next (Successivo)**.

1. Nella pagina **Configura opzioni dello stack**, scegli **Successivo**.

1. Nella pagina **Review Kinesis-Data-Generator-Cognito -User**, scegli l'opzione **Riconosco che AWS CloudFormation potrebbe creare le risorse IAM**. casella di controllo. Scegli **Crea stack**.

1. Attendi che lo CloudFormation stack finisca di essere creato. **Una volta completato lo stack, apri lo stack **Kinesis-Data-Generator-Cognito-User nella console e scegli la scheda Output**. CloudFormation ** **KinesisDataGeneratorUrl**Apri l'URL elencato per il valore di output.

1. Nella pagina **Amazon Kinesis Data Generator**, accedi con le credenziali create nel passaggio 4.

1. Nella pagina successiva, specifica i seguenti valori:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/managed-flink/latest/java/example-notebook-streams.html)

   Per **Modello di record**, incolla il seguente codice:

   ```
   {
       "ticker": "{{random.arrayElement(
           ["AMZN","MSFT","GOOG"]
       )}}",
       "price": {{random.number(
           {
               "min":10,
               "max":150
           }
       )}}
   }
   ```

1. Scegli **Invia dati**.

1. Il generatore invierà dati al flusso di dati Kinesis. 

   Lascia il generatore in esecuzione mentre completi la sezione successiva.

## Test del notebook Studio
<a name="example-notebook-streams-test"></a>

In questa sezione, il notebook Studio viene utilizzato per eseguire query sui dati del flusso di dati Kinesis.

1. [Aprire la console Managed Service for Apache Flink a casa https://console.aws.amazon.com/managed-flink/? region=us-east-1\$1/applicazioni/dashboard.](https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard)

1. Nella pagina **Applicazioni del servizio gestito per Apache Flink**, scegli la scheda **Notebook Studio**. Scegli **MyNotebook**.

1. **Nella pagina, scegli Apri in Apache Zeppelin. **MyNotebook****

   L'interfaccia Apache Zeppelin viene aperta in una nuova scheda.

1. Nella sezione **Ti diamo il benvenuto su Zeppelin\$1**, scegli **Nota Zeppelin**.

1. Nella pagina **Nota Zeppelin**, inserisci la seguente query in una nuova nota:

   ```
   %flink.ssql(type=update)
   select * from stock
   ```

   Seleziona l'icona dell'esecuzione.

   Dopo un breve periodo, la nota visualizza i dati del flusso di dati Kinesis.

Per aprire il pannello di controllo di Apache Flink per la tua applicazione e visualizzare gli aspetti operativi, scegli **PROCESSO FLINK**. Per ulteriori informazioni sul pannello di controllo di Flink, consulta [Pannello di controllo di Apache Flink](https://docs.aws.amazon.com/managed-flink/latest/java/how-dashboard.html) nella [Guida per gli sviluppatori del servizio gestito per Apache Flink](https://docs.aws.amazon.com/).

Per altri esempi di query Streaming SQL in Flink, consulta [Query](https://nightlies.apache.org/flink/flink-docs-release-1.15/dev/table/sql/queries.html) nella [documentazione di Apache Flink](https://nightlies.apache.org/flink/flink-docs-release-1.15/).

# Crea un notebook Studio con Amazon MSK
<a name="example-notebook-msk"></a>

Questo tutorial descrive come creare un notebook Studio che utilizza un cluster Amazon MSK come origine.

**Topics**
+ [

## Configurare un cluster Amazon MSK
](#example-notebook-msk-setup)
+ [

## Aggiungi un gateway NAT al tuo VPC
](#example-notebook-msk-nat)
+ [

## Crea una AWS Glue connessione e una tabella
](#example-notebook-msk-glue)
+ [

## Crea un notebook Studio con Amazon MSK
](#example-notebook-msk-create)
+ [

## Invio di dati al cluster Amazon MSK
](#example-notebook-msk-send)
+ [

## Test del notebook Studio
](#example-notebook-msk-test)

## Configurare un cluster Amazon MSK
<a name="example-notebook-msk-setup"></a>

Per questo tutorial, è necessario un cluster Amazon MSK che consenta l'accesso al testo in chiaro. Se non disponi già di un cluster Amazon MSK, segui il tutorial [Getting Started Using Amazon MSK](https://docs.aws.amazon.com/msk/latest/developerguide/getting-started.html) per creare un Amazon VPC, un cluster Amazon MSK, un argomento e un'istanza client Amazon. EC2 

Seguendo il tutorial, completa le seguenti operazioni:
+ Nella [Fase 3: creazione di un cluster Amazon MSK](https://docs.aws.amazon.com/msk/latest/developerguide/create-cluster.html), passaggio 4, modifica il valore `ClientBroker` da `TLS` a **PLAINTEXT**.

## Aggiungi un gateway NAT al tuo VPC
<a name="example-notebook-msk-nat"></a>

Se hai creato un cluster Amazon MSK seguendo il tutorial [Nozioni di base per l'uso di Amazon MSK](https://docs.aws.amazon.com/msk/latest/developerguide/getting-started.html) o se il tuo Amazon VPC esistente non dispone già di un gateway NAT per le sue sottoreti private, devi aggiungere un gateway NAT al tuo Amazon VPC. Il diagramma seguente illustra l'architettura generale. 

![\[AWS VPC architecture with public and private subnets, NAT gateway, and Glue Data Catalog integration.\]](http://docs.aws.amazon.com/it_it/managed-flink/latest/java/images/vpc_05.png)


Per creare un gateway NAT per il tuo Amazon VPC, procedi come segue:

1. Apri la console Amazon VPC all'indirizzo [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Scegli **Gateway NAT** dalla barra di navigazione a sinistra.

1. Nella pagina **Gateway NAT**, scegli **Crea gateway NAT**.

1. Nella pagina **Crea gateway NAT**, specifica i seguenti valori:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/managed-flink/latest/java/example-notebook-msk.html)

   Scegli **Crea un gateway NAT**.

1. Nella barra di navigazione a sinistra, seleziona **Tabelle di routing**.

1. Seleziona **Crea tabella di routing**.

1. Nella pagina **Crea tabella di routing**, fornisci le seguenti informazioni:
   + **Tag nome:** **ZeppelinRouteTable**
   + **VPC****: scegli il tuo VPC (ad esempio VPC).AWS KafkaTutorial**

   Scegli **Create (Crea) **.

1. Nell'elenco delle tabelle dei percorsi, scegli. **ZeppelinRouteTable** Seleziona la scheda **Route**, seleziona **Modifica route**.

1. Nella scheda **Modifica route** scegli **Aggiungi route**.

1. ****Per **Destinazione**, inserisci **0.0.0.0/0**. Per **Target**, scegli **NAT Gateway**, **ZeppelinGateway**. Seleziona **Salva route**. Scegli **Chiudi**.

1. Nella pagina Tabelle delle rotte, con l'**ZeppelinRouteTable**opzione selezionata, scegli la scheda **Associazioni di sottoreti**. Scegli **Modifica associazioni sottorete**.

1. **Nella pagina **Modifica associazioni di sottoreti**, scegli **AWS KafkaTutorialSubnet2 e AWS KafkaTutorialSubnet 3**.** Seleziona **Salva**.

## Crea una AWS Glue connessione e una tabella
<a name="example-notebook-msk-glue"></a>

Il notebook Studio utilizza un database [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) per i metadati sull'origine dati Amazon MSK. In questa sezione, crei una AWS Glue connessione che descrive come accedere al tuo cluster Amazon MSK e una AWS Glue tabella che descrive come presentare i dati della tua origine dati a client come il tuo notebook Studio. 

**Creazione di una connessione**

1. Accedi Console di gestione AWS e apri la AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Se non disponi già di un AWS Glue database, scegli **Database** dalla barra di navigazione a sinistra. Scegli **Aggiungi database**. Nella finestra **Aggiungi database**, inserisci **default** per **Nome database**. Scegli **Create (Crea) **.

1. Scegli **Connessioni** dalla barra di navigazione a sinistra. Scegli **Aggiungi connessione**.

1. Nella finestra **Aggiungi connessione**, fornisci i seguenti valori:
   + Per **Nome connessione**, inserisci **ZeppelinConnection**.
   + Per **Tipo di connessione**, scegli **Kafka**.
   + Per il **server bootstrap Kafka URLs**, fornisci la stringa del broker bootstrap per il tuo cluster. È possibile ottenere i broker di bootstrap dalla console MSK o immettendo il seguente comando CLI:

     ```
     aws kafka get-bootstrap-brokers --region us-east-1 --cluster-arn ClusterArn
     ```
   + Deseleziona la casella di controllo **Richiedi connessione SSL**.

   Scegli **Next (Successivo)**.

1. Nella pagina **VPC**, fornisci i seguenti valori:
   + **Per **VPC**, scegli il nome del tuo VPC (ad esempio VPC). AWS KafkaTutorial**
   + **Per **Subnet**, scegli 2.AWS KafkaTutorialSubnet**
   + Per **Gruppi di sicurezza**, scegli tutti i gruppi disponibili.

   Scegli **Next (Successivo)**.

1. Nella pagina **Proprietà di connessione**/**Accesso alla connessione**, scegli **Finisci**.

**Creazione di una tabella**
**Nota**  
È possibile creare manualmente la tabella come descritto nei passaggi seguenti oppure utilizzare il codice del connettore di creazione tabella per il servizio gestito per Apache Flink nel notebook all'interno di Apache Zeppelin per creare la tabella tramite un'istruzione DDL. È quindi possibile effettuare il check-in AWS Glue per assicurarsi che la tabella sia stata creata correttamente.

1. Nella barra di navigazione a sinistra, seleziona **Tabelle**. Nella pagina **Tabelle**, scegli **Aggiungi tabelle** > **Aggiungi tabella manualmente**.

1. Nella pagina **Imposta le proprietà della tabella**, inserisci **stock** per **Nome tabella**. Assicurati di selezionare il database creato in precedenza. Scegli **Next (Successivo)**.

1. Nella pagina **Aggiungi un datastore**, scegli **Kafka**. Per il **nome dell'argomento**, inserisci il nome dell'argomento (ad es. **AWS KafkaTutorialTopic**). Per **Connessione**, scegli **ZeppelinConnection**.

1. Nella pagina **Classificazione**, scegli **JSON**. Scegli **Next (Successivo)**.

1. Nella pagina **Definisci uno schema**, scegli Aggiungi colonna per aggiungere una colonna. Aggiungi colonne con le seguenti proprietà:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/managed-flink/latest/java/example-notebook-msk.html)

   Scegli **Next (Successivo)**.

1. Nella pagina successiva, verifica le impostazioni e scegli **Fine.**

1. Scegli la tabella appena creata dall'elenco delle tabelle.

1. Scegliete **Modifica tabella** e aggiungete le seguenti proprietà:
   + chiave:`managed-flink.proctime`, valore: `proctime`
   + chiave:`flink.properties.group.id`, valore: `test-consumer-group`
   + chiave:`flink.properties.auto.offset.reset`, valore: `latest`
   + chiave:`classification`, valore: `json`

   Senza queste coppie chiave/valore, il notebook Flink genera un errore. 

1. Scegli **Applica**.

## Crea un notebook Studio con Amazon MSK
<a name="example-notebook-msk-create"></a>

Ora che hai creato le risorse utilizzate dall'applicazione, puoi creare il notebook Studio. 

**Topics**
+ [

### Crea un taccuino Studio utilizzando il Console di gestione AWS
](#example-notebook-create-msk-console)
+ [

### Crea un taccuino Studio utilizzando il AWS CLI
](#example-notebook-msk-create-api)

**Nota**  
Un notebook Studio può essere creato anche dalla console Amazon MSK scegliendo un cluster esistente, quindi selezionando **Elabora dati in tempo reale**.

### Crea un taccuino Studio utilizzando il Console di gestione AWS
<a name="example-notebook-create-msk-console"></a>

1. [Aprire la console Managed Service for Apache Flink a casa https://console.aws.amazon.com/managed-flink/? region=us-east-1\$1/applicazioni/dashboard.](https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard)

1. Nella pagina **Applicazioni del servizio gestito per Apache Flink**, scegli la scheda **Studio**. Scegli **Crea notebook Studio**.
**Nota**  
Per creare un notebook Studio dalle console Amazon MSK o del flusso di dati Kinesis, seleziona il cluster Amazon MSK o il flusso di dati Kinesis di input, quindi scegli **Elabora dati in tempo reale**.

1. Nella pagina **Crea notebook Studio**, immetti le seguenti informazioni:
   + Inserisci **MyNotebook** per **Nome notebook Studio**.
   + Scegli l'**impostazione predefinita** per il **database AWS Glue**.

   Scegli **Crea notebook Studio**.

1. **Nella pagina, scegli la scheda Configurazione. **MyNotebook**** Nella sezione **Reti**, scegli **Modifica**.

1. Nella MyNotebook pagina **Modifica rete per**, scegli la **configurazione VPC basata sul cluster Amazon MSK**. Scegli il cluster Amazon MSK per **Cluster Amazon MSK**. Scegli **Save changes** (Salva modifiche).

1. **Nella **MyNotebook**pagina, scegli Esegui.** Attendi che lo **stato** mostri **In esecuzione**.

### Crea un taccuino Studio utilizzando il AWS CLI
<a name="example-notebook-msk-create-api"></a>

Per creare il tuo taccuino Studio utilizzando il AWS CLI, procedi come segue:

1. Assicurati di disporre delle informazioni riportate di seguito. Questi valori sono necessari per creare l'applicazione.
   + ID dell'account.
   + L'ID della sottorete IDs e del gruppo di sicurezza per l'Amazon VPC che contiene il cluster Amazon MSK.

1. Crea un file denominato `create.json` con i seguenti contenuti. Sostituisci i valori segnaposto con le tue informazioni.

   ```
   {
       "ApplicationName": "MyNotebook",
       "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0",
       "ApplicationMode": "INTERACTIVE",
       "ServiceExecutionRole": "arn:aws:iam::AccountID:role/ZeppelinRole",
       "ApplicationConfiguration": {
           "ApplicationSnapshotConfiguration": {
               "SnapshotsEnabled": false
           },
           "VpcConfigurations": [
               {
                   "SubnetIds": [
                       "SubnetID 1",
                       "SubnetID 2",
                       "SubnetID 3"
                   ],
                   "SecurityGroupIds": [
                       "VPC Security Group ID"
                   ]
               }
           ],
           "ZeppelinApplicationConfiguration": {
               "CatalogConfiguration": {
                   "GlueDataCatalogConfiguration": {
                       "DatabaseARN": "arn:aws:glue:us-east-1:AccountID:database/default"
                   }
               }
           }
       }
   }
   ```

1. Per creare l'applicazione, esegui il comando riportato di seguito:

   ```
   aws kinesisanalyticsv2 create-application --cli-input-json file://create.json 
   ```

1. Una volta completata l'esecuzione del comando, dovresti visualizzare un output simile al seguente, che mostra i dettagli per il nuovo notebook Studio:

   ```
   {
       "ApplicationDetail": {
           "ApplicationARN": "arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook",
           "ApplicationName": "MyNotebook",
           "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0",
           "ApplicationMode": "INTERACTIVE",
           "ServiceExecutionRole": "arn:aws:iam::012345678901:role/ZeppelinRole",
   ...
   ```

1. Per avviare l'applicazione, esegui il comando riportato di seguito. Sostituisci il valore segnaposto con il tuo ID account.

   ```
   aws kinesisanalyticsv2 start-application --application-arn arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook\
   ```

## Invio di dati al cluster Amazon MSK
<a name="example-notebook-msk-send"></a>

In questa sezione, esegui uno script Python nel tuo EC2 client Amazon per inviare dati alla tua origine dati Amazon MSK.

1. Connect al tuo EC2 client Amazon.

1. Esegui i seguenti comandi per installare Python versione 3, Pip e il pacchetto Kafka per Python e conferma le operazioni:

   ```
   sudo yum install python37
   curl -O https://bootstrap.pypa.io/get-pip.py
   python3 get-pip.py --user
   pip install kafka-python
   ```

1. Configuralo AWS CLI sul tuo computer client inserendo il seguente comando:

   ```
   aws configure
   ```

   Fornisci le credenziali del tuo account e **us-east-1** per `region`.

1. Crea un file denominato `stock.py` con i seguenti contenuti. Sostituisci il valore di esempio con la stringa Bootstrap Brokers del tuo cluster Amazon MSK e aggiorna il nome dell'argomento se l'argomento non è: **AWS KafkaTutorialTopic**

   ```
   from kafka import KafkaProducer
   import json
   import random
   from datetime import datetime
   
   BROKERS = "<<Bootstrap Broker List>>"
   producer = KafkaProducer(
       bootstrap_servers=BROKERS,
       value_serializer=lambda v: json.dumps(v).encode('utf-8'),
       retry_backoff_ms=500,
       request_timeout_ms=20000,
       security_protocol='PLAINTEXT')
   
   
   def getStock():
       data = {}
       now = datetime.now()
       str_now = now.strftime("%Y-%m-%d %H:%M:%S")
       data['event_time'] = str_now
       data['ticker'] = random.choice(['AAPL', 'AMZN', 'MSFT', 'INTC', 'TBV'])
       price = random.random() * 100
       data['price'] = round(price, 2)
       return data
   
   
   while True:
       data =getStock()
       # print(data)
       try:
           future = producer.send("AWSKafkaTutorialTopic", value=data)
           producer.flush()
           record_metadata = future.get(timeout=10)
           print("sent event to Kafka! topic {} partition {} offset {}".format(record_metadata.topic, record_metadata.partition, record_metadata.offset))
       except Exception as e:
           print(e.with_traceback())
   ```

1. Esegui lo script con il comando seguente:

   ```
   $ python3 stock.py
   ```

1. Lascia lo script in esecuzione mentre completi la sezione seguente.

## Test del notebook Studio
<a name="example-notebook-msk-test"></a>

In questa sezione, il notebook Studio viene utilizzato per eseguire query sui dati del cluster Amazon MSK.

1. [Aprire la console Managed Service for Apache Flink a casa? https://console.aws.amazon.com/managed-flink/ region=us-east-1\$1/applicazioni/dashboard.](https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard)

1. Nella pagina **Applicazioni del servizio gestito per Apache Flink**, scegli la scheda **Notebook Studio**. Scegli **MyNotebook**.

1. **Nella pagina, scegli Apri in Apache Zeppelin. **MyNotebook****

   L'interfaccia di Apache Zeppelin viene aperta in una nuova scheda.

1. Nella pagina **Ti diamo il benvenuto su Zeppelin\$1**, scegli **Nuova nota Zeppelin**.

1. Nella pagina **Nota Zeppelin**, inserisci la seguente query in una nuova nota:

   ```
   %flink.ssql(type=update)
   select * from stock
   ```

   Seleziona l'icona dell'esecuzione.

   L'applicazione mostra i dati del cluster Amazon MSK.

Per aprire il pannello di controllo di Apache Flink per la tua applicazione e visualizzare gli aspetti operativi, scegli **PROCESSO FLINK**. Per ulteriori informazioni sul pannello di controllo di Flink, consulta [Pannello di controllo di Apache Flink](https://docs.aws.amazon.com/managed-flink/latest/java/how-dashboard.html) nella [Guida per gli sviluppatori del servizio gestito per Apache Flink](https://docs.aws.amazon.com/).

Per altri esempi di query Streaming SQL in Flink, consulta [Query](https://nightlies.apache.org/flink/flink-docs-release-1.15/dev/table/sql/queries.html) nella [documentazione di Apache Flink](https://nightlies.apache.org/flink/flink-docs-release-1.15/).

# Pulisci l'applicazione e le risorse dipendenti
<a name="example-notebook-cleanup"></a>

## Eliminazione del notebook Studio
<a name="example-notebook-cleanup-app"></a>

1. Apri la console del servizio gestito per Apache Flink.

1. Scegli **MyNotebook**.

1. Scegli **Operazioni**, quindi **Elimina**.

## Eliminare il AWS Glue database e la connessione
<a name="example-notebook-cleanup-glue"></a>

1. Apri la AWS Glue console all'indirizzo [https://console.aws.amazon.com/glue/](https://console.aws.amazon.com/glue/).

1. Scegli **Database** dalla barra di navigazione a sinistra. Seleziona la casella di controllo accanto a **Predefinito** per selezionarla. Scegli **Operazione**, **Elimina database**. Conferma la selezione.

1. Scegli **Connessioni** dalla barra di navigazione a sinistra. Seleziona la casella di controllo accanto a **ZeppelinConnection**per selezionarla. Scegli **Operazione**, **Elimina connessione**. Conferma la selezione.

## Eliminazione del ruolo e della policy IAM
<a name="example-notebook-msk-cleanup-iam"></a>

1. Aprire la console IAM all'indirizzo [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dalla barra di navigazione sinistra, scegli **Ruoli**.

1. Usa la barra di ricerca per cercare il **ZeppelinRole**ruolo.

1. Scegli il **ZeppelinRole**ruolo. Scegli **Elimina ruolo**. Conferma l'eliminazione.

## Elimina il tuo gruppo di CloudWatch log
<a name="example-notebook-cleanup-cw"></a>

La console crea automaticamente un CloudWatch gruppo e un flusso di log quando crei l'applicazione utilizzando la console. Non ottieni un gruppo di log e un flusso di log se l'applicazione viene creata utilizzando la AWS CLI.

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Scegli **Gruppi di log** dalla barra di navigazione a sinistra.

1. Scegli il gruppo**/AWS/KinesisAnalytics/MyNotebook**log.

1. Scegli **Operazioni** > **Elimina gruppo/i di log**. Conferma l’eliminazione.

## Pulisci le risorse di Kinesis Data Streams
<a name="example-notebook-cleanup-streams"></a>

Per eliminare il flusso di dati Kinesis, apri la console del flusso di dati Kinesis, seleziona il flusso Kinesis e scegli **Operazioni** > **Elimina**.

## Eliminazione delle risorse MSK
<a name="example-notebook-cleanup-msk"></a>

Segui i passaggi in questa sezione se hai creato un cluster Amazon MSK per questo tutorial. Questa sezione contiene istruzioni per eliminare l'istanza client Amazon EC2, l'Amazon VPC e il cluster Amazon MSK.

### Elimina il tuo cluster Amazon MSK
<a name="example-notebook-msk-cleanup-msk"></a>

Segui questi passaggi se hai creato un cluster Amazon MSK per questo tutorial.

1. Aprire la console Amazon MSK a [https://console.aws.amazon.com/msk/casa? region=us-east-1\$1/home/.](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/)

1. Scegli **AWS KafkaTutorialCluster**. Scegli **Elimina**. Inserisci **delete** nella finestra che appare e conferma la selezione.

### Interruzione di un'istanza client
<a name="example-notebook-msk-cleanup-client"></a>

Segui questi passaggi se hai creato un'istanza client Amazon EC2 per questo tutorial.

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Scegli **Istanze** nella barra di navigazione a sinistra.

1. Scegli la casella di controllo accanto a per selezionarla. **ZeppelinClient**

1. Scegli **Stato istanza** > **Termina istanza**.

### Eliminazione di Amazon VPC
<a name="example-notebook-msk-cleanup-vpc"></a>

Segui questi passaggi se hai creato un Amazon VPC per questo tutorial.

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Scegli **Interfacce di rete** dalla barra di navigazione a sinistra.

1. Inserisci l'ID VPC nella barra di ricerca e premi Invio per effettuare la ricerca.

1. Seleziona la casella di controllo nell'intestazione della tabella per selezionare tutte le interfacce di rete visualizzate.

1. Seleziona **Operazioni** > **Scollega**. Nella finestra che appare, scegli **Abilita** in **Forza distacco**. Scegli **Scollega** e attendi che tutte le interfacce di rete raggiungano lo stato **Disponibile**.

1. Seleziona la casella di controllo nell'intestazione della tabella per selezionare nuovamente tutte le interfacce di rete visualizzate.

1. Scegli **Operazioni** > **Elimina**. Conferma l'operazione.

1. Apri la console Amazon VPC all'indirizzo [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Seleziona **AWS KafkaTutorialVPC**. Scegli **Operazioni** > **Elimina VPC**. Inserisci **delete** e conferma l'eliminazione.