

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.

# Transfert des paramètres de pile des attributs aux conteneurs de données
<a name="attributes-to-data-bags"></a>

**Important**  
Le AWS OpsWorks Stacks service a pris fin le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour 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.

OpsWorks Stacks propose une grande variété de paramètres de stack pour vos recettes Chef. Ces paramètres de la pile incluent différentes valeurs :
+ Source de livre de recettes Stack URLs
+ Configurations des volumes de couche
+ Noms d'hôte d'instance
+ Noms DNS d'Elastic Load Balancing
+ Source de l'application URLs
+ Noms utilisateur

La référence des paramètres de pile depuis les recettes rend le code plus robuste et moins enclin aux erreurs que le codage en dur des paramètres de pile directement dans les recettes. La rubrique décrit comment accéder à ces paramètres de pile et comment passer des attributs de Chef 11.10 et versions antérieures pour Linux aux conteneurs de données dans Chef 12 Linux.

Dans Chef 11.10 et versions antérieures pour Linux, les paramètres de pile sont accessibles en tant qu'[attributs Chef](https://docs.chef.io/attributes.html) et via l'objet `node` de Chef ou la recherche Chef. Ces attributs sont stockés sur les instances OpsWorks Stacks dans un ensemble de fichiers JSON du `/var/lib/aws/opsworks/chef` répertoire. Pour de plus amples informations, veuillez consulter [Attributs de déploiement et de configuration de pile : Linux](attributes-json-linux.md).

Dans Chef 12 Linux, les paramètres de pile sont accessibles en tant que [conteneurs de données Chef](https://docs.chef.io/data_bags.html) et sont accessibles uniquement par le biais de la recherche Chef. Les sacs de données sont stockés sur les instances de OpsWorks Stacks dans un ensemble de fichiers JSON du `/var/chef/runs/run-ID/data_bags` répertoire, où se *run-ID* trouve un identifiant unique que OpsWorks Stacks attribue à chaque exécution de Chef sur une instance. Les paramètres de pile n'étant plus accessibles en tant qu'attributs Chef, les paramètres de pile ne sont plus accessibles via l'objet `node` de Chef. Pour de plus amples informations, veuillez consulter [OpsWorks Référence du sac de données Stacks](data-bags.md).

Par exemple, dans Chef 11.10 et versions antérieures de Linux, le code suivant de la recette utilise l'objet `node` de Chef pour obtenir les attributs représentant le nom court et l'URL source d'une application. Il utilise ensuite le journal Chef pour écrire ces deux valeurs d'attribut :

```
Chef::Log.info ("********** The app's short name is '#{node['opsworks']['applications'].first['slug_name']}' **********")
Chef::Log.info("********** The app's URL is '#{node['deploy']['simplephpapp']['scm']['repository']}' **********")
```

Dans Chef 12 Linux, le code suivant de la recette utilise l'index de recherche `aws_opsworks_app` pour obtenir le contenu du premier élément du conteneur de données `aws_opsworks_app`. Le code écrit ensuite deux messages dans le message Chef, l'un avec le contenu du conteneur de données du nom court de l'application, et l'autre avec le contenu du conteneur de données de l'URL source de l'application :

```
app = search("aws_opsworks_app").first

Chef::Log.info("********** The app's short name is '#{app['shortname']}' **********")
Chef::Log.info("********** The app's URL is '#{app['app_source']['url']}' **********")
```

Pour migrer votre code de recette qui accède aux paramètres de pile depuis Chef 11.10 et versions antérieures pour Linux jusqu'à Chef 12 Linux, vous devez modifier votre code pour :
+ Accéder aux conteneurs de données Chef au lieu des attributs Chef.
+ Utiliser la recherche Chef au lieu de l'objet `node` de Chef.
+ Utilisez des noms de sacs de données OpsWorks Stacks tels que`aws_opsworks_app`, au lieu d'utiliser des noms d'attributs OpsWorks Stacks tels que `opsworks` et. `deploy`

Pour de plus amples informations, veuillez consulter [OpsWorks Référence du sac de données Stacks](data-bags.md).