As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Usar variáveis de ambiente do
Importante
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com a AWS Support equipe no AWS re:POST
nota
As recomendações neste tópico se aplicam ao Chef 11.10 e a versões anteriores do Chef. Para obter as variáveis de ambiente no Chef 12 ou em versões mais recentes, você deverá usar a Data bag do aplicativo. Para obter mais informações, consulte AWS OpsWorks Data Bag Reference e App Data Bag (aws_opsworks_app).
Quando você especifica variáveis de ambiente para um aplicativo, o AWS OpsWorks Stacks adiciona as definições das variáveis aos deployatributos do aplicativo.
Camadas personalizadas podem usar uma receita para recuperar o valor de uma variável, usando a sintaxe de nó padrão, e armazená-lo em um formato que possa ser acessado pelos aplicativos da camada.
Você deve implementar uma receita personalizada que obtém os valores das variáveis de ambiente dos atributos deploy
da instância. A receita poderá então armazenar os dados na instância em um formato que possa ser acessado pelo aplicativo, como um arquivo YAML. As definições das variáveis de ambiente de um aplicativo são armazenadas nos atributos deploy
, nas environment_variables
do aplicativo. O exemplo a seguir mostra a localização desses atributos para um aplicativo chamado simplephpapp
, usando JSON para representar a estrutura do atributo.
{ ... "ssh_users": { }, "deploy": { "simplephpapp": { "application": "simplephpapp", "application_type": "php", "environment_variables": { "USER_ID": "168424", "USER_KEY": "somepassword" }, ... } }
Uma receita pode obter os valores das variáveis, usando a sintaxe de nó padrão. O exemplo a seguir mostra como obter o valor USER_ID
do JSON anterior e colocá-lo no log do Chef.
Chef::Log.info("USER_ID: #{node[:deploy]['simplephpapp'][:environment_variables][:USER_ID]}")
Para obter uma descrição mais detalhada de como recuperar informações do JSON de configuração e implantação da pilha e armazená-las na instância, consulte Transmissão de dados para aplicativos.