Compartir a través de


Implementación local del acelerador de soluciones de supervisión remota con Visual Studio Code

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 Code. Una implementación de microservicios local usa los siguientes servicios en la nube: IoT Hub, Cosmos DB, Azure Streaming Analytics y Azure Time Series Insights.

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:

Nota

Visual Studio Code está disponible para Windows, Mac y Ubuntu.

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:

  1. En el entorno de línea de comandos, vaya a la carpeta \services\scripts\local\launch de la copia clonada del repositorio.

  2. 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
    
  3. 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.

  4. 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 Code.

Compilación del código

Vaya a azure-iot-pcs-remote-monitoring-dotnet\services en el símbolo del sistema y ejecute los siguientes comandos para compilar el código.

dotnet restore
dotnet build -c Release

Implementación de los demás microservicios en la máquina local

En los pasos siguientes, se muestra cómo se ejecutan los microservicios de supervisión remota en Visual Studio Code:

  1. Inicie Visual Studio Code.
  2. En VS Code, abra la carpeta azure-iot-pcs-remote-monitoring-dotnet.
  3. Cree una nueva carpeta llamada .vscode en azure-iot-pcs-remote-monitoring-dotnet.
  4. Copie los archivos launch.json y tasks.json de services\scripts\local\launch\idesettings\vscode en la carpeta .vscode que acaba de crear.
  5. Abra el panel de depuración en VS Code y ejecute la opción Run All microservices (Ejecutar todos los microservicios). Esta configuración ejecuta el microservicio de simulación de dispositivos en Docker y ejecuta los demás microservicios en el depurador.

Después de ejecutar Run All microservices (Ejecutar todos los microservicios) en la Consola de depuración, el resultado debería ser similar al siguiente:

Implementación de microservicios locales

Ejecución de la interfaz de usuario web

En este paso, inicie la interfaz de usuario web. Vaya a la carpeta azure-iot-pcs-remote-monitoring-dotnet\webui en su copia local 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 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.