Implantar módulos do Azure IoT Edge com CLI do Azure
Aplica-se a: IoT Edge 1.5 IoT Edge 1.4
Importante
O IoT Edge 1.5 LTS e o IoT Edge 1.4 LTS são versões com suporte. O IoT Edge 1.4 LTS chegará ao fim da vida útil em 12 de novembro de 2024. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.
Após criar os módulos do Azure IoT Edge com a lógica de negócios, você pretende implantá-los nos dispositivos para operar na borda. Se houver vários módulos trabalhando em conjunto para coletar e processar dados, será possível implantá-los todos de uma vez. Também é possível 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
Um Hub IoT na 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 virtual do Linux ou Criar um dispositivo virtual do Windows.
CLI do Azure em seu ambiente. No mínimo, a versão da CLI do Azure deve ser 2.0.70 ou superior. Use
az --version
para validar. Esta versão dá suporte aos comandos da extensão az e introduz a estrutura de comandos Knack.
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.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.
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.
Próximas etapas
Saiba como Implantar e monitorar módulos do IoT Edge em escala