

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
<a name="how-properties"></a>

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

**Topics**
+ [Gérer les propriétés d'exécution à l'aide de la console](#how-properties-console)
+ [Gérer les propriétés d'exécution à l'aide de la CLI](#how-properties-cli)
+ [Accès aux propriétés d'exécution dans un service géré pour une application Apache Flink](#how-properties-access)

## Gérer les propriétés d'exécution à l'aide de la console
<a name="how-properties-console"></a>

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 sur place, vous conservez la traçabilité des applications par rapport à un seul ARN pour toutes les versions 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](how-in-place-version-upgrades.md).

**Mettre à jour les propriétés d’exécution d’une application de service géré pour l’application Apache Flink**

1. Connectez-vous à la AWS Management Console console Amazon MSF et ouvrez-la à https://console.aws.amazon.com l'adresse /flink.

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

1. Sur la page de votre application, choisissez **Configurer**.

1. Développez la section **Propriétés**.

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

1. Choisissez **Mettre à jour**.

## Gérer les propriétés d'exécution à l'aide de la CLI
<a name="how-properties-cli"></a>

Vous pouvez ajouter, mettre à jour ou supprimer des propriétés d’exécution à l’aide de l’interface [AWS CLI](https://docs.aws.amazon.com/cli). 

Cette section inclut des exemples de demandes d’actions d’API pour configurer les propriétés d’exécution pour une application. Pour obtenir des informations sur l’utilisation d’un fichier JSON comme entrée pour une action d’API, consultez [Exemple de code de service géré pour l'API Apache Flink](api-examples.md).

**Note**  
Remplacez l’exemple d’ID de compte (*`012345678901`*) dans les exemples suivants par votre ID de compte.

### Ajouter des propriétés d'exécution lors de la création d'une application
<a name="how-properties-create"></a>

L’exemple de demande d’action [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_CreateApplication.html) 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
<a name="how-properties-update"></a>

L’exemple de demande d’action [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html) 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
<a name="how-properties-remove"></a>

L’exemple de demande d’action [https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html](https://docs.aws.amazon.com/managed-service-for-apache-flink/latest/apiv2/API_UpdateApplication.html) 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
<a name="how-properties-access"></a>

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](examples-collapsibles.md).