Partilhar via


Deploye módulos Azure IoT Edge usando Azure CLI

Aplica-se a:IoT Edge 1.5 IoT Edge 1.5

Importante

IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS atingiu o fim de vida útil a 12 de novembro de 2024. Se estiveres a usar uma versão anterior, vê Update IoT Edge.

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

Azure CLI é uma ferramenta de linha de comandos open-source e multiplataforma para gerir recursos Azure como IoT Edge. Permite-lhe gerir recursos do Azure IoT Hub, instâncias de serviço de provisionamento de dispositivos e hubs ligados logo à saída. A nova extensão IoT enriquece o Azure CLI com funcionalidades como gestão de dispositivos e capacidades completas do IoT Edge.

Este artigo explica como criar um manifesto de implementação JSON e usar esse ficheiro para enviar a implementação para um dispositivo IoT Edge. Para informações sobre como criar uma implementação que vise vários dispositivos com base nas suas etiquetas partilhadas, consulte Implementar e monitorizar módulos do IoT Edge à 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 gêmeos de módulo. Para mais informações sobre como funcionam os manifestos de implementação e como os criar, veja entenda como os módulos IoT Edge podem ser usados, configurados e reutilizados.

Para implementar módulos usando o Azure CLI, guarde o manifesto de implementação localmente como um ficheiro .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ásica com um módulo como exemplo:

Nota

Este manifesto de implementação de exemplo utiliza a versão 1.1 do esquema para o agente IoT Edge e o hub. A versão 1.1 do esquema está incluída na versão 1.0.10 do IoT Edge e permite funcionalidades como a ordem de arranque dos módulos e a priorização de rotas.

{
  "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
        }
      }
    }
  }
}

Implementar no seu dispositivo

Você implanta módulos em seu dispositivo aplicando o manifesto de implantação que você configurou com as informações do módulo.

Altere os diretórios para a pasta onde você salvou o manifesto de implantação. Se usaste um dos modelos de Visual Studio Code IoT Edge, usa o ficheiro deployment.json na pasta config do diretório de soluções e não o ficheiro deployment.template.json.

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

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

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

Captura de ecrã que mostra a saída de linha de comandos do comando az iot edge set-modules.

Ver módulos no seu dispositivo

Depois de implantar módulos no seu dispositivo, você pode visualizar todos eles com o seguinte comando:

Veja 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 ID do dispositivo diferencia maiúsculas de minúsculas.

Captura de ecrã que mostra a saída do comando az iot hub module-identity list.

Próximos passos

Aprenda a Implementar e monitorizar módulos de IoT Edge em escala