Etapa 12: atualizar o livro de receitas para usar JSON personalizado - 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á.

Etapa 12: atualizar o livro de receitas para usar JSON personalizado

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.

Atualize seu livro de receitas adicionando uma receita que faz referência a JSON personalizado armazenado na instância.

É possível especificar informações em formato JSON personalizado sempre que criar, atualizar ou clonar uma pilha ou quando executar um comando de implantação ou pilha. Isso é útil, por exemplo, para disponibilizar uma porção pequena e inalterável de dados para as receitas na instância ao invés de receber esses dados de um banco de dados. Para ter mais informações, consulte Usar JSON personalizado.

Para esta demonstração, será necessário usar JSON personalizado para fornecer informações fictícias sobre uma fatura de cliente. O JSON personalizado será descrito posteriormente nesta etapa.

Para atualizar o livro de receitas na instância e executar a nova receita
  1. Na sua estação de trabalho local, no subdiretório recipes, no diretório opsworks_cookbook_demo, crie um arquivo chamado custom_json.rb que contenha o seguinte código de receita:

    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']}' **********")

    Essa receita exibe mensagens no registro sobre os valores no JSON personalizado.

  2. No terminal ou no prompt de comando, use o comando tar para criar uma nova versão do arquivo opsworks_cookbook_demo.tar.gz, que contém o diretório opsworks_cookbook_demo e o conteúdo atualizado.

  3. Carregue o arquivo opsworks_cookbook_demo.tar.gz atualizado no bucket do S3.

  4. Para atualizar o livro de receitas na instância e para executar a nova receita, siga as instruções em Etapa 5: atualizar o livro de receitas na instância e executar a receita. No processo "Para executar a receita", para Recipes to execute (Receitas para executar), digite opsworks_cookbook_demo::custom_json. Para Advanced, Custom Chef JSON, digite o seguinte JSON personalizado:

    { "customer-id": "0123", "invoice-number": "9876", "line-items": { "line-1": "tractor", "line-2": "passenger car", "line-3": "trailer" } }
Para testar a receita
  1. Com a página Running command execute_recipes sendo exibida a partir dos procedimentos anteriores, para cookbooks-demo1 e Log, escolha show. A página de log execute_recipes é exibida.

  2. Role para baixo no registro para encontrar entradas semelhante ao seguinte:

    [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' **********

    Essas entradas exibem informações do JSON personalizado que foram digitadas na caixa Advanced, Custom Chef JSON.

Na próxima etapa, você atualizará o livro de receitas para obter informações dos pacotes de dados, que são coleções de configurações de pilha que o AWS OpsWorks Stacks armazena em cada instância.