

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