Implementación local del acelerador de soluciones de supervisión remota: Visual Studio
En este artículo, se explica cómo implementar el acelerador de soluciones de supervisión remota en la máquina local para pruebas y desarrollo. Aprenderá a ejecutar los microservicios en Visual Studio. Una implementación local de microservicios usa los siguientes servicios en la nube: IoT Hub, Cosmos DB, Azure Streaming Analytics y Azure Time Series Insights.
Si quiere ejecutar el acelerador de soluciones de supervisión remota en Docker en el equipo local, consulte Deploy the Remote Monitoring solution accelerator locally - Docker (Implementación local del acelerador de soluciones de supervisión remota: Docker).
Requisitos previos
Para implementar los servicios de Azure que usa el acelerador de soluciones de supervisión remota, necesita una suscripción de Azure activa.
En caso de no tener ninguna, puede crear una cuenta de evaluación gratuita en tan solo unos minutos. Para obtener más información, consulte Evaluación gratuita de Azure.
Configuración de la máquina
Para completar la implementación local, necesita que las herramientas siguientes estén instaladas en la máquina de desarrollo local:
- Git
- Docker
- Visual Studio
- Nginx
- Node.js v8: este software es un requisito previo para la CLI de PCS que usan los scripts para crear recursos de Azure. No use Node.js v10.
Nota
Visual Studio está disponible para Windows y Mac.
Descarga del código fuente
Los repositorios de código fuente de Supervisión remota incluyen el código fuente y los archivos de configuración de Docker que necesita para ejecutar las imágenes de Docker de los microservicios.
Para clonar y crear una versión local del repositorio, use el entorno de línea de comandos para ir a una carpeta adecuada en la máquina local. A continuación, ejecute uno de los siguientes conjuntos de comandos para clonar el repositorio de .NET:
Para descargar la versión más reciente de las implementaciones de microservicios de .NET, ejecute:
git clone --recurse-submodules https://github.com/Azure/azure-iot-pcs-remote-monitoring-dotnet.git
# To retrieve the latest submodules, run the following command:
cd azure-iot-pcs-remote-monitoring-dotnet
git submodule foreach git pull origin master
Nota
Estos comandos descargan el código fuente de todos los microservicios, además de los scripts que se usan para ejecutar los microservicios localmente. Aunque no necesita el código fuente para ejecutar los microservicios en Docker, el código fuente es útil si más tarde piensa modificar el acelerador de soluciones y probar los cambios localmente.
Implementación de servicios de Azure
Aunque en este artículo se muestra cómo ejecutar los microservicios localmente, dependen de los servicios de Azure que se ejecutan en la nube. Use el siguiente script para implementar los servicios de Azure. En los siguientes ejemplos de scripts se da por hecho que usa el repositorio de .NET en una máquina Windows. Si está trabajando en otro entorno, ajuste las rutas de acceso, las extensiones de archivo y los separadores de ruta de acceso de la manera correcta.
Crear nuevos recursos de Azure
Si aún no ha creado los recursos de Azure necesarios, siga estos pasos:
En el entorno de línea de comandos, vaya a la carpeta \services\scripts\local\launch de la copia clonada del repositorio.
Ejecute los comandos siguientes para instalar la herramienta de la CLI pcs e inicie sesión en su cuenta de Azure:
npm install -g iot-solutions pcs login
Ejecute el script start.cmd. El script le pedirá la siguiente información:
Nombre de la solución.
La suscripción de Azure que se va a usar.
La ubicación del centro de datos de Azure que se va a usar.
El script crea el grupo de recursos en Azure con el nombre de la solución. Este grupo de recursos contiene los recursos de Azure que usa el acelerador de soluciones. Puede eliminar este grupo de recursos cuando ya no necesite los recursos correspondientes.
El script también agrega un conjunto de variables de entorno con un prefijo PCS en el equipo local. Estas variables de entorno proporcionan los detalles de Supervisión remota para poder leer desde un recurso de Azure Key Vault. Este recurso de Key Vault es desde donde Supervisión remota leerá sus valores de configuración.
Sugerencia
Cuando se completa el script, también guarda las variables de entorno en un archivo denominado <carpeta principal>\.pcs\<solution name.env>. Puede usarlos para las implementaciones del acelerador de soluciones futuras. Tenga en cuenta que las variables de entorno establecidas en el equipo local invalidan los valores del archivo services\scripts\local\.env al ejecutar docker-compose.
Salga del entorno de la línea de comandos.
Usar recursos de Azure existentes
Si ya ha creado los recursos de Azure necesarios, cree las variables de entorno correspondientes en el equipo local. Establezca las variables de entorno para lo siguiente:
- PCS_KEYVAULT_NAME: nombre del recurso de Azure Key Vault
- PCS_AAD_APPID: id. de aplicación de AAD
- PCS_AAD_APPSECRET: secreto de aplicación de AAD
Los valores de configuración se leerán desde este recurso de Azure Key Vault. Estas variables de entorno se pueden guardar en el <archivo home folder>\.pcs\<solution name.env> de la implementación. Tenga en cuenta que las variables de entorno establecidas en el equipo local invalidan los valores del archivo services\scripts\local\.env al ejecutar docker-compose.
Parte de la configuración necesaria para el microservicio se almacena en una instancia de Key Vault que se ha creado en la implementación inicial. Las variables correspondientes del almacén de claves deben modificarse según sea necesario.
Ejecución de los microservicios
En esta sección, ejecutará los microservicios de Supervisión remota. Ejecute la interfaz de usuario web de forma nativa, el servicio de simulación de dispositivo en Docker y los microservicios en Visual Studio.
Ejecución del servicio de simulación de dispositivos
Abra una nueva ventana del símbolo del sistema para asegurarse de tener acceso a las variables de entorno establecidas por el script start.cmd en la sección anterior.
Ejecute el siguiente comando para iniciar el contenedor de Docker para el servicio de simulación de dispositivos. El servicio simula dispositivos para la solución de supervisión remota.
<path_to_cloned_repository>\services\device-simulation\scripts\docker\run.cmd
Implementación de los demás microservicios en la máquina local
En los pasos siguientes se muestra cómo ejecutar los microservicios de Supervisión remota en Visual Studio:
- Inicie Visual Studio.
- Abra la solución remote-monitoring.sln en la carpeta Servicios de la copia local del repositorio.
- En el Explorador de soluciones, haga clic con el botón derecho en la solución y, a continuación, haga clic en Propiedades.
- Seleccione Project de inicio de propiedades > comunes.
- Seleccione Varios proyectos de inicio y establezca Acción en Inicio para los proyectos siguientes:
- WebService (asa-manager\WebService)
- WebService (auth\WebService)
- WebService (config\WebService)
- WebService (device-telemetry\WebService)
- WebService (iothub-manager\WebService)
- WebService (storage-adapter\WebService)
- Haga clic en Aceptar para guardar las opciones.
- Haga clic en Depurar Iniciar depuración > para compilar y ejecutar los servicios web en el equipo local.
Cada servicio web abre una ventana del explorador web y del símbolo del sistema. En el símbolo del sistema, verá el resultado del servicio en ejecución y la ventana del explorador le permitirá supervisar el estado. No cierre el símbolo del sistema ni las páginas web, ya que esta acción detiene el servicio web.
Inicio del trabajo de Stream Analytics
Siga estos pasos para iniciar el trabajo de Stream Analytics:
- Acceda a Azure Portal.
- Vaya al grupo de recursos creado para la solución. El nombre del grupo de recursos es el nombre que eligió para la solución al ejecutar el script start.cmd.
- Haga clic en el trabajo de Stream Analytics de la lista de recursos.
- En la página de información general del trabajo de Stream Analytics, haga clic en el botón Inicio. A continuación, haga clic en Inicio para iniciar ya el trabajo.
Ejecución de la interfaz de usuario web
En este paso, inicie la interfaz de usuario web. Abra una nueva ventana del símbolo del sistema para asegurarse de tener acceso a las variables de entorno establecidas por el script start.cmd. Navegue hasta la carpeta webui de la copia local del repositorio y ejecute los siguientes comandos:
npm install
npm start
Una vez completado el inicio, el explorador muestra la página http://localhost:3000/dashboard. Los errores de esta página son de esperar. Para ver la aplicación sin errores, complete el paso siguiente.
Configuración y ejecución de NGINX
Configure un servidor proxy inverso para vincular la aplicación web y los microservicios que se ejecutan en el equipo local:
- Copie el archivo nginx.conf de la carpeta webui\scripts\localhost de la copia local del repositorio en el directorio nginx\conf de instalación.
- Ejecute nginx.
Para obtener más información sobre cómo ejecutar nginx, consulte nginx para Windows.
Conexión al panel
Para acceder al panel de la solución de supervisión remota, vaya a http://localhost:9000 en el explorador.
Limpieza
Para evitar cargos innecesarios, cuando haya terminado las pruebas, elimine los servicios en la nube de su suscripción a Azure. Para quitar los servicios, vaya a Azure Portal y elimine el grupo de recursos que creó el script start.cmd.
También puede eliminar la copia local del repositorio de Supervisión remota que se ha creado al clonar el código fuente de GitHub.
Pasos siguientes
Ahora que ha implementado la solución de supervisión remota, el paso siguiente es explorar las funcionalidades del panel de soluciones.