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

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.

Utilizzo delle proprietà di runtime nella 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, mantieni la tracciabilità delle applicazioni su un singolo ARN tra le versioni di Apache Flink, tra cui istantanee, log, metriche, tag, configurazioni Flink e altro ancora. È RUNNING READY possibile utilizzare questa funzionalità in qualsiasi stato. Per ulteriori informazioni, consulta Aggiornamenti di versione in loco per Apache Flink.

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

  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.

Utilizzo delle proprietà di runtime nella CLI

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

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

Nota

Sostituisci l'ID account di esempio (012345678901) nell'esempio seguente con il tuo ID account.

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

Rimozione delle 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.

Accesso 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 Servizio gestito per Apache Flink: esempi.