Personalización y reimplementación de un microservicio
En este tutorial se muestra cómo editar uno de los microservicios de la solución de supervisión remota, compilar una imagen del microservicio, implementar la imagen en el centro de Docker y, a continuación, usarla en la solución de supervisión remota. Para introducir este concepto, el tutorial usa un escenario básico donde llamar a una API de microservicio y cambiar el mensaje de estado de "Activo y correcto" a "Las nuevas modificaciones se hacen aquí".
La solución de supervisión remota usa microservicios creados mediante imágenes de Docker que se extraen de un centro de Docker.
En este tutorial, aprenderá a:
- Editar y compilar un microservicio en la solución de supervisión remota
- Crear una imagen de Docker
- Insertar una imagen de Docker en un centro de Docker
- Extraer una imagen de Docker nueva
- Visualizar los cambios
Requisitos previos
Para utilizar este tutorial, necesitará:
- Implementación local del acelerador de soluciones de supervisión remota
- Una cuenta de Docker
- Postman: necesario para ver la respuesta de la API
Llamada API y visualización del estado de la respuesta
En esta parte, llame a la API de microservicio del administrador de IoT Hub predeterminada. La API devuelve un mensaje de estado que se cambia más adelante mediante la personalización del microservicio.
Asegúrese de que la solución de supervisión remota se ejecuta localmente en su equipo.
Busque el entorno de Postman descargado y ábralo.
En Postman, escriba lo siguiente en GET:
https://localhost:8080/iothubmanager/v1/status
.Verá el valor devuelto y también debe ver "Estado": "Activo y correcto".
Cambio de estado y creación de la imagen
Ahora cambie el mensaje de estado del microservicio del Administrador de IoT Hub a "Nuevas ediciones realizadas aquí" y vuelva a generar la imagen de Docker con este nuevo estado. Si experimenta problemas aquí, vea la sección Solución de problemas.
Asegúrese de que el terminal esté abierto y cambie al directorio en que clonó la solución de supervisión remota.
Cambie el directorio a "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/Services".
Abra StatusService.cs en el editor de texto o el IDE que le guste.
Busque el código siguiente:
var result = new StatusServiceModel(true, "Alive and well!");
y cámbielo por el código siguiente y guárdelo.
var result = new StatusServiceModel(true, "New Edits Made Here!");
Vuelva al terminal, pero ahora cambie al siguiente directorio: "azure-iot-pcs-remote-monitoring-dotnet/services/iothub-manager/scripts/docker".
Para compilar la nueva imagen de Docker, escriba
sh build
o en Windows:
./build.cmd
Para verificar que la nueva imagen se creó correctamente, escriba
docker images
El repositorio debe ser "azureiotpcs/iothub-manager-dotnet".
Etiquetado e inserción de la imagen
Antes de poder insertar una nueva imagen de Docker en un centro de Docker, Docker espera el etiquetado de las imágenes. Si experimenta problemas aquí, vea la sección Solución de problemas.
Busque el identificador de la imagen de Docker creada; para ello, escriba:
docker images
Para etiquetar la imagen con el tipo "prueba"
docker tag [Image ID] [docker ID]/iothub-manager-dotnet:testing
Para insertar la imagen recién etiquetada con el centro de Docker, escriba
docker push [docker ID]/iothub-manager-dotnet:testing
Abra el explorador de Internet y vaya al centro de Docker e inicie sesión.
Ahora debería ver la imagen de Docker recién insertada en el centro de Docker.
Actualización de la solución de supervisión remota
Debe actualizar el archivo local docker-compose.yml para extraer la imagen de Docker nueva del centro de Docker. Si experimenta problemas aquí, vea la sección Solución de problemas.
Vuelva al terminal y cambie al siguiente directorio: "azure-iot-pcs-remote-monitoring-dotnet/services/scripts/local".
Abra docker-compose.yml en el editor de texto o el IDE que le guste.
Busque el código siguiente:
image: azureiotpcs/iothub-manager-dotnet:testing
y cámbielo para que sea similar a la imagen siguiente y después guárdelo.
image: [docker ID]/iothub-manager-dotnet:testing
Visualización del nuevo estado de respuesta
Para terminar, reimplemente una instancia local de la solución de supervisión remota y vea la nueva respuesta de estado en Postman.
Vuelva al terminal y cambie al siguiente directorio: "azure-iot-pcs-remote-monitoring-dotnet/scripts/local".
Inicie la instancia local de la solución de supervisión remota; para ello, escriba el siguiente comando en el terminal:
docker-compose up
Busque el entorno de Postman descargado y ábralo.
En Postman, escriba la siguiente solicitud en GET:
https://localhost:8080/iothubmanager/v1/status
. Ahora debería ver "Estado": "Correcto. Las nuevas modificaciones se hacen aquí".
Solución de problemas
Si experimenta problemas, intente eliminar las imágenes y los contenedores de Docker del equipo local.
Para quitar todos los contenedores, primero debe detener todos los contenedores en ejecución. Abra el terminal y escriba
docker stop $(docker ps -aq) docker rm $(docker ps -aq)
Para quitar todas las imágenes, abra el terminal y escriba
docker rmi $(docker images -q)
Puede comprobar si hay algún contenedor en la máquina; para ello, escriba
docker ps -aq
Si se han quitado correctamente todos los contenedores, no debería aparecer nada.
Puede comprobar si hay alguna imagen en la máquina; para ello, escriba
docker images
Si se han quitado correctamente todos los contenedores, no debería aparecer nada.
Pasos siguientes
En este tutorial, aprenderá a:
- Editar y compilar un microservicio en la solución de supervisión remota
- Crear una imagen de Docker
- Insertar una imagen de Docker en un centro de Docker
- Extraer una imagen de Docker nueva
- Visualizar los cambios
Lo siguiente que hay que probar es personalizar el microservicio del simulador de dispositivos en la solución de supervisión remota.
Para más información sobre la solución de supervisión remota para los desarrolladores, consulte: