Utilizzo di Custom JSON - AWS OpsWorks

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

Utilizzo di Custom JSON

Importante

Il AWS OpsWorks Stacks il servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato 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 AWS Support Squadra su AWS Re:post o tramite AWS Supporto Premium.

Diverse AWS OpsWorks Le azioni Stacks consentono di specificare qualcosa di personalizzatoJSON, che AWS OpsWorks Stacks si installa sulle istanze e può essere utilizzato dalle ricette.

È possibile specificare la personalizzazione JSON nelle seguenti situazioni:

La personalizzazione JSON deve essere rappresentata da un oggetto valido e formattata come tale. JSON Per esempio:

{ "att1": "value1", "att2": "value2" ... }

AWS OpsWorks Gli archivi personalizzati di Stacks JSON si trovano nelle seguenti posizioni:

Sulle istanze Linux:

  • /var/chef/runs/run-ID/attribs.json

  • /var/chef/runs/run-ID/nodes/hostname.json

Sulle istanze Windows:

  • drive:\chef\runs\run-ID\attribs.json

  • drive:\chef\runs\run-ID\nodes\hostname.json

Nota

In Chef 11.10 e versioni precedenti per Linux, la personalizzazione si JSON trova nel seguente percorso sulle istanze Linux, le istanze di Windows non sono disponibili e non è presente alcun file. attribs.json I log sono archiviati nella stessa cartella o directory di. JSON Per ulteriori informazioni sulla personalizzazione JSON in Chef 11.10 e nelle versioni precedenti per Linux, vedi Sovrascrivere gli attributi con Custom JSON e Chef Logs.

/var/lib/aws/opsworks/chef/hostname.json

Nei percorsi precedenti, run-ID è un ID univoco che AWS OpsWorks Stacks assegna a ogni esecuzione di Chef su un'istanza e hostname è il nome host dell'istanza.

Per accedere alle ricette personalizzate JSON di Chef, usa la node sintassi standard di Chef.

Supponiamo che desideri definire impostazioni semplici per un'app che vuoi distribuire, ad esempio se l'app è inizialmente visibile e i colori iniziali di primo piano e di sfondo dell'app. Supponiamo di definire queste impostazioni dell'app con un JSON oggetto come segue:

{ "state": "visible", "colors": { "foreground": "light-blue", "background": "dark-gray" } }

Per dichiarare la personalizzazione di uno JSON stack:

  1. Nella pagina dello stack scegliere Stack Settings (Impostazioni stack), quindi scegliere Edit (Modifica).

  2. Per Custom Chef JSON, digitate l'JSONoggetto, quindi scegliete Salva.

Nota

Puoi dichiararlo personalizzato JSON a livello di distribuzione, livello e stack. Questa operazione può essere utile se desideri che alcune personalizzazioni JSON siano visibili solo a una singola implementazione o livello. Oppure, ad esempio, potresti voler sostituire temporaneamente la JSON dichiarazione personalizzata a livello di stack con la JSON dichiarazione personalizzata a livello di livello. Se si dichiara personalizzata JSON a più livelli, la dichiarazione personalizzata JSON a livello di distribuzione sostituisce qualsiasi JSON dichiarazione personalizzata sia a livello di livello che di stack. La JSON dichiarazione personalizzata a livello di livello sostituisce qualsiasi JSON dichiarazione personalizzata solo a livello di stack.

Per utilizzare nuovamente il plugin AWS OpsWorks Console Stacks per specificare una distribuzione personalizzataJSON, nella pagina Deploy App, scegli Advanced. Digita il valore personalizzato JSON nella JSON casella Custom Chef, quindi scegli Salva.

Per utilizzare nuovamente il plugin AWS OpsWorks Console Stacks JSON per specificare la personalizzazione di un livello, nella pagina Livelli, scegli Impostazioni per il livello desiderato. Digita il valore personalizzato JSON nella JSON casella Personalizzato, quindi scegli Salva.

Per ulteriori informazioni, consulta Modifica della configurazione di un OpsWorks livello e Distribuzione di app.

Quando esegui un comando deployment o stack, recipes può recuperare questi valori personalizzati utilizzando la node sintassi standard di Chef, che si associa direttamente alla gerarchia dell'oggetto personalizzato. JSON Ad esempio, il seguente codice di ricetta scrive messaggi nel registro Chef relativi ai valori personalizzati precedenti: JSON

Chef::Log.info("********** The app's initial state is '#{node['state']}' **********") Chef::Log.info("********** The app's initial foreground color is '#{node['colors']['foreground']}' **********") Chef::Log.info("********** The app's initial background color is '#{node['colors']['background']}' **********")

Questo approccio può essere utile per trasferire dati alle ricette. AWS OpsWorks Stacks aggiunge tali dati all'istanza e le ricette possono recuperarli utilizzando la sintassi standard di Chef. node

Nota

Custom JSON è limitato a 120 KB. Se hai bisogno di maggiore capacità, ti consigliamo di archiviare alcuni dati su Amazon Simple Storage Service (Amazon S3). Le tue ricette personalizzate possono quindi utilizzare il AWSCLIo il AWS SDK for Rubyper scaricare i dati dal bucket Amazon S3 sulla tua istanza.