Passaggio 12: aggiorna il ricettario per utilizzarlo su misura 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à.

Passaggio 12: aggiorna il ricettario per utilizzarlo su misura 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 il AWS Support Squadra su AWS Re:post o tramite AWS Supporto Premium.

Aggiorna il tuo ricettario aggiungendo una ricetta che faccia riferimento a Custom e JSON che viene memorizzata sull'istanza.

Puoi specificare le informazioni in JSON formato personalizzato ogni volta che crei, aggiorni o cloni uno stack o quando esegui un comando di distribuzione o stack. Ciò risulta utile, ad esempio, per creare una piccola quantità di dati non variabili disponibili per le ricette nell'istanza invece di ottenere tali dati da un database. Per ulteriori informazioni, consulta Utilizzo di Custom JSON.

Per questa procedura dettagliata, utilizzerai custom JSON per fornire alcune informazioni fittizie sulla fattura di un cliente. La personalizzazione JSON viene descritta più avanti in questo passaggio.

Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta
  1. Nella workstation locale, nella sottodirectory recipes della directory opsworks_cookbook_demo creare un file denominato custom_json.rb contenente il seguente codice della ricetta:

    Chef::Log.info("********** For customer '#{node['customer-id']}' invoice '#{node['invoice-number']}' **********") Chef::Log.info("********** Invoice line number 1 is a '#{node['line-items']['line-1']}' **********") Chef::Log.info("********** Invoice line number 2 is a '#{node['line-items']['line-2']}' **********") Chef::Log.info("********** Invoice line number 3 is a '#{node['line-items']['line-3']}' **********")

    Questa ricetta visualizza i messaggi nel registro relativi ai valori nella personalizzazioneJSON.

  2. Al terminale o al prompt dei comandi, utilizzare il comando tar per creare una nuova versione del file opsworks_cookbook_demo.tar.gz, che contiene la directory opsworks_cookbook_demo e il relativo contenuto aggiornato.

  3. Caricare il file opsworks_cookbook_demo.tar.gz aggiornato nel bucket S3.

  4. Seguire la procedura descritta nella Fase 5. Aggiornamento del libro di ricette nell'istanza ed esecuzione della ricetta per aggiornare il libro di ricette nell'istanza e per eseguire la ricetta. Nella procedura illustrata nella sezione "Per eseguire la ricetta", in Recipes to execute (Ricette da eseguire), digitare opsworks_cookbook_demo::custom_json. Per Advanced, Custom Chef JSON, digita il seguente comando personalizzatoJSON:

    { "customer-id": "0123", "invoice-number": "9876", "line-items": { "line-1": "tractor", "line-2": "passenger car", "line-3": "trailer" } }
Per testare la ricetta
  1. Con la pagina di esecuzione del comando execute_recipes visualizzata dalle precedenti procedure, in cookbooks-demo1, in Log, scegliere show (mostra). Viene visualizzata la pagina del log del comando execute_recipes.

  2. Scorrere il log verso il basso e trovare le voci simili alle seguenti:

    [2015-11-14T14:18:30+00:00] INFO: ********** For customer '0123' invoice '9876' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 1 is a 'tractor' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 2 is a 'passenger car' ********** [2015-11-14T14:18:30+00:00] INFO: ********** Invoice line number 3 is a 'trailer' **********

    Queste voci visualizzano le informazioni della personalizzazione JSON che è stata digitata nella JSON casella Advanced, Custom Chef.

Nella fase successiva, aggiornerai il ricettario per ottenere informazioni dai data bag, che sono raccolte di impostazioni dello stack che AWS OpsWorks Stacks archivia su ogni istanza.