Tutorial: Conexión de una aplicación lógica a la solución preconfigurada de supervisión remota de Azure IoT Suite
La solución preconfigurada de supervisión remota de Microsoft Azure IoT Suite constituye una excelente forma de empezar a trabajar rápidamente con una serie de características de extremo a extremo que ejemplifica una solución de IoT. Este tutorial le mostrará cómo agregar una aplicación lógica a su solución preconfigurada de supervisión remota de Microsoft Azure IoT Suite. Estos pasos muestran cómo puede aprovechar aún más la solución de IoT conectándola a un proceso empresarial.
Si está buscando un tutorial sobre cómo aprovisionar una solución preconfigurada de supervisión remota, consulte Tutorial: Introducción a las soluciones preconfiguradas.
Antes de comenzar este tutorial, debe:
- Aprovisionar la solución preconfigurada de supervisión remota en su suscripción de Azure.
- Crear una cuenta de SendGrid para poder enviar un correo electrónico que desencadene el proceso de negocio. Puede registrarse para obtener una cuenta de evaluación gratuita en SendGrid haciendo clic en Try for Free(Probar gratis). Después de haberse registrado para crear una cuenta de evaluación gratuita, deberá generar una clave de API en SendGrid que conceda permisos para enviar correo. La necesitará más adelante en el tutorial.
Para completar este tutorial, necesita Visual Studio 2015 o Visual Studio 2017 para modificar las acciones en el back-end de soluciones preconfiguradas.
Suponiendo que ya se haya aprovisionado la solución preconfigurada de supervisión remota, vaya al grupo de recursos correspondiente a esa solución en Azure Portal. El grupo de recursos tiene el mismo nombre que la solución de supervisión remota aprovisionada. En el grupo de recursos, puede ver todos los recursos de Azure aprovisionados para su solución. La captura de pantalla siguiente muestra una hoja de grupo de recursos de ejemplo para una solución preconfigurada de supervisión remota:
Para comenzar, configure la aplicación lógica que se usará con la solución preconfigurada.
Configuración de la aplicación lógica
Haga clic en la opción Agregar que verá en la parte superior de la hoja del grupo de recursos en Azure Portal.
Busque la aplicación lógica, selecciónela y, después, haga clic en Crear.
Especifique un valor en Nombre y utilice los mismos valores de Suscripción y Grupo de recursos que usó al aprovisionar la solución de supervisión remota. Haga clic en Crear.
Cuando se complete la implementación, verá que la aplicación lógica aparece incluida en el grupo de recursos.
Haga clic en la aplicación lógica para desplazarse a la hoja de aplicación lógica y seleccione la plantilla Aplicación lógica en blanco para abrir el Diseñador de aplicaciones lógicas.
Seleccione Solicitar. Esta acción especifica que una solicitud HTTP entrante con una carga específica con formato de JSON actúa como desencadenador.
Pegue el siguiente código en el esquema de JSON del cuerpo de la solicitud:
{ "$schema": "http://json-schema.org/draft-04/schema#", "id": "/", "properties": { "DeviceId": { "id": "DeviceId", "type": "string" }, "measuredValue": { "id": "measuredValue", "type": "integer" }, "measurementName": { "id": "measurementName", "type": "string" } }, "required": [ "DeviceId", "measurementName", "measuredValue" ], "type": "object" }
Nota
Puede copiar la dirección URL de HTTP POST tras guardar la aplicación lógica, pero, primero, debe agregar una acción.
Haga clic en + Nuevo paso en el desencadenador manual. A continuación, haga clic en Agregar una acción.
Busque la opción SendGrid - Send email (SendGrid: enviar correo electrónico) y haga clic en ella.
Escriba un nombre para la conexión, como SendGridConnection, escriba la clave de API de SendGrid que creó al configurar la cuenta de SendGrid y haga clic en Crear.
Agregue direcciones de correo electrónico que posea tanto al campo De como a Para. Agregue Alerta de supervisión remota [DeviceId] al campo Asunto. En el campo Cuerpo del correo electrónico , agregue Device [DeviceId] ha notificado [measurementName] con el valor [measuredValue]. Puede agregar [DeviceId], [measurementName] y [measuredValue] haciendo clic en la sección Puede insertar datos de los pasos anteriores .
Haga clic en Guardar en el menú superior.
Haga clic en el desencadenador Solicitud y copie el valor HTTP POST a esta dirección URL. Necesitará esta URL más adelante en el tutorial.
Nota
Logic Apps permite ejecutar muchos tipos diferentes de acciones, incluidas las de Office 365.
Configuración del trabajo web EventProcessor
En esta sección, se conectará la solución preconfigurada a la aplicación lógica creada. Para completar esta tarea, agregue la dirección URL para desencadenar la aplicación lógica con la acción que se activa cuando el valor del sensor de un dispositivo supera un umbral.
Use el cliente de Git para clonar la versión más reciente del repositorio de GitHub azure-iot-remote-monitoring. Por ejemplo:
git clone https://github.com/Azure/azure-iot-remote-monitoring.git
En Visual Studio, abra RemoteMonitoring.sln de la copia local del repositorio.
Abra el archivo ActionRepository.cs en la carpeta Infrastructure\Repository .
Actualice el diccionario actionIds con el valor de HTTP POST a esta dirección URL que anotó de la aplicación lógica, como se indica a continuación:
private Dictionary<string,string> actionIds = new Dictionary<string, string>() { { "Send Message", "<Http Post to this URL>" }, { "Raise Alarm", "<Http Post to this URL>" } };
Guarde los cambios de la solución y salga de Visual Studio.
Implementación desde la línea de comandos
En esta sección, implementará la versión actualizada de la solución de supervisión remota para reemplazar la que se encuentre actualmente en ejecución en Azure.
Siga las instrucciones de configuración del entorno de desarrollo con el fin de prepararlo para la implementación.
Para efectuar la implementación localmente, siga las instrucciones de implementación local.
Para efectuar la implementación en la nube y actualizar la existente, siga las instrucciones de implementación de nube. Utilice el nombre de la implementación original como el nombre de la implementación. Por ejemplo, si la original se denomina demologicapp, utilice el siguiente comando:
build.cmd cloud release demologicapp
Cuando se ejecute el script de compilación, asegúrese de usar la misma cuenta, suscripción, región e instancia de Active Directory de Azure que utilizó al aprovisionar la solución.
La aplicación lógica en acción
La solución preconfigurada de supervisión remota tiene dos reglas configuradas de forma predeterminada al aprovisionar una solución. Ambas se encuentran en el dispositivo SampleDevice001 :
- Temperatura > 38.00
- > Humedad 48.00
La regla de temperatura desencadena la acción Activar alarma, mientras que la de humedad desencadena la acción Enviar mensaje. Suponiendo que utiliza la misma dirección URL para ambas acciones de la clase ActionRepository , la aplicación lógica se desencadenará con cualquiera de las dos reglas. Ambas reglas usan SendGrid para enviar un correo electrónico a la dirección Para con detalles de la alerta.
Nota
La aplicación lógica se sigue desencadenando cada vez que se alcance el umbral. Para evitar mensajes innecesarios, puede deshabilitar las reglas en el portal de la solución o deshabilitar la aplicación lógica en Azure Portal.
Además de recibir mensajes de correo electrónico, también puede ver cuándo se ejecuta la aplicación lógica en el portal:
Pasos siguientes
Ahora que ha utilizado una aplicación lógica para conectar la solución preconfigurada a un proceso empresarial, puede obtener más información sobre las opciones para personalizar las soluciones preconfiguradas: