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.
Uso de variables de entorno de
importante
El AWS OpsWorks Stacks 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 tienes preguntas sobre la migración, ponte en contacto con el AWS Support equipo en AWS Re:post
nota
Las recomendaciones en este tema son para Chef 11.10 y versiones anteriores de Chef. Para recibir las variables de entorno en Chef 12 y en versiones más recientes, debe utilizar el contenedor de datos de la aplicación. Para obtener más información, consulte AWS OpsWorks Data Bag Reference y App Data Bag (aws_opsworks_app).
Las capas personalizadas pueden utilizar una receta para recuperar el valor de la variable mediante la sintaxis de nodo estándar y almacenarlo en un formulario que sea accesible para las aplicaciones de la capa.
Debe implementar una receta personalizada que obtiene los valores de la variable de entorno de los atributos deploy
de la instancia. La receta puede almacenar los datos en la instancia en un formulario al que puede obtener acceso la aplicación, como un archivo YAML. Las definiciones de la variable de entorno de una aplicación se almacenan en los atributos deploy
en las environment_variables
de la aplicación. En el siguiente ejemplo se muestra la ubicación de estos atributos para una aplicación denominada simplephpapp
, utilizando JSON para representar la estructura de los atributos.
{ ... "ssh_users": { }, "deploy": { "simplephpapp": { "application": "simplephpapp", "application_type": "php", "environment_variables": { "USER_ID": "168424", "USER_KEY": "somepassword" }, ... } }
Una receta puede obtener valores de variable mediante el uso de la sintaxis de nodo estándar. En el siguiente ejemplo se muestra cómo obtener el valor USER_ID
del último JSON y colocarlo en el registro de Chef.
Chef::Log.info("USER_ID: #{node[:deploy]['simplephpapp'][:environment_variables][:USER_ID]}")
Para obtener una descripción más detallada de cómo recuperar información del JSON de configuración e implementación de la pila y almacenarlo en la instancia, consulte Transferir datos a aplicaciones.