Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Paso 12: Actualiza el libro de cocina para usarlo de forma personalizada JSON
importante
La AWS OpsWorks Stacks El servicio llegó al final de su vida útil el 26 de mayo de 2024 y se ha desactivado tanto para los clientes nuevos como para los existentes. Recomendamos encarecidamente a los clientes que migren sus cargas de trabajo a otras soluciones lo antes posible. Si tiene alguna duda sobre la migración, póngase en contacto con el AWS Support Equipo en AWS Re:post
Actualiza tu libro de cocina añadiendo una receta que haga referencia a la personalizada JSON que esté almacenada en la instancia.
Puede especificar la información en un JSON formato personalizado siempre que cree, actualice o clone una pila o cuando ejecute un comando de despliegue o pila. Esto resulta útil, por ejemplo, para poner una pequeña porción de datos inmutables a disposición de todas las recetas de la instancia, en lugar de obtener estos datos de una base de datos. Para obtener más información, consulte Uso de Custom JSON.
En este tutorial, utilizará la opción personalizada JSON para proporcionar información ficticia sobre la factura de un cliente. La costumbre JSON se describe más adelante en este paso.
Para actualizar el libro de recetas en la instancia y ejecutar la nueva receta
-
En la estación de trabajo local, en el subdirectorio
recipes
del directorioopsworks_cookbook_demo
, cree un archivo llamadocustom_json.rb
que contenga el siguiente código de receta: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']}' **********")
Esta receta muestra mensajes en el registro sobre los valores de la personalizaciónJSON.
-
En la línea de comandos o terminal, utilice el comando tar para crear una nueva versión del archivo
opsworks_cookbook_demo.tar.gz
que contenga el directorioopsworks_cookbook_demo
y su contenido actualizado. -
Cargue el archivo
opsworks_cookbook_demo.tar.gz
actualizado en el bucket de S3. -
Siga el procedimiento descrito en Paso 5: Actualizar el libro de recetas en la instancia y ejecutar la receta para actualizar el libro de recetas en la instancia y ejecutar la receta. En el procedimiento "To run the recipe" para Recipes to execute (Recetas para ejecutar), escriba
opsworks_cookbook_demo::custom_json
. En Advanced, Custom Chef JSON, escriba la siguiente personalizaciónJSON:{ "customer-id": "0123", "invoice-number": "9876", "line-items": { "line-1": "tractor", "line-2": "passenger car", "line-3": "trailer" } }
Para probar la receta
-
Mientras se muestra la página Running command execute_recipes (Ejecutando comando execute_recipes) de los procedimientos anteriores, en cookbooks-demo1, en Log (Registro), elija show (mostrar). Se muestra la página del registro execute_recipes.
-
Desplácese hacia abajo por el registro hasta encontrar entradas con un aspecto similar al siguiente:
[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' **********
Estas entradas muestran información de la personalización JSON que se escribió en el JSON cuadro Chef avanzado y personalizado.
En el siguiente paso, actualizará el libro de cocina para obtener información de las bolsas de datos, que son conjuntos de configuraciones de pilas que AWS OpsWorks Las pilas almacenan en cada instancia.