Implantar módulos do Azure IoT Edge com CLI do Azure

Aplica-se a:IoT Edge 1.4 checkmark IoT Edge 1.4

Importante

A versão com suporte é a IoT Edge 1.4. 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, você deseja implantá-los em seus dispositivos para operar na borda. Se você tiver vários módulos que trabalham juntos para coletar e processar dados, poderá implantá-los todos de uma só vez. Você também pode declarar as regras de roteamento que os conectam.

A CLI do Azure é uma ferramenta de linha de comando de plataforma cruzada de código aberto para gerenciar recursos do Azure, como o IoT Edge. Isso permite que você gerencie instantaneamente recursos, instâncias de serviço de provisionamento de dispositivos e hubs vinculados do Hub IoT. A nova extensão de IoT enriquece a CLI do Azure com recursos como gerenciamento de dispositivos e funcionalidade completa do IoT Edge.

Este artigo mostra como criar um manifesto de implantação JSON e usar esse arquivo para enviar a implantação a um dispositivo do 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, consulte Entender como os módulos do IoT Edge podem ser utilizados, 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 quando executar o comando para aplicar a configuração ao dispositivo.

A seguir, é apresentado um manifesto básico de implantação com um módulo como um 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. A versão 1.1 do esquema foi lançada junto com o IoT Edge versão 1.0.10 e habilita os recursos como a priorização de rota e a ordem de inicialização do módulo.

{
  "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.1",
                "createOptions": "{}"
              }
            },
            "edgeHub": {
              "type": "docker",
              "status": "running",
              "restartPolicy": "always",
              "settings": {
                "image": "mcr.microsoft.com/azureiotedge-hub:1.1",
                "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.0",
                "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 onde você salvou o manifesto de implantação. Se você usou um dos modelos do Visual Studio Code IoT Edge, use o deployment.jsonarquivo na pasta config do diretório da solução e não o deployment.template.json arquivo.

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.

Screenshot showing the az iot edge set-modules command line output.

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.

Screenshot showing the az iot hub module-identity list command output.

Próximas etapas

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