Tutorial: Recepción de notificaciones de los espacios de Azure Digital Twins mediante Logic Apps
Importante
Se ha publicado una nueva versión del servicio Azure Digital Twins. A la luz de las funcionalidades ampliadas del nuevo servicio, se ha retirado el servicio Azure Digital Twins original (descrito en este conjunto de documentación).
Para ver la documentación del nuevo servicio, visite la documentación activa de Azure Digital Twins.
Después de que haya implementado su instancia de Azure Digital Twins, aprovisionado los espacios e implementado las funciones personalizadas para supervisar condiciones específicas, puede enviar una notificación a la administración de las oficinas a través de correo electrónico cuando se produzcan las condiciones supervisadas.
En el primer tutorial, ha configurado el grafo espacial de un edificio imaginario. Una sala en el edificio contiene sensores de movimiento, dióxido de carbono y temperatura. En el segundo tutorial, aprovisionó el grafo y una función definida por el usuario para supervisar los valores de los sensores y desencadenar notificaciones cuando la sala esté vacía y tanto los valores de temperatura y dióxido de carbono se encuentren en un intervalo aceptable.
Este tutorial muestra cómo se pueden integrar estas notificaciones con Azure Logic Apps para enviar mensajes de correo electrónico cuando una sala esté disponible. Cualquier administrador de las oficinas puede usar esta información para ayudar a los empleados a reservar la sala de reuniones más productiva.
En este tutorial, aprenderá a:
- Integrar eventos con Azure Event Grid.
- Notificar eventos con Logic Apps.
Requisitos previos
En este tutorial se supone que ha configurado y aprovisionado Azure Digital Twins. Antes de continuar, asegúrese de que:
- Una cuenta de Azure.
- Hay una instancia de Digital Twins en ejecución.
- Los ejemplos en C# de Digital Twins se han descargado y extraído en su equipo de trabajo.
-
Versión 2.1.403 del SDK de .NET Core, o cualquier versión superior en la máquina de desarrollo para ejecutar el ejemplo. Ejecute
dotnet --version
para comprobar que está instalada la versión correcta. - Una cuenta de Office 365 para enviar notificaciones por correo electrónico.
Sugerencia
Use un nombre de instancia de Digital Twins único si está aprovisionando una nueva instancia.
Integración de eventos con Event Grid
En esta sección, va a configurar Event Grid para recopilar eventos de una instancia de Azure Digital Twins y redirigirlos a un controlador de eventos como Logic Apps.
Creación de un tema de Event Grid
Un tema de Event Grid proporciona una interfaz para enrutar los eventos que genera la función definida por el usuario.
Inicie sesión en Azure Portal.
En el panel izquierdo, seleccione Crear un recurso.
Busque y seleccione Event Grid Topic. Seleccione Crear.
Escriba el nombre del tema de Event Grid y elija la suscripción. Seleccione el grupo de recursos que usó o creó para su instancia de Digital Twins y la ubicación. Seleccione Crear.
Vaya al tema de Event Grid desde el grupo de recursos, seleccione Información general y copie el valor de Punto de conexión del tema en un archivo temporal. Necesitará esta dirección URL en la siguiente sección.
Seleccione Claves de acceso y copie Clave 1 y Clave 2 en un archivo temporal. Necesitará estos valores para crear el punto de conexión en la sección siguiente.
Creación de un punto de conexión para el tema de Event Grid
En la ventana de comandos, asegúrese de que se encuentra en la carpeta occupancy-quickstart\src del ejemplo de Digital Twins.
Abra el archivo actions\createEndpoints.yaml en el editor de Visual Studio Code. Asegúrese de que tiene el siguiente contenido:
- type: EventGrid eventTypes: - SensorChange - SpaceChange - TopologyOperation - UdfCustom connectionString: <Primary connection string for your Event Grid> secondaryConnectionString: <Secondary connection string for your Event Grid> path: <Event Grid Topic Name without https:// and /api/events, e.g. eventgridname.region.eventgrid.azure.net>
Reemplace el marcador de posición
<Primary connection string for your Event Grid>
por el valor de Clave 1.Reemplace el marcador de posición
<Secondary connection string for your Event Grid>
por el valor de Clave 2.Reemplace el marcador de posición para path por la ruta de acceso del tema de Event Grid. Para obtener dicha ruta de acceso, elimine https:// y las rutas de los recursos finales de la dirección URL del Punto de conexión del tema. El formato debería ser similar a este: NombreDeSuEvent.SuUbicacion.eventgrid.azure.net.
Importante
Escriba todos los valores sin comillas. Asegúrese de que hay al menos un carácter de espacio después de los signos de dos puntos en el archivo YAML. También puede validar el contenido del archivo YAML mediante cualquier control de servidor de validación de YAML en línea, como esta herramienta.
Guarde y cierre el archivo. En la ventana de comandos, ejecute el comando siguiente e inicie sesión cuando se le solicite.
dotnet run CreateEndpoints
Este comando crea el punto de conexión de Event Grid.
Notificación de eventos con Logic Apps
Puede usar el servicio Azure Logic Apps para crear tareas automatizadas para los eventos recibidos de otros servicios. En esta sección, va a configurar Logic Apps para crear notificaciones por correo electrónico para eventos enrutados desde los sensores espaciales, con la ayuda de un tema de Event Grid.
En el panel izquierdo de Azure Portal, seleccione Crear un recurso.
Busque un recurso de Logic App nuevo y selecciónelo. Seleccione Crear.
Escriba un Nombre para el recurso de la aplicación lógica y seleccione su Suscripción, Grupo de recursos y Ubicación. Seleccione Crear.
Abra el recurso de Logic Apps cuando se implemente y, a continuación, abra el panel Diseñador de aplicaciones lógicas .
Seleccione el desencadenador Cuando se produce un evento de recursos de Event Grid. Expanda la opción Azure Event Grid e inicie sesión en su inquilino con su cuenta de Azure cuando se le solicite. Seleccione Permitir acceso para el recurso de Event Grid si se le solicita. Seleccione Continuar.
En la ventana Cuando se produce un evento de recursos:
a. Seleccione la suscripción que usó para crear el tema de Event Grid.
b. Seleccione Microsoft.EventGrid.Topics en Tipo de recurso.
c. Seleccione el recurso de Event Grid en el cuadro de lista desplegable de Nombre de recurso.
Seleccione el botón Nuevo paso .
En la ventana Elegir una acción:
a. Busque la frase parse jsony seleccione la acción Analizar JSON.
b. Haga clic en el campo Contenido y, después, seleccione Cuerpo en la lista Contenido dinámico.
c. Seleccione Usar una carga de ejemplo para generar el esquema. Pegue la siguiente carga de JSON y seleccione Listo.
{ "id": "32162f00-a8f1-4d37-aee2-9312aabba0fd", "subject": "UdfCustom", "data": { "TopologyObjectId": "20efd3a8-34cb-4d96-a502-e02bffdabb14", "ResourceType": "Space", "Payload": "\"Air quality is poor.\"", "CorrelationId": "32162f00-a8f1-4d37-aee2-9312aabba0fd" }, "eventType": "UdfCustom", "eventTime": "0001-01-01T00:00:00Z", "dataVersion": "1.0", "metadataVersion": "1", "topic": "/subscriptions/a382ee71-b48e-4382-b6be-eec7540cf271/resourceGroups/HOL/providers/Microsoft.EventGrid/topics/DigitalTwinEventGrid" }
Esta carga tiene valores ficticios. Logic Apps usa esta carga de ejemplo para generar un esquema.
Seleccione el botón Nuevo paso .
En la ventana Elegir una acción:
a. Seleccione Condición de control >o Condición de búsqueda en la lista Acciones.
b. En el primer cuadro de texto Elegir un valor, seleccione eventType en la lista Contenido dinámico para la ventana Análisis del archivo JSON.
c. En el segundo cuadro de texto Elegir un valor, escriba
UdfCustom
.En la ventana If true:
a. Seleccione Add an action (Agregar una acción) y luego Office 365 Outlook.
b. En la lista Acciones, seleccione Enviar un correo electrónico (V2). Seleccione Iniciar sesión y use las credenciales de su cuenta de correo electrónico. Seleccione Permitir acceso si se le solicita.
c. En el cuadro Para, escriba su identificador de correo electrónico para recibir notificaciones. En Asunto, escriba el texto Notificación de Digital Twins sobre mala calidad del aire en un espacio. A continuación, seleccione TopologyObjectId desde la lista Contenido dinámico para Análisis del archivo JSON.
d. En Cuerpo en la misma ventana, escriba texto similar al siguiente: Mala calidad del aire detectada en una habitación y se debe ajustar la temperatura. Si lo cree necesario utilice elementos de la lista Contenido dinámico.
Seleccione el botón Guardar en la parte superior del panel Diseñador de aplicaciones lógicas .
Asegúrese de simular los datos de los sensores, para lo que debe ir a la carpeta device-connectivity del ejemplo de Digital Twin en una ventana de comandos y ejecutar
dotnet run
.
En pocos minutos, debería empezar a recibir notificaciones por correo electrónico de Logic Apps.
Para dejar de recibir estos correos electrónicos, vaya al recurso de Logic Apps en el portal y seleccione el panel Información general. Seleccione Deshabilitar.
Limpieza de recursos
Si quiere dejar de explorar Azure Digital Twins en este punto, elimine los recursos creados en este tutorial:
En el menú izquierdo de Azure Portal, seleccione Todos los recursos, seleccione el grupo de recurso de Digital Twins y haga clic en Eliminar.
Sugerencia
Si tiene problemas al eliminar una instancia de Digital Twins, se ha incorporado una actualización del servicio con la corrección. Vuelva a intentar eliminar la instancia.
Si es necesario, elimine las aplicaciones de ejemplo en la máquina de trabajo.
Pasos siguientes
Para aprender a visualizar los datos de los sensores, analizar tendencias y detectar anomalías, acuda al siguiente tutorial:
También puede aprender más acerca de los grafos de inteligencia espacial y los modelos de objetos en Azure Digital Twins: