Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: IoT Edge 1.5
Importante
IoT Edge 1.5 LTS es la versión compatible. IoT Edge 1.4 LTS finaliza su ciclo de vida el 12 de noviembre de 2024. Si está usando una versión anterior, consulte Actualización de IoT Edge.
Después de crear módulos de Azure IoT Edge con la lógica de negocios, impleméntelos en los dispositivos para que funcionen en el borde. Si varios módulos funcionan juntos para recopilar y procesar datos, impleméntelos todos a la vez. Declare también las reglas de enrutamiento que las conectan.
La CLI de Azure es una herramienta de línea de comandos multiplataforma de código abierto para administrar recursos de Azure como IoT Edge. Le permite administrar recursos de Azure IoT Hub, instancias del servicio de aprovisionamiento de dispositivos y centros vinculados de manera inmediata. La nueva extensión de IoT enriquece la CLI de Azure con características como la administración de dispositivos y las funcionalidades completas de IoT Edge.
En este artículo se explica cómo crear un manifiesto de implementación JSON y usar ese archivo para insertar la implementación en un dispositivo IoT Edge. Para obtener información sobre la creación de una implementación dirigida a varios dispositivos en función de sus etiquetas compartidas, consulte Implementación y supervisión de módulos de IoT Edge a escala.
Requisitos previos
Una instancia de IoT Hub en su suscripción de Azure.
Un dispositivo IoT Edge.
Si no tiene configurado un dispositivo IoT Edge, cree uno en una máquina virtual de Azure. Siga los pasos descritos en uno de los artículos de inicio rápido para crear un dispositivo Linux virtual o crear un dispositivo Windows virtual.
La CLI de Azure en su entorno. La versión de la CLI de Azure debe ser 2.0.70 o posterior. Use
az --version
para comprobarlo. Esta versión admite comandos az extension y usa el marco de comandos Knack.
Configuración de un manifiesto de implementación
Un manifiesto de implementación es un documento JSON que describe qué módulos se van a implementar, cómo fluyen los datos entre los módulos y las propiedades deseadas de los módulos gemelos. Para obtener más información sobre cómo funcionan los manifiestos de implementación y cómo crearlos, consulte Descripción de cómo se pueden usar, configurar y reutilizar los módulos de IoT Edge.
Para implementar módulos con la CLI de Azure, guarde el manifiesto de implementación localmente como un archivo .json. Use la ruta de acceso del archivo en la sección siguiente para ejecutar el comando y aplicar la configuración al dispositivo.
Este es un manifiesto de implementación básico con un módulo como ejemplo:
Nota:
Este manifiesto de implementación de ejemplo usa la versión de esquema 1.1 para el centro y el agente de IoT Edge. La versión 1.1 del esquema se incluye con la versión 1.0.10 de IoT Edge y habilita características como el orden de inicio del módulo y la priorización de rutas.
{
"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
}
}
}
}
}
Implementación en el dispositivo
Para implementar los módulos en el dispositivo, aplique el manifiesto de implementación que configuró con la información del módulo.
Cambie los directorios a la carpeta en la que guardó el manifiesto de implementación. Si ha usado una de las plantillas de IoT Edge para Visual Studio Code, use el archivo deployment.json
de la carpeta config del directorio de la solución y no el archivo deployment.template.json
.
Utilice el siguiente comando para aplicar la configuración a un dispositivo IoT Edge:
az iot edge set-modules --device-id [device id] --hub-name [hub name] --content [file path]
El parámetro del id. de dispositivo distingue mayúsculas y minúsculas. El parámetro "content" apunta al archivo del manifiesto de implementación que guardó.
Visualización de módulos en el dispositivo
Una vez que los módulos se han implementado en el dispositivo, puede verlos todos con el siguiente comando:
Vea los módulos en el dispositivo de IoT Edge:
az iot hub module-identity list --device-id [device id] --hub-name [hub name]
El parámetro del id. de dispositivo distingue mayúsculas y minúsculas.
Pasos siguientes
Aprenda a implementar y supervisar módulos de IoT Edge a escala