Partilhar via


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

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

Importante

O IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS está em fim de vida útil a partir de 12 de novembro de 2024. Se tiver uma versão anterior, consulte Atualizar 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 vez. Declare também as regras de roteamento que os conectam.

A CLI do Azure é uma ferramenta de linha de comando de código aberto e plataforma cruzada para gerenciar recursos do Azure, como o IoT Edge. Ele permite gerenciar 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 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 destinada a vários dispositivos com base em suas tags 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 gêmeos de módulo. 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 usados, configurados e reutilizados.

Para implantar módulos usando a CLI do Azure, salve o manifesto de implantação localmente como um arquivo de .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 exemplo de manifesto de implantação usa o esquema versão 1.1 para o agente e o hub do IoT Edge. O esquema versão 1.1 está incluído no IoT Edge versão 1.0.10 e permite 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
        }
      }
    }
  }
}

Implementar no seu novo 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 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 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 tela mostrando a saída de linha de 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 do 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 tela mostrando a saída do comando az iot hub module-identity list.

Próximos passos

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