

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Spostamento delle impostazioni dello stack dagli attributi ai contenitori di dati
<a name="attributes-to-data-bags"></a>

**Importante**  
Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disabilitato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il Supporto AWS Team su [AWS re:post](https://repost.aws/) o tramite Premium [AWS Support](https://aws.amazon.com/support).

OpsWorks Stacks offre un'ampia varietà di impostazioni dello stack alle tue ricette Chef. Queste impostazioni dello stack includono valori quali:
+ Fonte del ricettario Stack URLs
+ Configurazioni del volume di livello
+ Nomi host delle istanze
+ Nomi DNS Elastic Load Balancing
+ Fonte dell'app URLs
+ Nomi utente

Il riferimento alle impostazioni dello stack dalle ricette rende il codice ricetta più affidabile e meno soggetto a errori rispetto alla configurazione come hardcoded delle impostazioni dello stack direttamente nelle ricette. In questo argomento viene descritto come accedere a tali impostazioni dello stack nonché come passare dagli attributi in Chef 11.10 e versioni precedenti per Linux ai contenitori di dati in Chef 12 Linux.

In Chef 11.10 e versioni precedenti per Linux, le impostazioni dello stack sono disponibili come [attributi Chef](https://docs.chef.io/attributes.html) ed è possibile accedervi tramite l'oggetto `node` Chef o attraverso la ricerca di Chef. Questi attributi sono archiviati nelle istanze OpsWorks Stacks in un set di file JSON nella directory. `/var/lib/aws/opsworks/chef` Per ulteriori informazioni, consulta [Attributi di configurazione e distribuzione dello stack: Linux](attributes-json-linux.md).

In Chef 12 Linux, le impostazioni dello stack sono disponibili come [contenitori di dati Chef](https://docs.chef.io/data_bags.html) e sono accessibili solo attraverso la ricerca di Chef. I data bag sono archiviati su istanze OpsWorks Stacks in un set di file JSON nella `/var/chef/runs/run-ID/data_bags` directory, dove si *run-ID* trova un ID univoco che OpsWorks Stacks assegna a ogni esecuzione di Chef su un'istanza. Le impostazioni dello stack non sono più disponibili come attributi Chef, pertanto non è più possibile accedervi tramite l'oggetto `node` Chef. Per ulteriori informazioni, consulta [OpsWorks Riferimento a Stacks Data Bag](data-bags.md).

Ad esempio, in Chef 11.10 e versioni precedenti per Linux, il seguente codice ricetta usa l'oggetto `node` Chef per ottenere attributi che rappresentano il nome breve e l'URL di origine di un'app. Viene quindi utilizzato il log di Chef per scrivere questi due valori di attributo:

```
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']}' **********")
```

In Chef 12 Linux, il seguente codice ricetta utilizza l'indice di ricerca `aws_opsworks_app` per ottenere i contenuti del primo elemento del contenitore di dati nel contenitore di dati `aws_opsworks_app`. Il codice, quindi, scrive due messaggi nel log di Chef, uno con il contenuto del contenitore di dati del nome breve dell'app e l'altro con il contenuto del contenitore di dati dell'URL di origine dell'app:

```
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']}' **********")
```

Per migrare il codice ricetta che accede alle impostazioni dello stack da Chef 11.10 e versioni precedenti per Linux a Chef 12 Linux, è necessario modificare il codice per:
+ Accedere ai contenitori di dati Chef anziché agli attributi Chef.
+ Utilizzare la ricerca di Chef anziché l'oggetto `node` Chef.
+ Usa i nomi dei data bag di OpsWorks Stacks come`aws_opsworks_app`, invece di usare nomi di attributi OpsWorks Stacks come e. `opsworks` `deploy`

Per ulteriori informazioni, consulta [OpsWorks Riferimento a Stacks Data Bag](data-bags.md).