

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 des variables d'environnement
<a name="apps-environment-vars"></a>

**Important**  
Le AWS OpsWorks Stacks service a atteint sa fin de vie le 26 mai 2024 et a été désactivé pour les nouveaux clients et les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

**Note**  
Les recommandations de cette rubrique s'appliquent à Chef 11.10 et versions antérieures. Pour obtenir les variables d'environnement dans Chef 12 et versions plus récentes, vous devez utiliser le conteneur de données de l'application. Pour plus d'informations, consultez [AWS OpsWorks Data Bag Reference](https://docs.aws.amazon.com/opsworks/latest/userguide/data-bags.html) et [App Data Bag (aws\$1opsworks\$1app](https://docs.aws.amazon.com/opsworks/latest/userguide/data-bag-json-app.html)).

Lorsque vous [spécifiez des variables d'environnement pour une application](workingapps-creating.md#workingapps-creating-environment), OpsWorks Stacks ajoute les définitions des variables aux [`deploy`attributs](workingcookbook-json.md#workingcookbook-json-deploy) de l'application.

Les couches personnalisées peuvent utiliser une recette pour récupérer une valeur de variable grâce à une syntaxe nœud standard, et la stocker sous une forme accessible par les applications de la couche.

Vous devez implémenter une recette personnalisée qui obtient les valeurs des variables d'environnement à partir des attributs `deploy` de l'instance. La recette peut alors stocker les données sur l'instance sous une forme accessible par l'application, telle qu'un fichier YAML. Les définitions des variables environnement d'une application sont stockées dans les attributs `deploy`, dans les variables `environment_variables` de l'environnement. L'exemple suivant montre l'emplacement de ces attributs pour une application nommée `simplephpapp`, à l'aide de JSON pour représenter la structure des attributs.

```
{
  ...
  "ssh_users": {
  },
  "deploy": {
    "simplephpapp": {
      "application": "simplephpapp",
      "application_type": "php",
      "environment_variables": {
        "USER_ID": "168424",
        "USER_KEY": "somepassword"
      },
    ...
  }
}
```

Une recette peut obtenir les valeurs variables en utilisant un syntaxe nœud standard. L'exemple suivant montre comment obtenir la valeur `USER_ID` depuis le JSON précédent et le placer dans le journal Chef.

```
Chef::Log.info("USER_ID: #{node[:deploy]['simplephpapp'][:environment_variables][:USER_ID]}")
```

Pour une description plus détaillée de la façon de récupérer les informations depuis le JSON de configuration et de déploiement de pile, et le stocker sur l'instance, consultez [Transmission de données aux applications](apps-data.md).