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:

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.

  1. Inicie sesión en Azure Portal.

  2. En el panel izquierdo, seleccione Crear un recurso.

  3. Busque y seleccione Event Grid Topic. Seleccione Crear.

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

    Creación de un tema de Event Grid

  5. 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.

  6. 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.

    Claves de Event Grid

Creación de un punto de conexión para el tema de Event Grid

  1. En la ventana de comandos, asegúrese de que se encuentra en la carpeta occupancy-quickstart\src del ejemplo de Digital Twins.

  2. 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>
    
  3. Reemplace el marcador de posición <Primary connection string for your Event Grid> por el valor de Clave 1.

  4. Reemplace el marcador de posición <Secondary connection string for your Event Grid> por el valor de Clave 2.

  5. 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.

  6. 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.

    Puntos de conexión para 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.

  1. En el panel izquierdo de Azure Portal, seleccione Crear un recurso.

  2. Busque un recurso de Logic App nuevo y selecciónelo. Seleccione Crear.

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

    Creación de un recurso de Logic Apps

  4. Abra el recurso de Logic Apps cuando se implemente y, a continuación, abra el panel Diseñador de aplicaciones lógicas .

  5. 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.

  6. 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.

    Panel diseñador de aplicaciones lógicas

  7. Seleccione el botón Nuevo paso .

  8. 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.

    Ventana Analizar JSON de Logic Apps para Event Grid

  9. Seleccione el botón Nuevo paso .

  10. 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.

    Condiciones seleccionadas

  11. 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.

    Selecciones para el envío de un correo electrónico de Logic Apps

  12. Seleccione el botón Guardar en la parte superior del panel Diseñador de aplicaciones lógicas .

  13. 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.

notificación de Email

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:

  1. 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.

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