Utiliser les propriétés d'exécution dans Managed Service pour Apache Flink - Service géré pour Apache Flink

Le service géré Amazon pour Apache Flink était auparavant connu sous le nom d’Amazon Kinesis Data Analytics pour Apache Flink.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utiliser les propriétés d'exécution dans Managed Service pour Apache Flink

Vous pouvez utiliser les propriétés d’exécution pour configurer votre application sans recompiler le code de votre application.

Gérer les propriétés d'exécution à l'aide de la console

Vous pouvez ajouter, mettre à jour ou supprimer des propriétés d'exécution de votre application Managed Service for Apache Flink à l'aide du AWS Management Console.

Note

Si vous utilisez une version antérieure prise en charge d'Apache Flink et que vous souhaitez mettre à niveau vos applications existantes vers Apache Flink 1.19.1, vous pouvez le faire en utilisant des mises à niveau de version d'Apache Flink sur place. Grâce aux mises à niveau de version ARN sur place, vous conservez la traçabilité des applications par rapport à une seule version d'Apache Flink, y compris les instantanés, les journaux, les métriques, les balises, les configurations Flink, etc. Vous pouvez utiliser cette fonctionnalité dans RUNNING et dans READY l'État. Pour de plus amples informations, veuillez consulter Utiliser des mises à niveau de version sur place pour Apache Flink.

Mettre à jour les propriétés d’exécution d’une application de service géré pour l’application Apache Flink
  1. Ouvrez le service géré pour la console Apache Flink à https://console.aws.amazon.com l'adresse /flink

  2. Choisissez votre application de service géré pour Apache Flink. Choisissez Détails de l’application.

  3. Sur la page de votre application, choisissez Configurer.

  4. Développez la section Propriétés.

  5. Utilisez les commandes de la section Propriétés pour définir un groupe de propriétés avec des paires clé-valeur. Utilisez ces commandes pour ajouter, mettre à jour ou supprimer des groupes de propriétés et des propriétés d’exécution.

  6. Choisissez Mettre à jour.

Gérez les propriétés d'exécution à l'aide du CLI

Vous pouvez ajouter, mettre à jour ou supprimer des propriétés d’exécution à l’aide de l’interface AWS CLI.

Cette section inclut des exemples de demandes d'APIactions pour configurer les propriétés d'exécution d'une application. Pour plus d'informations sur l'utilisation d'un JSON fichier en tant que saisie pour une API action, consultezExemple de code de service géré pour l'API Apache Flink.

Note

Remplacez l'exemple d'identifiant de compte (012345678901) dans les exemples suivants avec votre identifiant de compte.

Ajouter des propriétés d'exécution lors de la création d'une application

L’exemple de demande d’action CreateApplication suivant ajoute deux groupes de propriétés d’exécution (ProducerConfigProperties et ConsumerConfigProperties) lorsque vous créez une application :

{ "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" } } ] } } }

Ajouter et mettre à jour les propriétés d'exécution dans une application existante

L’exemple de demande d’action UpdateApplication suivant ajoute ou met à jour les propriétés d’exécution d’une application existante :

{ "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" } } ] } } }
Note

Si vous utilisez une clé qui n’a aucune propriété d’exécution correspondante dans un groupe de propriétés, le service géré pour Apache Flink ajoute la paire clé-valeur en tant que nouvelle propriété. Si vous utilisez une clé pour une propriété d’exécution existante dans un groupe de propriétés, le service géré pour Apache Flink met à jour la valeur de la propriété.

Supprimer les propriétés d'exécution

L’exemple de demande d’action UpdateApplication suivant supprime toutes les propriétés d’exécution et tous les groupes de propriétés d’une application existante :

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

Si vous omettez un groupe de propriétés existant ou une clé de propriété existante dans un groupe de propriétés, ce groupe de propriétés ou cette propriété est supprimé.

Accès aux propriétés d'exécution dans un service géré pour une application Apache Flink

Vous pouvez récupérer les propriétés d’exécution dans le code de votre application Java à l’aide de la méthode KinesisAnalyticsRuntime.getApplicationProperties() statique, qui renvoie un objet Map<String, Properties>.

L’exemple de code Java suivant permet de récupérer les propriétés d’exécution pour votre application :

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

Vous pouvez récupérer un groupe de propriétés (sous forme d’objet Java.Util.Properties) comme suit :

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

Vous configurez généralement une source ou un récepteur Apache Flink en transmettant l’objet Properties sans avoir à récupérer les propriétés individuelles. L’exemple de code suivant montre comment créer une source Flink en transmettant un objet Properties extrait des propriétés d’exécution :

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

Pour des exemples de code, consultez Exemples de création et d'utilisation d'un service géré pour les applications Apache Flink.