

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

# Servizio gestito Amazon per Apache Flink 2.2
<a name="flink-2-2"></a>

Amazon Managed Service per Apache Flink ora supporta la versione 2.2 di Apache Flink. Questo è il primo aggiornamento della versione principale del servizio. Questa pagina illustra le funzionalità introdotte in Flink 2.2, insieme a importanti considerazioni per l'aggiornamento da Flink 1.x.

**Nota**  
Flink 2.2 introduce modifiche epocali che richiedono un'attenta pianificazione. Consulta l'elenco completo delle ultime modifiche e delle modifiche obsolete di seguito e prima dell'aggiornamento dalla [Guida alla compatibilità dello stato per gli aggiornamenti di Flink 2.2](state-compatibility.md) 1.x.

## Novità di Amazon Managed Service per Apache Flink 2.2
<a name="flink-2-2-whats-new"></a>

Amazon Managed Service for Apache Flink 2.2 introduce modifiche comportamentali che potrebbero interrompere le applicazioni esistenti al momento dell'aggiornamento. Esaminali attentamente insieme alle modifiche all'API Flink nella sezione successiva.

**Gestione della configurazione programmatica**
+ MSF Flink 2.2 ora segnala un'eccezione quando i clienti tentano di modificare configurazioni non supportate da MSF o simili. `env.getConfig().set()` APIs Per informazioni, consulta [Proprietà di configurazione programmatiche di Flink](programmatic-configuration.md).
+ [I clienti possono comunque richiedere di modificare determinate configurazioni tramite i ticket di assistenza (vedi Impostazioni modificabili)](https://docs.aws.amazon.com/managed-flink/latest/java/reference-modifiable-settings.html)

**Rimozione delle metriche**
+ La `fullRestarts` metrica è stata rimossa in Flink 2.2. Usa invece la `numRestarts` metrica.
+ La `bytesRequestedPerFetch` metrica per il connettore KDS è stata rimossa nella versione 6.0.0 del AWS connettore Flink (solo la versione del connettore è compatibile con Flink 2.2).
+ Le `downtime` metriche `uptime` e sono entrambe contrassegnate come obsolete in Flink 2.2 e verranno rimosse a breve. Sostituisci con la nuova metrica`uptime`. `runningTime` Sostituisci `downtime` con uno o più di `restartingTime``cancellingTime`, e`failingTime`.
+ Consulta la [pagina Metriche e dimensioni](https://docs.aws.amazon.com/managed-flink/latest/java/metrics-dimensions.html) per l'elenco completo delle metriche supportate.

**Chiamate IMDS senza credenziali bloccate**
+ Questi endpoint consentiti vengono utilizzati dagli AWS SDK () e **DefaultCredentialsProvider**(`/latest/meta-data/iam/security-credentials/`) per configurare automaticamente le credenziali e **DefaultAwsRegionProviderChain**la regione per l'applicazione. `/latest/dynamic/instance-identity/document`
+ Le applicazioni che utilizzano le funzioni dell'SDK AWS che si basano su chiamate IMDS senza credenziali (come`EC2MetadataUtils.getInstanceId()`, `EC2MetadataUtils.getInstanceType()``EC2MetadataUtils.getLocalHostName()`, o`EC2MetadataUtils.getAvailabilityZone()`) riceveranno errori HTTP 4xx quando tentano di effettuare queste chiamate.
+ Se la tua applicazione utilizza IMDS, ad esempio metadati o altre informazioni al di fuori dei percorsi consentiti, rifattorizza il codice per utilizzare invece le variabili di ambiente o la configurazione dell'applicazione.

**Filesystem root di sola lettura**
+ Per migliorare la sicurezza, qualsiasi dipendenza al di fuori della `/tmp` quale sia la directory di lavoro flink predefinita risulterà in:. `java.io.FileNotFoundException: /{path}/{filename} (Read-only file system)`
+ Le dipendenze del filesystem possono provenire direttamente dal codice o indirettamente dalle librerie incluse nelle dipendenze. Sostituisci le dipendenze dirette del filesystem nel tuo codice. `/tmp/` Per le dipendenze indirette del filesystem dalle librerie, utilizzate gli override di configurazione delle librerie per reindirizzare le operazioni del file system verso. `/tmp/`

## Interruzione delle modifiche e delle deprecazioni
<a name="flink-2-2-breaking-changes"></a>

Di seguito è riportato un riepilogo delle ultime modifiche e delle deprecazioni introdotte in Managed Service for Apache Flink 2.2. Consulta le note di rilascio di [Apache Flink 2.0 per le note di rilascio](https://nightlies.apache.org/flink/flink-docs-stable/release-notes/flink-2.0/) complete di Apache Flink 2.0 che introducono queste modifiche epocali.

**DataSet API rimossa**
+ L' DataSet API legacy per l'elaborazione in batch è stata completamente rimossa in Flink 2.0\$1. Tutte le elaborazioni in batch devono ora utilizzare l'API DataStream unificata.
+ Le applicazioni che utilizzano l' DataSet API devono essere migrate all' DataStream API prima dell'aggiornamento. Consulta la guida alla migrazione di [Apache Flink per](https://nightlies.apache.org/flink/flink-docs-release-1.20/docs/dev/datastream/dataset_migration/) la conversione DataSet DataStream

**Java 11 e Python 3.8 rimossi**
+ Supporto per Java 11 completamente rimosso; Java 17 è il runtime predefinito e consigliato.
+ Il supporto per Python 3.8 è stato rimosso; Python 3.12 è ora l'impostazione predefinita.

**Classi Legacy Connector rimosse**
+ La versione precedente `SourceFunction` e le `SinkFunction` interfacce sono state sostituite dai nuovi Source (FLIP-27) e Sink (FLIP-143) unificati APIs, che offrono un migliore supporto per la bounded/unbounded dualità, un migliore coordinamento dei checkpoint e un modello di programmazione più pulito.
+ Per Kinesis Data Streams`KinesisStreamsSource`, `KinesisStreamsSink` utilizzare e da. `flink-connector-aws-kinesis-streams:6.0.0-2.0`

**API Scala rimossa**
+ L'API Flink Scala è stata rimossa. L'API Java di Flink è ora l'unica API supportata per le applicazioni basate su JVM.
+ Se la tua applicazione è scritta in Scala, puoi comunque utilizzare l'API Java di Flink dal codice Scala: la modifica principale è che i wrapper specifici di Scala e le conversioni implicite non sono più disponibili. Vedi [Aggiornamento delle applicazioni e delle versioni Flink per i dettagli sull'aggiornamento delle applicazioni](https://nightlies.apache.org/flink/flink-docs-release-2.0/docs/ops/upgrading/) Scala.

**Considerazioni sulla compatibilità degli stati**
+ Il serializzatore Kryo aggiornato dalla versione 2.24 alla 5.6 può causare problemi di compatibilità dello stato.
+ POJOs con collections (`HashMap`,,) potrebbe avere problemi di compatibilità tra `ArrayList` stati`HashSet`.
+ La serializzazione di Avro e Protobuf non è influenzata.
+ Consultate [Guida alla compatibilità dello stato per gli aggiornamenti di Flink 2.2](state-compatibility.md) questa pagina per una valutazione dettagliata del livello di rischio dell'applicazione.

## Funzionalità di Apache Flink 2.2 supportate
<a name="flink-2-2-supported-features"></a>

**Runtime e supporto linguistico**


****  

| Funzionalità | Description | Documentazione | 
| --- | --- | --- | 
| Java 17 Runtime | Java 17 è ora il runtime predefinito e consigliato; il supporto per Java 11 è stato rimosso. | [Compatibilità con Java](https://nightlies.apache.org/flink/flink-docs-stable/zh/docs/deployment/java_compatibility/) | 
| Python 3.12 Support | Python 3.12 ora supportato; supporto Python 3.8 rimosso. | [PyFlink Documentazione](https://nightlies.apache.org/flink/flink-docs-release-2.2/docs/dev/python/overview/) | 

**Gestione dello stato e prestazioni**


****  

| Funzionalità | Description | Documentazione | 
| --- | --- | --- | 
| RockSDB 8.10.0 |  I/O Prestazioni migliorate con l'aggiornamento RockSDB. | [Backend statali](https://nightlies.apache.org/flink/flink-docs-release-2.0/docs/ops/state/state_backends/) | 
| Miglioramenti alla serializzazione | Serializzatori dedicati per Map, List, Set; Kryo aggiornato dalla 2.24 alla 5.6. | [Tipo di serializzazione](https://nightlies.apache.org/flink/flink-docs-release-2.0/docs/dev/datastream/fault-tolerance/serialization/types_serialization/) | 

**Funzionalità delle API SQL e Table**


****  

| Funzionalità | Description | Documentazione | 
| --- | --- | --- | 
| Tipo di dati VARIANT | Supporto nativo per dati semistrutturati (JSON) senza analisi ripetuta delle stringhe. | [Tipi di dati](https://nightlies.apache.org/flink/flink-docs-release-2.1/docs/dev/table/types/) | 
| Delta Join | Riduce i requisiti statali per gli streaming join mantenendo solo la versione più recente di ogni chiave; richiede un'infrastruttura gestita dal cliente (ad esempio, Apache Fluss). | [Si unisce](https://nightlies.apache.org/flink/flink-docs-release-2.1/docs/dev/table/sql/queries/joins/) | 
| StreamingMultiJoinOperator | Esegue giunzioni multidirezionali come operatore singolo, eliminando la materializzazione intermedia. | [FLIP-516](https://cwiki.apache.org/confluence/display/FLINK/FLIP-516) | 
| ProcessTableFunction (PTF) | Abilita una logica statica basata sugli eventi direttamente in SQL con stato e timer per chiave. | [Funzioni definite dall'utente](https://nightlies.apache.org/flink/flink-docs-release-2.1/docs/dev/table/functions/udfs/) | 
| Funzione ML\$1PREDICT | Chiama i modelli ML registrati sulle streaming/batch tabelle direttamente da SQL. Richiede al cliente di raggruppare un' ModelProvider implementazione (ad es.flink-model-openai). ModelProvider le librerie non vengono fornite da Managed Service for Apache Flink. | [ML Predict](https://nightlies.apache.org/flink/flink-docs-release-2.1/docs/dev/table/sql/queries/model-inference/) | 
| Modello DDL | Definisci i modelli ML come oggetti di catalogo di prima classe utilizzando le istruzioni CREATE MODEL. | [Dichiarazioni CREATE](https://nightlies.apache.org/flink/flink-docs-release-2.1/docs/dev/table/sql/create/#create-model) | 
| Ricerca vettoriale | L'API Flink SQL supporta la ricerca nei database vettoriali. Al momento non è disponibile alcuna VectorSearchTableSource implementazione open source; i clienti devono fornire la propria implementazione. | [Flink SQL](https://nightlies.apache.org/flink/flink-docs-stable/release-notes/flink-2.2/#support-vector_search-in-flink-sql) | 

**DataStream Funzionalità dell'API**


****  

| Funzionalità | Description | Documentazione | 
| --- | --- | --- | 
| API sorgente FLIP-27 | Nuova interfaccia sorgente unificata che sostituisce quella precedente. SourceFunction | [Origini](https://nightlies.apache.org/flink/flink-docs-release-2.0/docs/dev/datastream/sources/) | 
| API Sink FLIP-143 | Nuova interfaccia sink unificata che sostituisce la versione precedente. SinkFunction | [Lavelli](https://nightlies.apache.org/flink/flink-docs-release-2.0/docs/dev/datastream/sinks/) | 
| Python asincrono DataStream |  I/O Operazioni non bloccanti nell'API DataStream Python utilizzando. AsyncFunction | [I/O asincrono](https://nightlies.apache.org/flink/flink-docs-release-2.2/docs/dev/python/datastream/operators/async_io/) | 

## Disponibilità del connettore
<a name="flink-2-2-connectors"></a>

Quando si esegue l'aggiornamento a Flink 2.2, è inoltre necessario aggiornare le dipendenze dei connettori a versioni compatibili con il runtime Flink 2.2. I connettori Flink vengono rilasciati indipendentemente dal runtime Flink e non tutti i connettori hanno ancora una versione compatibile con Flink 2.2. La tabella seguente riassume la disponibilità dei connettori di uso comune in Amazon Managed Service for Apache Flink:


**Disponibilità dei connettori per Flink 2.2**  

| Connector | Versione Flink 1.20 | Versione Flink 2.0\$1 | Note | 
| --- | --- | --- | --- | 
| Apache Kafka | flink-connector-kafka 3,4,0-1,20 | flink-connector-kafka 4,0,0-2,0 | Consigliato per Flink 2.2 | 
| Kinesis Data Streams (fonte) | flink-connector-kinesis 5,0,0-1,20 | flink-connector-aws-kinesis-stream 6.0.0-2.0 | Consigliato per Flink 2.2 | 
| Kinesis Data Streams (sink) | flink-connector-aws-kinesis-stream 5.1.0-1.20 | flink-connector-aws-kinesis-stream 6.0.0-2.0 | Consigliato per Flink 2.2 | 
| Amazon Data Firehose | flink-connector-aws-kinesis-Firehose 5.1.0-1.20 | flink-connector-aws-kinesis- manichetta antincendio 6.0.0-2.0 | Compatibile con Flink 2.0 | 
| Amazon DynamoDB | flink-connector-dynamodb 5,1,0-1,20 | flink-connector-dynamodb 6,0,0-2,0 | Compatibile con Flink 2.0 | 
| Amazon SQS | flink-connector-sqs 5,1,0-1,20 | flink-connector-sqs 6,0,0-2,0 | Compatibile con Flink 2.0 | 
| FileSystem (S3, HDFS) | In bundle con Flink | In bundle con Flink | Integrato nella distribuzione Flink, sempre disponibile | 
| JDBC | flink-connector-jdbc 3,3,0-1,20 | Non ancora rilasciato per 2.x | Nessuna versione compatibile con Flink 2.x disponibile | 
| OpenSearch | flink-connector-opensearch 1.2.0-1,19 | Non ancora rilasciato per 2.x | Nessuna versione compatibile con Flink 2.x disponibile | 
| Elasticsearch | Solo connettore Legacy | Non ancora rilasciato per 2.x | Prendi in considerazione la migrazione al connettore OpenSearch  | 
| Amazon Managed Service per Prometheus | flink-connector-prometheus 1,0,0-1,20 | Non ancora rilasciato per 2.x | Nessuna versione compatibile con Flink 2.x disponibile | 
+ Se l'applicazione dipende da un connettore che non dispone ancora di una versione Flink 2.x, sono disponibili due opzioni: attendere che il connettore rilasci una versione compatibile o valutare se è possibile sostituirlo con un'alternativa (ad esempio, utilizzando il catalogo JDBC o un sink personalizzato).
+ Durante l'aggiornamento delle versioni dei connettori, presta attenzione alle modifiche dei nomi degli artefatti: alcuni connettori sono stati rinominati tra le versioni principali (ad esempio, il connettore Firehose è cambiato da `flink-connector-aws-kinesis-firehose` a `flink-connector-aws-firehose` in alcune versioni intermedie).
+ Consulta sempre la [documentazione del connettore Amazon Managed Service for Apache Flink](https://docs.aws.amazon.com/managed-flink/latest/java/how-flink-connectors.html) per i nomi esatti degli artefatti e le versioni supportate nel runtime di destinazione.

## Funzionalità sperimentali e non supportate
<a name="flink-2-2-unsupported"></a>

Le seguenti funzionalità non sono supportate in Amazon Managed Service for Apache Flink 2.2:
+ Tabelle **materializzate: istantanee di tabelle** interrogabili e gestite in modo continuo.
+ Modifiche **telemetriche personalizzate: report metrici personalizzati e configurazioni di telemetria**.
+ **ForSt State Backend**: archiviazione a stati disaggregata (sperimentale in open source).
+ **Java 21**: supporto sperimentale in open source, non supportato in Managed Service for Apache Flink.

## Problemi noti
<a name="flink-2-2-known-issues"></a>

**Servizio gestito Amazon per Apache Flink Studio**

Flink 2.2 in Amazon Managed Service for Apache Flink non supporta le applicazioni Studio. Per ulteriori informazioni, consulta [Creazione di un notebook Studio](https://docs.aws.amazon.com/managed-flink/latest/java/how-zeppelin-creating.html).

**Connettore Kinesis EFO**
+ Le applicazioni che utilizzano il percorso `KinesisStreamsSource` con EFO (Enhanced Fan-Out/ SubscribeToShard) introdotto nei connettori v5.0.0 e v6.0.0 potrebbero fallire quando gli stream Kinesis vengono sottoposti a resharding. Si tratta di un problema noto nella comunità. Per ulteriori informazioni, vedere [FLINK-37648](https://issues.apache.org/jira/browse/FLINK-37648).
+ Le applicazioni che utilizzano il percorso `KinesisStreamsSource` with EFO (Enhanced Fan-Out/ SubscribeToShard) introdotto insieme ai connettori v5.0.0 e v6.0.0 `KinesisStreamsSink` potrebbero riscontrare dei deadlock se l'applicazione Flink è sottoposta a contropressione, con conseguente arresto completo dell'elaborazione dei dati in uno o più. TaskManagers Per ripristinare l'applicazione sono necessarie un'operazione di arresto forzato e un'operazione di avvio dell'applicazione. Questo è un caso secondario del problema noto nella comunità. Per ulteriori informazioni, vedere [FLINK-34071](https://issues.apache.org/jira/browse/FLINK-34071).

## Esperienza di aggiornamento
<a name="flink-2-2-upgrade"></a>

Amazon Managed Service for Apache Flink supporta aggiornamenti di versione in loco che preservano la configurazione dell'applicazione, i log, le metriche, i tag e, se lo stato e i binari sono compatibili, lo stato dell'applicazione. step-by-step[Aggiornamento a Flink 2.2: guida completa](flink-2-2-upgrade-guide.md)Per istruzioni, consulta.

Per indicazioni sulla valutazione del rischio di compatibilità dello stato e sulla gestione dello stato di incompatibilità durante gli aggiornamenti, vedere. [Guida alla compatibilità dello stato per gli aggiornamenti di Flink 2.2](state-compatibility.md)

## Fasi successive
<a name="flink-2-2-next-steps"></a>
+ Sei nuovo a Flink 2.2? Per la documentazione dettagliata di Apache Flink 2.2, consultate la documentazione di [Apache](https://nightlies.apache.org/flink/flink-docs-release-2.2/) Flink 2.2.
+ Stai pianificando un aggiornamento? Per informazioni, consultare [Aggiornamento a Flink 2.2: guida completa](flink-2-2-upgrade-guide.md).
+ Problemi di compatibilità a livello statale? Per informazioni, consultare [Guida alla compatibilità dello stato per gli aggiornamenti di Flink 2.2](state-compatibility.md).

Per domande o problemi, consulta [Risoluzione dei problemi relativi al servizio gestito per Apache Flink](troubleshooting.md) o contatta l' AWS assistenza.