

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

# Esempi di creazione e utilizzo di Managed Service per applicazioni Apache Flink
<a name="examples-collapsibles"></a>

Questa sezione fornisce esempi di creazione e utilizzo di applicazioni nel servizio gestito per Apache Flink. Includono codice di esempio e step-by-step istruzioni per aiutarti a creare servizi gestiti per applicazioni Apache Flink e testare i risultati.

Prima di esplorare questi esempi, ti consigliamo di esaminare quanto segue: 
+ [Come funziona](how-it-works.md)
+ [Tutorial: inizia a usare l' DataStream API in Managed Service for Apache Flink](getting-started.md)

**Nota**  
Questi esempi presuppongono che si stia utilizzando la regione Stati Uniti orientali (Virginia settentrionale) (us-east-1). Se utilizzi una regione diversa, aggiorna il codice dell'applicazione, i comandi e i ruoli IAM in modo appropriato.

**Topics**
+ [Esempi di Java per Managed Service for Apache Flink](examples-new-java.md)
+ [Esempi in Python per Managed Service for Apache Flink](examples-new-python.md)
+ [Esempi di Scala per Managed Service for Apache Flink](examples-new-scala.md)

# Esempi di Java per Managed Service for Apache Flink
<a name="examples-new-java"></a>

Gli esempi seguenti mostrano come creare applicazioni scritte in Java.



**Nota**  
La maggior parte degli esempi è progettata per essere eseguita sia localmente, sulla tua macchina di sviluppo e sul tuo IDE preferito, sia su Amazon Managed Service for Apache Flink. Dimostrano i meccanismi che è possibile utilizzare per passare i parametri dell'applicazione e come impostare correttamente la dipendenza per eseguire l'applicazione in entrambi gli ambienti senza modifiche.

## Migliora le prestazioni di serializzazione definendone la personalizzazione TypeInfo
<a name="improving-serialization-performance-java"></a>

Questo esempio illustra come definire qualcosa di personalizzato TypeInfo sul record o sull'oggetto di stato per evitare che la serializzazione ritorni alla serializzazione Kryo, meno efficiente. Ciò è necessario, ad esempio, quando gli oggetti contengono un o. `List` `Map` Per ulteriori informazioni, consulta [Tipi di dati e serializzazione nella documentazione](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/dev/datastream/fault-tolerance/serialization/types_serialization/#data-types--serialization) di Apache Flink. L'esempio mostra anche come verificare se la serializzazione dell'oggetto ricade sulla meno efficiente serializzazione di Kryo.

Esempio di codice: [CustomTypeInfo](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/Serialization/CustomTypeInfo)

## Inizia con l' DataStream API
<a name="getting-started-datastream-java"></a>

Questo esempio mostra una semplice applicazione, che legge da un flusso di dati Kinesis e scrive su un altro flusso di dati Kinesis, utilizzando l'API. `DataStream` L'esempio dimostra come configurare il file con le dipendenze corrette, creare Uber-JAR e quindi analizzare i parametri di configurazione, in modo da poter eseguire l'applicazione sia localmente, nell'IDE e su Amazon Managed Service for Apache Flink.

Esempio di codice: [GettingStarted](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/GettingStarted)

## Inizia con l'API Table e SQL
<a name="getting-started-table-java"></a>

Questo esempio mostra una semplice applicazione che utilizza l'`Table`API e SQL. Dimostra come integrare l'`DataStream`API con l'`Table`API o SQL nella stessa applicazione Java. Dimostra inoltre come utilizzare il `DataGen` connettore per generare dati di test casuali dall'interno dell'applicazione Flink stessa, senza richiedere un generatore di dati esterno.

Esempio completo: [GettingStartedTable](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/GettingStartedTable)

## Usa S3Sink (API) DataStream
<a name="s3-sink-java"></a>

Questo esempio dimostra come utilizzare le `DataStream` API per scrivere file JSON `FileSink` in un bucket S3.

[Esempio di codice: S3Sink](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/S3Sink)

## Usa una sorgente Kinesis, standard o consumatori EFO e sink (API) DataStream
<a name="kinesis-EFO-sink-java"></a>

Questo esempio dimostra come configurare una sorgente che utilizza un flusso di dati Kinesis, utilizzando lo standard consumer o EFO, e come configurare un sink per il flusso di dati Kinesis.

Esempio di codice: [KinesisConnectors](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/KinesisConnectors)

## Usa un sink Amazon Data Firehose (API) DataStream
<a name="firehose-sink-java"></a>

Questo esempio mostra come inviare dati ad Amazon Data Firehose (precedentemente noto come Kinesis Data Firehose).

Esempio di codice: [KinesisFirehoseSink](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/KinesisFirehoseSink)

## Usa il connettore per lavabo Prometheus
<a name="prometheus-sink-java"></a>

Questo esempio dimostra l'uso del connettore [sink Prometheus per scrivere dati di serie temporali su Prometheus](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/connectors/datastream/prometheus/).

Esempio di codice: [PrometheusSink](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/PrometheusSink)

## Usa le aggregazioni di finestre (API) DataStream
<a name="windowing-aggregations-java"></a>

Questo esempio illustra quattro tipi di aggregazione di finestre nell'API. `DataStream`

1. Finestra scorrevole basata sul tempo di elaborazione

1. Finestra scorrevole basata sull'ora dell'evento

1. Tumbling Window basata sul tempo di elaborazione

1. Tumbling Window basata sull'ora dell'evento

[Esempio di codice: Windowing](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/Windowing) 

## Utilizzare parametri personalizzati
<a name="custom-metrics-java"></a>

Questo esempio mostra come aggiungere metriche personalizzate all'applicazione Flink e inviarle alle metriche. CloudWatch 

Esempio di codice: [CustomMetrics](https://github.com/dzikosc/amazon-managed-service-for-apache-flink-examples/tree/main/java/CustomMetrics)

## Usa Kafka Configuration Provider per recuperare keystore e truststore personalizzati per MTL in fase di esecuzione
<a name="kafka-keystore-mTLS"></a>

Questo esempio illustra come è possibile utilizzare i provider di configurazione Kafka per configurare un keystore e un truststore personalizzati con certificati per l'autenticazione MTLS per il connettore Kafka. Questa tecnica consente di caricare i certificati personalizzati richiesti da Amazon S3 e i segreti dell' Gestione dei segreti AWS avvio dell'applicazione.

Esempio di codice: [Kafka-MTLS-KeyStore- ConfigProviders](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/KafkaConfigProviders/Kafka-mTLS-Keystore-ConfigProviders)

## Usa Kafka Configuration Provider per recuperare i segreti per l'autenticazione in fase di esecuzione SASL/SCRAM
<a name="kafka-secrets"></a>

Questo esempio illustra come utilizzare i provider di configurazione Kafka per recuperare le credenziali Gestione dei segreti AWS e scaricare il truststore da Amazon S3 per configurare l'autenticazione su un connettore Kafka. SASL/SCRAM Questa tecnica consente di caricare i certificati personalizzati richiesti da Amazon S3 e i segreti dell' Gestione dei segreti AWS avvio dell'applicazione.

Esempio di codice: [Kafka- - SASL\$1SSL ConfigProviders](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/KafkaConfigProviders/Kafka-SASL_SSL-ConfigProviders)

## Usa i provider di configurazione Kafka per recuperare keystore e truststore personalizzati per MTL in fase di esecuzione con Table API/SQL
<a name="kafka-custom-keystore"></a>

Questo esempio illustra come è possibile utilizzare i provider di configurazione Kafka nella tabella API /SQL per configurare un keystore e un truststore personalizzati con certificati per l'autenticazione MTLS per il connettore Kafka. Questa tecnica consente di caricare i certificati personalizzati richiesti da Amazon S3 e i segreti dell' Gestione dei segreti AWS avvio dell'applicazione.

Esempio di codice: [Kafka-MTLS-KeyStore-SQL](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/KafkaConfigProviders/Kafka-mTLS-Keystore-Sql-ConfigProviders) - ConfigProviders

## Usa le uscite laterali per dividere uno stream
<a name="side-output"></a>

Questo esempio illustra come sfruttare le [uscite laterali](https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/side_output/) in Apache Flink per suddividere uno stream su attributi specifici. Questo modello è particolarmente utile quando si cerca di implementare il concetto di Dead Letter Queues (DLQ) nelle applicazioni di streaming.

Esempio di codice: [SideOutputs](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/SideOutputs)

## Usa Async I/O per chiamare un endpoint esterno
<a name="async-i-o"></a>

Questo esempio illustra come utilizzare [Apache Flink Async I/O](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/dev/datastream/operators/asyncio/) per chiamare un endpoint esterno in modo non bloccante, con nuovi tentativi sugli errori recuperabili.

[Esempio](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/java/AsyncIO) di codice: AsyncIO

# Esempi in Python per Managed Service for Apache Flink
<a name="examples-new-python"></a>

I seguenti esempi mostrano come creare applicazioni scritte in Python.

**Nota**  
La maggior parte degli esempi è progettata per essere eseguita sia localmente, sulla tua macchina di sviluppo e sul tuo IDE preferito, sia su Amazon Managed Service for Apache Flink. Dimostrano il semplice meccanismo che è possibile utilizzare per passare i parametri dell'applicazione e come impostare correttamente la dipendenza per eseguire l'applicazione in entrambi gli ambienti senza modifiche.

**Dipendenze del progetto**

La maggior parte PyFlink degli esempi richiede una o più dipendenze come file JAR, ad esempio per i connettori Flink. Queste dipendenze devono quindi essere impacchettate con l'applicazione quando vengono distribuite su Amazon Managed Service for Apache Flink. 

Gli esempi seguenti includono già gli strumenti che consentono di eseguire l'applicazione localmente per lo sviluppo e il test e di impacchettare correttamente le dipendenze richieste. Questo strumento richiede l'utilizzo di Java JDK11 e Apache Maven. Fate riferimento al README contenuto in ogni esempio per le istruzioni specifiche.

**Esempi**

## Inizia con PyFlink
<a name="getting-started-pyflink"></a>

Questo esempio dimostra la struttura di base di un' PyFlink applicazione che utilizza SQL incorporato nel codice Python. Questo progetto fornisce anche uno scheletro per qualsiasi PyFlink applicazione che includa dipendenze JAR come i connettori. La sezione README fornisce indicazioni dettagliate su come eseguire l'applicazione Python localmente per lo sviluppo. L'esempio mostra anche come includere una singola dipendenza JAR, il connettore Kinesis SQL in questo esempio, nell' PyFlinkapplicazione.

Esempio di codice: [GettingStarted](https://github.com/dzikosc/amazon-managed-service-for-apache-flink-examples/tree/main/python/GettingStarted)

## Aggiungi dipendenze Python
<a name="add-python-dependencies"></a>

Questo esempio mostra come aggiungere dipendenze Python all' PyFlink applicazione nel modo più generale. Questo metodo funziona per dipendenze semplici, come Boto3, o dipendenze complesse contenenti librerie C come. PyArrow

Esempio di codice: [PythonDependencies](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/python/PythonDependencies)

## Usa le aggregazioni di finestre (API) DataStream
<a name="windowing-aggregations-python"></a>

Questo esempio dimostra quattro tipi di aggregazione di finestre in SQL incorporati in un'applicazione Python.

1. Sliding Window in base al tempo di elaborazione

1. Finestra scorrevole basata sull'ora dell'evento

1. Tumbling Window basata sul tempo di elaborazione

1. Tumbling Window basata sull'ora dell'evento

[Esempio di codice: Windowing](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/python/Windowing)

## Usa un lavandino S3
<a name="s3-sink-python"></a>

Questo esempio mostra come scrivere l'output su Amazon S3 come file JSON, utilizzando SQL incorporato in un'applicazione Python. È necessario abilitare il checkpoint per il sink S3 per scrivere e ruotare i file su Amazon S3. 

[Esempio di](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/python/S3Sink) codice: S3Sink

## Usa una funzione definita dall'utente (UDF)
<a name="UDF-python"></a>

Questo esempio dimostra come definire una funzione definita dall'utente, implementarla in Python e utilizzarla nel codice SQL eseguito in un'applicazione Python. 

[Esempio di codice: UDF](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/python/UDF)

## Usa un sink Amazon Data Firehose
<a name="Firehose-sink-python"></a>

Questo esempio dimostra come inviare dati ad Amazon Data Firehose utilizzando SQL. 

Esempio di codice: [FirehoseSink](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/python/FirehoseSink)

# Esempi di Scala per Managed Service for Apache Flink
<a name="examples-new-scala"></a>

Negli esempi seguenti viene illustrato come creare applicazioni utilizzando Scala con Apache Flink.



## Configura un'applicazione in più fasi
<a name="getting-started-scala"></a>

Questo esempio mostra come configurare un'applicazione Flink in Scala. Dimostra come configurare il progetto SBT per includere dipendenze e creare Uber-JAR. 

Esempio di codice: [GettingStarted](https://github.com/aws-samples/amazon-managed-service-for-apache-flink-examples/tree/main/scala/GettingStarted)