Utilizzo delle proprietà di runtime in Managed Service for Apache Flink - Servizio gestito per Apache Flink

Il servizio gestito da Amazon per Apache Flink era precedentemente noto come Analisi dei dati Amazon Kinesis per Apache Flink.

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

Utilizzo delle proprietà di runtime in Managed Service for Apache Flink

È possibile utilizzare le proprietà di runtime per configurare l'applicazione senza ricompilare il codice dell'applicazione.

Gestisci le proprietà di runtime utilizzando la console

È possibile aggiungere, aggiornare o rimuovere le proprietà di runtime dall'applicazione Managed Service for Apache Flink utilizzando. AWS Management Console

Nota

Se utilizzi una versione precedente supportata di Apache Flink e desideri aggiornare le tue applicazioni esistenti ad Apache Flink 1.19.1, puoi farlo utilizzando gli aggiornamenti di versione di Apache Flink in loco. Con gli aggiornamenti di versione in loco, è possibile mantenere la tracciabilità delle applicazioni rispetto a un'unica versione di Apache Flink, ARN tra cui istantanee, log, metriche, tag, configurazioni Flink e altro ancora. Puoi RUNNING READY utilizzare questa funzionalità in qualsiasi stato. Per ulteriori informazioni, consulta Usa gli aggiornamenti di versione sul posto per Apache Flink.

Aggiornamento delle proprietà di runtime per un'applicazione del servizio gestito per Apache Flink
  1. Apri la console Managed Service for Apache Flink all'indirizzo /flink https://console.aws.amazon.com

  2. Scegli l'applicazione del servizio gestito per Apache Flink. Scegli Dettagli dell'applicazione.

  3. Nella pagina della tua applicazione, scegli Configura.

  4. Espandi la sezione Proprietà.

  5. Utilizza i controlli nella sezione Proprietà per definire un gruppo di proprietà con coppie chiave-valore. Utilizza questi controlli per aggiungere, aggiornare o rimuovere gruppi di proprietà e proprietà di runtime.

  6. Scegli Aggiorna.

Gestite le proprietà di runtime utilizzando il CLI

Puoi aggiungere, aggiornare o rimuovere le proprietà di runtime utilizzando la AWS CLI.

Questa sezione include esempi di richieste di API azioni per la configurazione delle proprietà di runtime per un'applicazione. Per informazioni su come utilizzare un JSON file come input per un'APIazione, vedereCodice di esempio di Managed Service per Apache Flink API.

Nota

Sostituisci l'ID dell'account di esempio (012345678901) negli esempi seguenti con l'ID del tuo account.

Aggiungi proprietà di runtime durante la creazione di un'applicazione

Il seguente esempio di richiesta per l'operazione CreateApplication aggiunge due gruppi di proprietà di runtime (ProducerConfigProperties e ConsumerConfigProperties) quando crei un'applicazione:

{ "ApplicationName": "MyApplication", "ApplicationDescription": "my java test app", "RuntimeEnvironment": "FLINK-1_19", "ServiceExecutionRole": "arn:aws:iam::012345678901:role/MF-stream-rw-role", "ApplicationConfiguration": { "ApplicationCodeConfiguration": { "CodeContent": { "S3ContentLocation": { "BucketARN": "arn:aws:s3:::ka-app-code-username", "FileKey": "java-getting-started-1.0.jar" } }, "CodeContentType": "ZIPFILE" }, "EnvironmentProperties": { "PropertyGroups": [ { "PropertyGroupId": "ProducerConfigProperties", "PropertyMap" : { "flink.stream.initpos" : "LATEST", "aws.region" : "us-west-2", "AggregationEnabled" : "false" } }, { "PropertyGroupId": "ConsumerConfigProperties", "PropertyMap" : { "aws.region" : "us-west-2" } } ] } } }

Aggiungere e aggiornare le proprietà di runtime in un'applicazione esistente

La seguente richiesta per l'operazione UpdateApplication aggiunge o aggiorna le proprietà di runtime per un'applicazione esistente:

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 2, "ApplicationConfigurationUpdate": { "EnvironmentPropertyUpdates": { "PropertyGroups": [ { "PropertyGroupId": "ProducerConfigProperties", "PropertyMap" : { "flink.stream.initpos" : "LATEST", "aws.region" : "us-west-2", "AggregationEnabled" : "false" } }, { "PropertyGroupId": "ConsumerConfigProperties", "PropertyMap" : { "aws.region" : "us-west-2" } } ] } } }
Nota

Se utilizzi una chiave che non ha una proprietà di runtime corrispondente in un gruppo di proprietà, il servizio gestito per Apache Flink aggiunge la coppia chiave-valore come nuova proprietà. Se utilizzi una chiave per una proprietà di runtime esistente in un gruppo di proprietà, il servizio gestito per Apache Flink aggiorna il valore della proprietà.

Rimuovere le proprietà di runtime

La seguente richiesta per l'operazione UpdateApplication rimuove tutte le proprietà di runtime e i gruppi di proprietà da un'applicazione esistente:

{ "ApplicationName": "MyApplication", "CurrentApplicationVersionId": 3, "ApplicationConfigurationUpdate": { "EnvironmentPropertyUpdates": { "PropertyGroups": [] } } }
Importante

Se ometti un gruppo di proprietà esistente o una chiave di proprietà esistente in un gruppo di proprietà, tale gruppo di proprietà o proprietà vengono rimossi.

Accedi alle proprietà di runtime in un'applicazione Managed Service for Apache Flink

È possibile recuperare le proprietà di runtime nel codice dell'applicazione Java utilizzando il metodo statico KinesisAnalyticsRuntime.getApplicationProperties(), che restituisce un oggetto Map<String, Properties>.

Il seguente esempio di codice Java recupera le proprietà di runtime per l'applicazione:

Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties();

Recupera un gruppo di proprietà (come oggetto Java.Util.Properties) nel modo seguente:

Properties consumerProperties = applicationProperties.get("ConsumerConfigProperties");

In genere si configura un'origine o un sink Apache Flink passando nell'oggetto Properties senza bisogno di recuperare le singole proprietà. Il seguente esempio di codice dimostra come creare un'origine Flink passando un oggetto Properties recuperato dalle proprietà di runtime:

private static FlinkKinesisProducer<String> createSinkFromApplicationProperties() throws IOException { Map<String, Properties> applicationProperties = KinesisAnalyticsRuntime.getApplicationProperties(); FlinkKinesisProducer<String> sink = new FlinkKinesisProducer<String>(new SimpleStringSchema(), applicationProperties.get("ProducerConfigProperties")); sink.setDefaultStream(outputStreamName); sink.setDefaultPartition("0"); return sink; }

Per alcuni esempi di codice, consulta Esempi di creazione e utilizzo di Managed Service per applicazioni Apache Flink.