

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 4: implantar e testar o componente em um dispositivo principal
<a name="deploy-component-defer-updates"></a>

Nesta seção, você implanta o componente no dispositivo principal para testar a funcionalidade dele. No dispositivo principal, você cria o arquivo virtual do nível da bateria para imitar uma bateria real. Em seguida, você cria implantações adicionais e observa os arquivos de log do componente no dispositivo principal para ver o componente adiar e confirmar as atualizações.

**Para implantar e testar o componente Hello World que adia as atualizações**

1. Use um editor de texto para criar um arquivo virtual do nível da bateria. Este arquivo imita uma bateria real.
   + Nos dispositivos principais do Linux, crie um arquivo chamado `/home/ggc_user/virtual_battery.json`. Execute o editor de texto com permissões `sudo`.
   + Nos dispositivos principais do Windows, crie um arquivo chamado `C:\Users\ggc_user\virtual_battery.json`. Execute o editor de texto como administrador.

   <a name="nano-command-intro"></a>Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

   ```
   sudo nano /home/ggc_user/virtual_battery.json
   ```

   Copie o JSON a seguir no arquivo.

   ```
   {
     "battery_level": 50
   }
   ```

1. Implante o componente Hello World no dispositivo principal. Faça o seguinte:

   1. No menu de navegação do [console do AWS IoT Greengrass](https://console.aws.amazon.com/greengrass), selecione **Componentes**.

   1. Na página **Componentes**, escolha a guia **Meus componentes** e depois **com.example.BatteryAwareHelloWorld**.

   1. Na página **com.example.BatteryAwareHelloWorld**, escolha **Implantar**.

   1. <a name="deploy-component-choose-deployment-step"></a>Em **Adicionar à implantação**, escolha uma implantação existente para revisar ou opte por criar uma nova e, em seguida, escolha **Avançar**.

   1. <a name="deploy-component-choose-target-step"></a>Se você criar uma nova implantação, escolha o dispositivo principal ou grupo de objetos de destino para ela. Na página **Especificar destino**, em **Destino de implantação**, escolha um dispositivo principal ou grupo de objetos e, depois, **Avançar**.

   1. Na página **Selecionar componentes**, verifique se o componente **com.example.BatteryAwareHelloWorld** está selecionado e escolha **Avançar**.

   1. Na página **Configurar componentes**, selecione **com.example.BatteryAwareHelloWorld** e faça o seguinte:

      1. Escolha **Configurar componente**.

      1. No modal **Configurar com.example.BatteryAwareHelloWorld**, em **Atualização de configuração**, em **Configuração para mesclar**, insira a seguinte atualização de configuração.

         ```
         {
           "BatteryThreshold": 70
         }
         ```

      1. Selecione **Confirmar** para fechar o modal e, em seguida, **Avançar**.

   1. Na página **Confirmar configurações avançadas**, na seção **Políticas de implantação**, em **Política de atualização de componentes**, confirme se a opção **Notificar componentes** está selecionada. A opção **Notificar componentes** é selecionada por padrão quando você cria uma nova implantação.

   1. <a name="deploy-component-review-and-deploy-step"></a>Na página **Pré-visualizar**, escolha **Implantar**.

      A implantação pode levar até um minuto para ser concluída.

1. O software AWS IoT Greengrass Core salva o stdout dos processos dos componentes em arquivos de log na `logs` pasta. Execute o comando a seguir para verificar se o componente Hello World executa e imprime mensagens de status.

------
#### [ Linux or Unix ]

   ```
   sudo tail -f {{/greengrass/v2}}/logs/com.example.BatteryAwareHelloWorld.log
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   type {{C:\greengrass\v2}}\logs\com.example.BatteryAwareHelloWorld.log
   ```

------
#### [ PowerShell ]

   ```
   gc {{C:\greengrass\v2}}\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait
   ```

------

   Você verá mensagens semelhantes ao exemplo a seguir.

   ```
   Hello, World! Battery level (50) is below threshold (70), so the component will defer updates.
   ```
**nota**  
Se o arquivo não existir, talvez a implantação ainda não esteja concluída. Se o arquivo não existir em 30 segundos, a implantação provavelmente falhou. Isso pode ocorrer se o dispositivo principal não tiver permissão para baixar os artefatos do componente do bucket do S3, por exemplo. Execute o comando a seguir para visualizar o arquivo de log do software AWS IoT Greengrass principal. Esse arquivo inclui logs do serviço de implantação do dispositivo principal do Greengrass.  

   ```
   sudo tail -f {{/greengrass/v2}}/logs/greengrass.log
   ```

   ```
   type {{C:\greengrass\v2}}\logs\greengrass.log
   ```
<a name="windows-cmd-type-observe-logs"></a>O comando `type` grava o conteúdo do arquivo no terminal. Execute esse comando várias vezes para observar as alterações no arquivo.

   ```
   gc {{C:\greengrass\v2}}\logs\greengrass.log -Tail 10 -Wait
   ```

1. Crie uma nova implantação no dispositivo principal para verificar se o componente adia a atualização. Faça o seguinte:

   1. No menu de navegação do [console do AWS IoT Greengrass](https://console.aws.amazon.com/greengrass), selecione **Implantações.**

   1. Escolha a implantação que você criou ou revisou anteriormente.

   1. Na página da implantação, escolha **Revisar**.

   1. No modal **Revisar implantação**, selecione **Revisar implantação**.

   1. Selecione **Avançar** em cada etapa e depois **Implantar**.

1. Execute o comando a seguir para visualizar os logs do componente novamente e verificar se ele adia a atualização.

------
#### [ Linux or Unix ]

   ```
   sudo tail -f {{/greengrass/v2}}/logs/com.example.BatteryAwareHelloWorld.log
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   type {{C:\greengrass\v2}}\logs\com.example.BatteryAwareHelloWorld.log
   ```

------
#### [ PowerShell ]

   ```
   gc {{C:\greengrass\v2}}\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait
   ```

------

   Você verá mensagens semelhantes ao exemplo a seguir. O componente adia a atualização por 30 segundos, então o componente imprime essa mensagem repetidamente.

   ```
   Deferred update for deployment 50722a95-a05f-4e2a-9414-da80103269aa.
   ```

1. Use um editor de texto para editar o arquivo virtual do nível da bateria e alterar o nível da bateria para um valor acima do limite, para que a implantação possa continuar.
   + Nos dispositivos principais do Linux, edite o arquivo chamado `/home/ggc_user/virtual_battery.json`. Execute o editor de texto com permissões `sudo`.
   + Nos dispositivos principais do Windows, edite o arquivo chamado `C:\Users\ggc_user\virtual_battery.json`. Execute o editor de texto como administrador.

   <a name="nano-command-intro"></a>Por exemplo, em um sistema baseado em Linux, você pode executar o comando a seguir para usar o GNU nano para criar o arquivo.

   ```
   sudo nano /home/ggc_user/virtual_battery.json
   ```

   Altere o nível da bateria para `80`.

   ```
   {
     "battery_level": 80
   }
   ```

1. Execute o seguinte comando para visualizar os logs do componente novamente e verificar se ele reconhece a atualização.

------
#### [ Linux or Unix ]

   ```
   sudo tail -f {{/greengrass/v2}}/logs/com.example.BatteryAwareHelloWorld.log
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   type {{C:\greengrass\v2}}\logs\com.example.BatteryAwareHelloWorld.log
   ```

------
#### [ PowerShell ]

   ```
   gc {{C:\greengrass\v2}}\logs\com.example.BatteryAwareHelloWorld.log -Tail 10 -Wait
   ```

------

   Você verá mensagens semelhantes aos exemplos a seguir.

   ```
   Hello, World! Battery level (80) is above threshold (70), so the component will acknowledge updates.
   Acknowledged update for deployment f9499eb2-4a40-40a7-86c1-c89887d859f1.
   ```