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.
Cette rubrique contient les sections suivantes :
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
Ouvrez le service géré pour la console Apache Flink à https://console.aws.amazon.com l'adresse /flink
Choisissez votre application de service géré pour Apache Flink. Choisissez Détails de l’application.
Sur la page de votre application, choisissez Configurer.
Développez la section Propriétés.
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.
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, consultezAPIExemple de code de service géré pour Apache Flink.
Note
Remplacez l'exemple d'identifiant de compte (
) dans les exemples suivants avec votre identifiant de compte.012345678901
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.