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.
Questo argomento contiene le sezioni seguenti:
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
Apri la console Managed Service for Apache Flink all'indirizzo /flink https://console.aws.amazon.com
Scegli l'applicazione del servizio gestito per Apache Flink. Scegli Dettagli dell'applicazione.
Nella pagina della tua applicazione, scegli Configura.
Espandi la sezione Proprietà.
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.
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 (
) negli esempi seguenti con l'ID del tuo account.012345678901
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.