Implantar módulos do Azure IoT Edge com a CLI do Azure
Aplica-se a: IoT Edge 1.5 IoT Edge 1.4
Importante
IoT Edge 1.5 LTS e IoT Edge 1.4 LTS são versões suportadas. O IoT Edge 1.4 LTS termina a vida útil em 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, 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 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. 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 IoT enriquece a CLI do Azure com recursos como gerenciamento de dispositivos e capacidade total do IoT Edge.
Este artigo mostra como criar um manifesto de implantação JSON e, em seguida, 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
Um hub IoT em sua assinatura do Azure.
Um dispositivo IoT Edge
Se você não tiver um dispositivo IoT Edge configurado, poderá criar um em uma máquina virtual do Azure. Siga as etapas em um dos artigos de início rápido para Criar um dispositivo Linux virtual ou Criar um dispositivo virtual do Windows.
CLI do Azure em seu ambiente. No mínimo, sua versão da CLI do Azure deve ser 2.0.70 ou superior. Utilize
az --version
para validar. Esta versão suporta comandos de extensão az e apresenta a arquitetura de comandos Knack.A extensão IoT para CLI do Azure.
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 Compreender 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 quando executar o comando para 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 foi lançado junto com o 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.json
arquivo 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.
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.
Próximos passos
Saiba como implantar e monitorar módulos do IoT Edge em escala