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à.
Fase 14. Aggiornamento del libro di ricette per l'utilizzo dell'iterazione
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
Puoi aggiornare il libro di ricette aggiungendo una ricetta che utilizza l'iterazione, una tecnica che ripete il codice della ricetta più volte. Questa ricetta visualizza i messaggi nel log per un contenitore di dati contenente più contenuti.
Per aggiornare il libro di ricette nell'istanza ed eseguire la nuova ricetta
-
Nella workstation locale, nella sottodirectory
recipes
della directoryopsworks_cookbook_demo
creare un file denominatoiteration_demo.rb
contenente il seguente codice:stack = search("aws_opsworks_stack").first Chef::Log.info("********** Content of 'custom_cookbooks_source' **********") stack["custom_cookbooks_source"].each do |content| Chef::Log.info("********** '#{content}' **********") end
Nota
La scrittura del codice della ricetta precedente è un'operazione più breve, più flessibile e meno soggetta a errori rispetto alla scrittura del seguente codice della ricetta che non utilizza l'iterazione:
stack = search("aws_opsworks_stack").first Chef::Log.info("********** Content of 'custom_cookbooks_source' **********") Chef::Log::info("********** '[\"type\", \"#{stack['custom_cookbooks_source']['type']}\"]' **********") Chef::Log::info("********** '[\"url\", \"#{stack['custom_cookbooks_source']['url']}\"]' **********") Chef::Log::info("********** '[\"username\", \"#{stack['custom_cookbooks_source']['username']}\"]' **********") Chef::Log::info("********** '[\"password\", \"#{stack['custom_cookbooks_source']['password']}\"]' **********") Chef::Log::info("********** '[\"ssh_key\", \"#{stack['custom_cookbooks_source']['ssh_key']}\"]' **********") Chef::Log::info("********** '[\"revision\", \"#{stack['custom_cookbooks_source']['revision']}\"]' **********")
-
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 directoryopsworks_cookbook_demo
e il relativo contenuto aggiornato. -
Caricare il file
opsworks_cookbook_demo.tar.gz
aggiornato nel bucket S3. -
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::iteration_demo
.
Per testare la ricetta
-
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.
-
Scorrere il log verso il basso e trovare le voci simili alle seguenti:
[2015-11-16T19:56:56+00:00] INFO: ********** Content of 'custom_cookbooks_source' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["type", "s3"]' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["url", "https://s3.amazonaws.com/amzn-s3-demo-bucket/opsworks_cookbook_demo.tar.gz"]' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["username", "
secret-key-value
"]' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["password", "secret-access-key-value
"]' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["ssh_key", nil]' ********** [2015-11-16T19:56:56+00:00] INFO: ********** '["revision", nil]' **********Questa ricetta visualizza i messaggi nel log per un contenitore di dati contenente più contenuti. L'elemento del contenitore di dati è incluso nel contenitore di dati
aws_opsworks_stack
. L'elemento del contenitore di dati include un contenuto denominatocustom_cookbooks_source
. All'interno di questo contenuto sono disponibili sei contenuti denominatitype
,url
,username
,password
,ssh_key
, erevision
. Vengono visualizzati anche i relativi valori.
Nella fase successiva aggiornerai il libro di ricette per l'esecuzione del codice della ricetta solo se vengono soddisfatte determinate condizioni.