

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.

# Utilisation du mode de développement local de l' AWS AppConfig agent
<a name="appconfig-agent-how-to-use-local-development"></a>

AWS AppConfig L'agent prend en charge un *mode de développement local*. Si vous activez le mode de développement local, l'agent lit les données de configuration depuis un répertoire spécifique sur le disque. Il ne récupère pas les données de configuration de AWS AppConfig. Vous pouvez simuler des déploiements de configuration en mettant à jour les fichiers dans le répertoire spécifié. Nous recommandons le mode de développement local pour les cas d'utilisation suivants :
+ Testez différentes versions de configuration avant de les déployer à l'aide de AWS AppConfig.
+ Testez différentes options de configuration pour une nouvelle fonctionnalité avant de valider les modifications dans votre référentiel de code.
+ Testez différents scénarios de configuration pour vérifier qu'ils fonctionnent comme prévu.

**Avertissement**  
N'utilisez pas le mode de développement local dans les environnements de production. Ce mode ne prend pas en charge les fonctionnalités de AWS AppConfig sécurité importantes telles que la validation du déploiement et les annulations automatisées.

Utilisez la procédure suivante pour configurer l' AWS AppConfig agent pour le mode de développement local.

**Pour configurer AWS AppConfig l'agent en mode de développement local**

1. Installez l'agent à l'aide de la méthode décrite pour votre environnement informatique. AWS AppConfig L'agent fonctionne avec les éléments suivants Services AWS :
   + [AWS Lambda](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-lambda-extensions.html)
   + [Amazon EC2](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-ec2.html)
   + [Amazon ECS et Amazon EKS](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-containers-agent.html)

1. Si l'agent est en cours d'exécution, arrêtez-le.

1. Ajoutez `LOCAL_DEVELOPMENT_DIRECTORY` à la liste des variables d'environnement. Spécifiez un répertoire sur le système de fichiers qui fournit des autorisations de lecture à l'agent. Par exemple, `/tmp/local_configs`.

1. Créez un fichier dans le répertoire. Le nom du fichier doit utiliser le format suivant :

   ```
   application_name:environment_name:configuration_profile_name
   ```

   Voici un exemple :

   ```
   Mobile:Development:EnableMobilePaymentsFeatureFlagConfiguration
   ```
**Note**  
Pour consulter des exemples d'indicateurs de fonctionnalités que vous pouvez ajouter à un fichier de votre `LOCAL_DEVELOPMENT_DIRECTORY` répertoire, consultez[Exemples d'indicateurs de fonctionnalités pour le mode de développement local de l' AWS AppConfig agent](appconfig-agent-how-to-use-local-development-samples.md).
(Facultatif) Vous pouvez contrôler le type de contenu renvoyé par l'agent pour vos données de configuration en fonction de l'extension que vous attribuez au fichier. Par exemple, si vous attribuez au fichier une extension .json, l'agent renvoie le type de contenu `application/json` lorsque votre application le demande. Si vous omettez l'extension, l'agent l'utilise `application/octet-stream` pour le type de contenu. Si vous avez besoin d'un contrôle précis, vous pouvez fournir une extension au format`.type%subtype`. L'agent renverra un type de contenu de`.type/subtype`.

1. Exécutez la commande suivante pour redémarrer l'agent et demander les données de configuration.

   ```
   curl http://localhost:2772/applications/application_name/environments/environment_name/configurations/configuration_name
   ```

L'agent vérifie les modifications apportées au fichier local à l'intervalle d'interrogation spécifié pour l'agent. Si l'intervalle d'interrogation n'est pas spécifié, l'agent utilise l'intervalle par défaut de 45 secondes. Cette vérification effectuée à intervalles d'interrogation garantit que l'agent se comporte de la même manière dans un environnement de développement local que lorsqu'il est configuré pour interagir avec le AWS AppConfig service. 

**Note**  
Pour déployer une nouvelle version d'un fichier de configuration de développement local, mettez à jour le fichier avec de nouvelles données.

# Exemples d'indicateurs de fonctionnalités pour le mode de développement local de l' AWS AppConfig agent
<a name="appconfig-agent-how-to-use-local-development-samples"></a>

Cette section inclut des exemples d'indicateurs de fonctionnalités que vous pouvez utiliser avec AWS AppConfig l'Agent en mode développement local. Le mode de développement local attend des données d'indicateur de fonctionnalité au format de récupération des données. Le *format au moment de la récupération* est le format renvoyé lorsque l'indicateur est extrait de l'[GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html)API, qui ne contient que la valeur de l'indicateur. Le format de récupération n'inclut pas la définition complète d'un indicateur (telle qu'elle a été transmise à l'[CreateHostedConfigurationVersion](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_CreateHostedConfigurationVersion.html)API). La définition complète d'un indicateur contient également des informations telles que les noms et les valeurs des attributs, les contraintes et l'état activé de l'indicateur. 

**Topics**
+ [Exemples de drapeaux relatifs aux fonctionnalités de base](#appconfig-agent-how-to-use-local-development-samples-basic)
+ [Exemples de drapeaux de fonctionnalités à variantes multiples](#appconfig-agent-how-to-use-local-development-samples-multi-variant)

## Exemples de drapeaux relatifs aux fonctionnalités de base
<a name="appconfig-agent-how-to-use-local-development-samples-basic"></a>

Utilisez les exemples d'indicateurs de fonctionnalités de base suivants avec AWS AppConfig l'Agent en mode de développement local.

**Note**  
Si vous souhaitez que l'agent indique le type de contenu de vos données d'indicateur de fonctionnalité locales `application/json` (comme il le ferait lors de la récupération de données d'indicateur AWS AppConfig dans un environnement autre que le mode de développement local), vos fichiers d'indicateurs de fonctionnalités locaux doivent utiliser l'extension .json. Par exemple, `Local:MyFeatureFlags:SampleB1.json`.

**Exemple 1** : indicateur unique représentant une actualisation de l'interface utilisateur.

```
{
    "ui_refresh": {
        "enabled": true,
        "new_styleguide_colors": true
    }
}
```

**Exemple 2** : plusieurs drapeaux représentant des indicateurs de fonctionnalités opérationnelles.

```
{
   "background_worker": {
        "enabled": true,
        "num_threads": 4,
        "queue_name": "MyWorkQueue"
   },
   "emergency_shutoff_switch": {
        "enabled": false
   },
   "logger_settings": {
        "enabled": true,
        "level": "INFO"
   }
}
```

## Exemples de drapeaux de fonctionnalités à variantes multiples
<a name="appconfig-agent-how-to-use-local-development-samples-multi-variant"></a>

Le format de récupération d'une configuration d'indicateur de fonctionnalité contenant au moins un indicateur de fonctionnalité à variantes multiples est représenté sous forme de données [Amazon Ion au lieu de données JSON](https://amazon-ion.github.io/ion-docs/). Dans ce format, les indicateurs à variantes multiples sont représentés sous forme de liste annotée, et les indicateurs de base sont représentés sous forme de chaîne annotée. Les éléments de liste d'un indicateur multivariant sont soit un tuple (une liste d'une longueur de deux), qui représente une seule variante, soit une chaîne, qui représente la variante par défaut. Dans un tuple variant, le premier élément est une expression s qui représente la règle du variant, et le second est une chaîne qui représente le contenu du variant.

Pour que l'agent interprète correctement ces fichiers, vos fichiers d'indicateurs de fonctionnalités locaux doivent porter l'extension suivante :. `application%ion%type=AWS.AppConfig.FeatureFlags`. Par exemple, `Local:MyFeatureFlags:SampleMV1.application%ion%type=AWS.AppConfig.FeatureFlags`.

**Exemple 1** : indicateur à plusieurs variantes représentant une version échelonnée d'une nouvelle fonctionnalité.

```
'tiered_release'::[
  [
    (or (and (eq $group "Tier1") (split by::$userId pct::1 seed::"2025.01.01")) (and (eq $group "Tier2") (split by::$userId pct::7 seed::"2025.01.01"))),
    '''{"_variant": "ShowFeature", "enabled": true}'''
  ],
  '''{"_variant": "HideFeature", "enabled": false}'''
]
```

**Exemple 2** : plusieurs drapeaux représentant différents écrans UX en fonction de l'identifiant de l'utilisateur. Les deux premiers drapeaux sont multivariantes et le drapeau final est basique.

```
'colorway'::[
  [
    (contains $userId "beta"),
    '''{"_variant": "BetaTesters", "enabled": true, "background": "blue", "foreground": "red"}''',
  ],
  [
    (split by::$userId pct::10),
    '''{"_variant": "SplitRollOutRedAndBlue", "enabled": true, "background": "blue", "foreground": "red"}''',
  ],
  '''{"_variant": "default", "enabled": true, "background": "green", "foreground": "green"}''',
]

'simple_feature'::[
  [
    (contains $userId "beta"),
    '''{"_variant": "BetaTesters", "enabled": true}'''
  ],
  '''{"_variant": "default", "enabled": false}'''
]

'button_color'::'''{"enabled": true, "color": "orange"}'''
```