Usando o Custom JSON - AWS OpsWorks

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á.

Usando o Custom JSON

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 ou por meio do Premium AWS Support.

Várias ações do AWS OpsWorks Stacks permitem que você especifique quais JSON AWS OpsWorks Stacks são instalados nas instâncias e podem ser usados por receitas.

Você pode especificar a personalização JSON nas seguintes situações:

  • Quando você cria, atualiza ou clona um stack.

    AWS OpsWorks O Stacks instala o personalizado JSON em todas as instâncias para todos os eventos subsequentes do ciclo de vida.

  • Quando você executa um comando de implantação ou stack.

    AWS OpsWorks O Stacks passa o personalizado JSON para instâncias somente para esse evento.

O personalizado JSON deve ser representado e formatado como um JSON objeto válido. Por exemplo:

{ "att1": "value1", "att2": "value2" ... }

AWS OpsWorks O Stacks armazena lojas personalizadas JSON nos seguintes locais:

Em instâncias do Linux:

  • /var/chef/runs/run-ID/attribs.json

  • /var/chef/runs/run-ID/nodes/hostname.json

Em instâncias do Windows:

  • drive:\chef\runs\run-ID\attribs.json

  • drive:\chef\runs\run-ID\nodes\hostname.json

nota

No Chef 11.10 e nas versões anteriores para Linux, o personalizado JSON está localizado no seguinte caminho nas instâncias do Linux, as instâncias do Windows não estão disponíveis e não há nenhum attribs.json arquivo. Os registros são armazenados na mesma pasta ou diretório doJSON. Para obter mais informações sobre personalização JSON no Chef 11.10 e em versões anteriores para Linux, consulte Substituindo atributos com registros personalizados JSON e do Chef.

/var/lib/aws/opsworks/chef/hostname.json

Nos caminhos anteriores, run-ID é um ID exclusivo que o AWS OpsWorks Stacks atribui a cada execução do Chef em uma instância e hostname é o nome do host da instância.

Para acessar receitas personalizadas JSON do Chef, use a node sintaxe padrão do Chef.

Por exemplo, suponha que você deseje definir configurações simples para uma aplicação que quer implantar, como se a aplicação fica inicialmente visível e as cores de primeiro e segundo plano iniciais. Suponha que você defina essas configurações do aplicativo com um JSON objeto da seguinte forma:

{ "state": "visible", "colors": { "foreground": "light-blue", "background": "dark-gray" } }

Para declarar o costume JSON de uma pilha:

  1. Na página de pilhas, escolha Stack Settings e Edit.

  2. Em Custom Chef JSON, digite o JSON objeto e escolha Salvar.

nota

Você pode declarar personalizado JSON nos níveis de implantação, camada e pilha. Talvez você queira fazer isso se quiser que algum personalizado JSON seja visível somente para uma implantação ou camada individual. Ou, por exemplo, você pode querer substituir temporariamente o personalizado JSON declarado no nível da pilha pelo personalizado JSON declarado no nível da camada. Se você declarar personalizado JSON em vários níveis, o personalizado JSON declarado no nível de implantação substituirá qualquer personalizado JSON declarado nos níveis de camada e pilha. O personalizado JSON declarado no nível da camada substitui qualquer personalizado JSON declarado somente no nível da pilha.

Para usar o console AWS OpsWorks Stacks para especificar algo personalizado JSON para uma implantação, na página Implantar aplicativo, escolha Avançado. Digite o personalizado JSON na JSON caixa Custom Chef e escolha Salvar.

Para usar o console AWS OpsWorks Stacks para especificar algo personalizado JSON para uma camada, na página Camadas, escolha Configurações para a camada desejada. Digite o personalizado JSON na JSON caixa Personalizado e escolha Salvar.

Para ter mais informações, consulte Editando a configuração de uma OpsWorks camada e Implementação de aplicativos.

Quando você executa um comando de implantação ou pilha, as receitas podem recuperar esses valores personalizados usando a node sintaxe padrão do Chef, que mapeia diretamente para a hierarquia no objeto personalizado. JSON Por exemplo, o código de receita a seguir grava mensagens no log do Chef sobre os JSON valores personalizados anteriores:

Chef::Log.info("********** The app's initial state is '#{node['state']}' **********") Chef::Log.info("********** The app's initial foreground color is '#{node['colors']['foreground']}' **********") Chef::Log.info("********** The app's initial background color is '#{node['colors']['background']}' **********")

Essa abordagem pode ser útil para passar dados para receitas. AWS OpsWorks O Stacks adiciona esses dados à instância, e as receitas podem recuperar os dados usando a sintaxe padrão do Chefnode.

nota

JSONA personalização está limitada a 120 KB. Caso precise de mais capacidade, recomendamos armazenar alguns dados no Amazon Simple Storage Service (Amazon S3). Suas receitas personalizadas podem então usar o AWSCLIou o AWS SDK for Rubypara baixar os dados do bucket do Amazon S3 para sua instância.