Compartilhar via


Implantar módulos do Azure IoT Edge usando a CLI do Azure

Aplica-se a:Marca de seleção do IoT Edge 1.5 IoT Edge 1.5

Importante

O IoT Edge 1.5 LTS é a versão com suporte. O IoT Edge 1.4 LTS atingirá o fim da vida útil em 12 de novembro de 2024. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.

Depois de criar módulos do Azure IoT Edge com sua lógica de negócios, implante-os em seus dispositivos para operar na borda. Se vários módulos trabalharem juntos para coletar e processar dados, implante-os todos de uma só vez. Declare também as regras de roteamento que as conectam.

A CLI do Azure é uma ferramenta de linha de comando multiplataforma de software livre para gerenciar recursos do Azure, como o IoT Edge. Ele permite que você gerencie recursos do Hub IoT do Azure, instâncias de serviço de provisionamento de dispositivos e hubs vinculados prontos para uso. A nova extensão de IoT enriquece a CLI do Azure com recursos como gerenciamento de dispositivos e recursos completos do IoT Edge.

Este artigo explica como criar um manifesto de implantação JSON e usar esse arquivo para enviar a implantação por push para um dispositivo IoT Edge. Para obter informações sobre como criar uma implantação voltada a vários dispositivos com base nas marcações compartilhadas, consulte Implantar e monitorar módulos do IoT Edge em escala.

Pré-requisitos

Configurar um manifesto de implantação

Um manifesto de implantação é um documento JSON que descreve quais módulos implantar, como os dados fluem entre os módulos e as propriedades desejadas dos módulos gêmeos. Para obter mais informações sobre como os manifestos de implantação funcionam e como criá-los, confira como os módulos do IoT Edge podem ser usados, configurados e reutilizados.

Para implantar módulos usando a CLI do Azure, salve o manifesto de implantação localmente como um arquivo .JSON. Use o caminho do arquivo na próxima seção para executar o comando e aplicar a configuração ao seu dispositivo.

Aqui está um manifesto de implantação básico com um módulo como exemplo:

Observação

Este exemplo de manifesto de implantação usa a versão 1.1 do esquema para o hub e o agente IoT Edge. O esquema versão 1.1 está incluído no IoT Edge versão 1.0.10 e habilita recursos como ordem de inicialização do módulo e priorização de rota.

{
  "content": {
    "modulesContent": {
      "$edgeAgent": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "runtime": {
            "type": "docker",
            "settings": {
              "minDockerVersion": "v1.25",
              "loggingOptions": "",
              "registryCredentials": {}
            }
          },
          "systemModules": {
            "edgeAgent": {
              "type": "docker",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-agent:1.5",
                "createOptions": "{}"
              }
            },
            "edgeHub": {
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-hub:1.5",
                "createOptions": "{\"HostConfig\":{\"PortBindings\":{\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}],\"443/tcp\":[{\"HostPort\":\"443\"}]}}}"
              }
            }
          },
          "modules": {
            "SimulatedTemperatureSensor": {
              "version": "1.0",
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.5",
                "createOptions": "{}"
              }
            }
          }
        }
      },
      "$edgeHub": {
        "properties.desired": {
          "schemaVersion": "1.1",
          "routes": {
            "upstream": "FROM /messages/* INTO $upstream"
          },
          "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
          }
        }
      },
      "SimulatedTemperatureSensor": {
        "properties.desired": {
          "SendData": true,
          "SendInterval": 5
        }
      }
    }
  }
}

Implantar no seu dispositivo

Você implanta módulos no dispositivo, aplicando o manifesto de implantação configurado com as informações do módulo.

Altere os diretórios para a pasta em que você salvou o manifesto de implantação. Se você tiver usado um dos modelos do IoT Edge do Visual Studio Code, use o arquivo deployment.json na pasta config do seu diretório de solução e não o arquivo deployment.template.json.

Use o comando a seguir para aplicar a configuração a um dispositivo do IoT Edge:

az iot edge set-modules --device-id [device id] --hub-name [hub name] --content [file path]

O parâmetro da ID do dispositivo diferencia maiúsculas de minúsculas. O parâmetro de conteúdo aponta para o arquivo de manifesto de implantação que você salvou.

Captura de tela mostrando a saída da linha de comando az iot edge set-modules.

Exibir módulos no dispositivo

Após implantar os módulos no dispositivo, será possível exibir todos eles com o comando a seguir:

Exiba os módulos no seu dispositivo IoT Edge:

az iot hub module-identity list --device-id [device id] --hub-name [hub name]

O parâmetro da ID do dispositivo diferencia maiúsculas de minúsculas.

Captura de tela mostrando a saída de comando az iot hub module-identity list.

Próximas etapas

Saiba como Implantar e monitorar módulos do IoT Edge em escala