Share via


Personalizar e reimplantar um microsserviço

Este tutorial mostra como editar um dos microsserviços na solução de Monitoramento Remoto, criar uma imagem do microsserviço, implantar a imagem no hub do Docker e usá-la na solução de Monitoramento Remoto. Para apresentar este conceito, o tutorial usa um cenário básico em que você pode chamar uma API de microsserviço e alterar o status da mensagem de "Alive and Well" para "New Edits Made Here!"

A solução de Monitoramento Remoto usa microsserviços criados usando imagens do Docker que são extraídas de um hub do Docker.

Neste tutorial, você aprenderá como:

  • Editar e compilar um microsserviço na solução de Monitoramento Remoto
  • Compilar uma imagem do docker
  • Envie uma imagem do docker por push para o hub do docker
  • Efetuar pull na nova imagem do docker
  • Visualizar as alterações

Pré-requisitos

Para seguir este tutorial, você precisa do seguinte:

Chamar a API e exibir o status da resposta

Nesta parte, você deve chamar a API de microsserviço do gerenciador do hub IoT padrão. A API retorna uma mensagem de status que você altera posteriormente personalizando o microsserviço.

  1. Verifique se a solução de Monitoramento Remoto está sendo executada localmente em seu computador.

  2. Localize onde você baixou o Postman e abra-o.

  3. No Postman, digite o seguinte no GET: https://localhost:8080/iothubmanager/v1/status.

  4. Exiba o retorno e você deverá ver: "Status": "OK:Alive and Well".

    Alive and Well Postman Message

Altere o status e compile a imagem

Agora, altere a mensagem de status do microsserviço do Gerenciador do Hub Iot para "Novas Edições Feitas Aqui!" e recompile a imagem do Docker com esse novo status. Se você tiver problemas aqui, consulte a nossa seção de Solução de problemas.

  1. Verifique se o terminal está aberto e altere para o diretório onde você clonou a solução de Monitoramento Remoto.

  2. Altere o diretório para "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/Services".

  3. Abra StatusService.cs em qualquer editor de texto ou IDE que desejar.

  4. Localize o código a seguir:

    var result = new StatusServiceModel(true, "Alive and well!");
    

    e altere-o para o código abaixo e salve-o.

    var result = new StatusServiceModel(true, "New Edits Made Here!");
    
  5. Volte para o terminal, mas agora, mude para o seguinte diretório: “azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/scripts/docker”.

  6. Para compilar sua nova imagem do docker, digite

    sh build
    

    ou, no Windows:

    ./build.cmd
    
  7. Para verificar que a nova imagem foi criada com êxito, digite

    docker images 
    

O repositório deve ser "azureiotpcs/iothub-manager-dotnet".

Successful docker image

Marcar e enviar imagem por push

Antes de você pode enviar a nova imagem do docker por push para um hub do docker, o Docker espera que suas imagens sejam marcadas. Se você tiver problemas aqui, consulte a nossa seção de Solução de problemas.

  1. Localize a ID da Imagem do docker que você criou. Basta digitar:

    docker images
    
  2. Para marcar a imagem com o tipo "teste", digite:

    docker tag [Image ID] [docker ID]/iothub-manager-dotnet:testing 
    
  3. Para enviar por push a imagem marcada recentemente para o hub do docker, digite:

    docker push [docker ID]/iothub-manager-dotnet:testing
    
  4. Abra seu navegador da Internet e acesse seu hub do docker e, em seguida, entre.

  5. Agora, você deverá ver sua imagem do docker recentemente enviada por push em seu hub do docker. Docker image in docker hub

Atualize sua solução de Monitoramento Remoto

Agora, você precisa atualizar seu docker-compose.yml local para receber a nova imagem do docker do seu hub do docker. Se você tiver problemas aqui, consulte a nossa seção de Solução de problemas.

  1. Volte para o terminal e mude para o seguinte diretório: “azure-iot-pcs-remote-monitoring-dotnet/services/scripts/local”.

  2. Abra docker-compose.yml em qualquer editor de texto ou o IDE que desejar.

  3. Localize o código a seguir:

    image: azureiotpcs/iothub-manager-dotnet:testing
    

    e altere-o para se parecer com a imagem abaixo e, em seguida, salve-o.

    image: [docker ID]/iothub-manager-dotnet:testing
    

Exibir o novo status de resposta

Finalize reimplantando uma instância local da solução de Monitoramento Remoto e exibindo a nova resposta de status no Postman.

  1. Volte para o terminal e mude para o seguinte diretório: “azure-iot-pcs-remote-monitoring-dotnet/scripts/local”.

  2. Inicie sua instância local da solução de Monitoramento Remoto. Basta digitar o seguinte comando no terminal:

    docker-compose up
    
  3. Localize onde você baixou o Postman e abra-o.

  4. No Postman, digite a seguinte solicitação no GET: https://localhost:8080/iothubmanager/v1/status. Agora você deve ver: "Status": "OK: New Edits Made Here!".

New Edits Made Here postman message

Solucionar problemas

Se você estiver com problemas, tente remover as imagens do docker e os contêineres do computador local.

  1. Para remover todos os contêineres, primeiro você precisará interromper todos os contêineres em execução. Abra o seu terminal e digite

    docker stop $(docker ps -aq)
    docker rm $(docker ps -aq)
    
  2. Para remover todas as imagens, abra o terminal e digite:

    docker rmi $(docker images -q)
    
  3. Você pode verificar se há um contêiner no computador. Basta digitar:

    docker ps -aq 
    

    Se você tiver removido todos os contêineres, nada deve aparecer.

  4. Você pode verificar se há imagens no computador. Basta digitar:

    docker images
    

    Se você tiver removido todos os contêineres, nada deve aparecer.

Próximas etapas

Neste tutorial, você aprendeu como:

  • Editar e compilar um microsserviço na solução de Monitoramento Remoto
  • Compilar uma imagem do docker
  • Envie uma imagem do docker por push para o hub do docker
  • Efetuar pull na nova imagem do docker
  • Visualizar as alterações

O próximo passo para se tentar é como personalizar o microsserviço do simulador de dispositivo na solução de Monitoramento Remoto

Para obter informações do desenvolvedor sobre a solução de Monitoramento Remoto, confira: