Tutorial: Recepción de notificaciones de los espacios de Azure Digital Twins mediante Logic AppsTutorial: Receive notifications from your Azure Digital Twins spaces by using Logic Apps

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.After you deploy your Azure Digital Twins instance, provision your spaces, and implement custom functions to monitor specific conditions, you can notify your office admin via email when the monitored conditions occur.

En el primer tutorial, ha configurado el grafo espacial de un edificio imaginario.In the first tutorial, you configured the spatial graph of an imaginary building. Una sala en el edificio contiene sensores de movimiento, dióxido de carbono y temperatura.A room in the building contains sensors for motion, carbon dioxide, and temperature. 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.In the second tutorial, you provisioned your graph and a user-defined function to monitor these sensor values and trigger notifications when the room is empty, and the temperature and carbon dioxide are in a comfortable range.

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.This tutorial shows how you can integrate these notifications with Azure Logic Apps to send emails when such a room is available. Cualquier administrador de las oficinas puede usar esta información para ayudar a los empleados a reservar la sala de reuniones más productiva.An office administrator can use this information to help the employees book the most productive meeting room.

En este tutorial, aprenderá a:In this tutorial, you learn how to:

  • Integrar eventos con Azure Event Grid.Integrate events with Azure Event Grid.
  • Notificar eventos con Logic Apps.Notify events with Logic Apps.

Requisitos previosPrerequisites

En este tutorial se supone que ha configurado y aprovisionado Azure Digital Twins.This tutorial assumes that you have configured and provisioned your Azure Digital Twins setup. Antes de continuar, asegúrese de que:Before proceeding, make sure that you have:

Integración de eventos con Event GridIntegrate events with 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.In this section, you set up Event Grid to collect events from your Azure Digital Twins instance, and redirect them to an event handler such as Logic Apps.

Creación de un tema de Event GridCreate an event grid topic

Un tema de Event Grid proporciona una interfaz para enrutar los eventos que genera la función definida por el usuario.An event grid topic provides an interface to route the events generated by the user-defined function.

  1. Inicie sesión en el Azure Portal.Sign in to the Azure portal.

  2. En el panel izquierdo, seleccione Crear un recurso.In the left pane, select Create a resource.

  3. Busque y seleccione Event Grid Topic.Search for and select Event Grid Topic. Seleccione Crear.Select Create.

  4. Escriba el nombre del tema de Event Grid y elija la suscripción.Enter a Name for your event grid topic, and choose the Subscription. Seleccione el grupo de recursos que usó o creó para su instancia de Digital Twins y la ubicación.Select the Resource group that you used or created for your Digital Twins instance, and the Location. Seleccione Crear.Select Create.

    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.Browse to the event grid topic from your resource group, select Overview, and copy the value for Topic Endpoint to a temporary file. Necesitará esta dirección URL en la siguiente sección.You'll need this URL in the next section.

  6. Seleccione Claves de acceso y copie YOUR_KEY_1 y YOUR_KEY_2 en un archivo temporal.Select Access keys, and copy YOUR_KEY_1 and YOUR_KEY_2 to a temporary file. Necesitará estos valores para crear el punto de conexión en la sección siguiente.You'll need these values to create the endpoint in the next section.

    Claves de Event Grid

Creación de un punto de conexión para el tema de Event GridCreate an endpoint for the event grid topic

  1. En la ventana de comandos, asegúrese de que se encuentra en la carpeta occupancy-quickstart\src del ejemplo de Digital Twins.In the command window, make sure you're in the occupancy-quickstart\src folder of the Digital Twins sample.

  2. Abra el archivo actions\createEndpoints.yaml en el editor de Visual Studio Code.Open the file actions\createEndpoints.yaml in your Visual Studio Code editor. Asegúrese de que tiene el siguiente contenido:Make sure it has the following contents:

    - 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 YOUR_KEY_1.Replace the placeholder <Primary connection string for your Event Grid> with the value of YOUR_KEY_1.

  4. Reemplace el marcador de posición <Secondary connection string for your Event Grid> por el valor de YOUR_KEY_2.Replace the placeholder <Secondary connection string for your Event Grid> with the value of YOUR_KEY_2.

  5. Reemplace el marcador de posición para path por la ruta de acceso del tema de Event Grid.Replace the placeholder for path with the path of the event grid topic. 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.Get this path by removing https:// and the trailing resource paths from the Topic Endpoint URL. El formato debería ser similar a este: NombreDeSuEvent.SuUbicacion.eventgrid.azure.net.It should look similar to this format: yourEventGridName.yourLocation.eventgrid.azure.net.

    Importante

    Escriba todos los valores sin comillas.Enter all values without any quotes. Asegúrese de que hay al menos un carácter de espacio después de los signos de dos puntos en el archivo YAML.Make sure there's at least one space character after the colons in the YAML file. 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.You can also validate your YAML file contents by using any online YAML validator such as this tool.

  6. Guarde y cierre el archivo.Save and close the file. En la ventana de comandos, ejecute el comando siguiente e inicie sesión cuando se le solicite.In the command window, run the following command, and sign in when prompted.

    dotnet run CreateEndpoints
    

    Este comando crea el punto de conexión de Event Grid.This command creates the endpoint for Event Grid.

    Puntos de conexión de Event Grid

Notificación de eventos con Logic AppsNotify events with Logic Apps

Puede usar el servicio Azure Logic Apps para crear tareas automatizadas para los eventos recibidos de otros servicios.You can use the Azure Logic Apps service to create automated tasks for events received from other services. 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.In this section, you set up Logic Apps to create email notifications for events routed from your spatial sensors, with the help of an event grid topic.

  1. En el panel izquierdo de Azure Portal, seleccione Crear un recurso.In the left pane of the Azure portal, select Create a resource.

  2. Busque un recurso de Logic App nuevo y selecciónelo.Search and select a new Logic App resource. Seleccione Crear.Select Create.

  3. Escriba un Nombre para el recurso de la aplicación lógica y seleccione su Suscripción, Grupo de recursos y Ubicación.Enter a Name for your Logic App resource, and then select your Subscription, Resource group, and Location. Seleccione Crear.Select Create.

    Creación de un recurso de Logic Apps

  4. Abra el recurso de Logic Apps cuando esté implementado y, después, abra el panel Diseñador de aplicación lógica.Open your Logic Apps resource when it's deployed, and then open the Logic App Designer pane.

  5. Seleccione el desencadenador Cuando se produce un evento de recursos de Event Grid.Select the When an Event Grid resource event occurs trigger. Inicie sesión en su inquilino con su cuenta de Azure cuando se le solicite.Sign in to your tenant with your Azure account when prompted. Seleccione Permitir acceso para el recurso de Event Grid si se le solicita.Select Allow access for your Event Grid resource if prompted. Seleccione Continuar.Select Continue.

  6. En la ventana When a resource event occurs (Preview) (Cuando se produzca un evento de recursos [versión preliminar]):In the When a resource event occurs (Preview) window:

    a.a. Seleccione la suscripción que usó para crear el tema de Event Grid.Select the Subscription that you used to create the event grid topic.

    b.b. Seleccione Microsoft.EventGrid.Topics en Tipo de recurso.Select Microsoft.EventGrid.Topics for Resource Type.

    c.c. Seleccione el recurso de Event Grid en el cuadro de lista desplegable de Nombre de recurso.Select your Event Grid resource from the drop-down box for Resource Name.

    Panel Diseñador de aplicación lógica

  7. Seleccione el botón Nuevo paso.Select the New step button.

  8. En la ventana Elegir una acción:In the Choose an action window:

    a.a. Busque la frase parse jsony seleccione la acción Analizar JSON.Search the phrase parse json, and select the Parse JSON action.

    b.b. Haga clic en el campo Contenido y, después, seleccione Cuerpo en la lista Contenido dinámico.In the Content field, select Body from the Dynamic content list.

    c.c. Seleccione Usar una carga de ejemplo para generar el esquema.Select Use sample payload to generate schema. Pegue la siguiente carga de JSON y seleccione Listo.Paste the following JSON payload, and then select Done.

    {
    "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.This payload has fictitious values. Logic Apps usa esta carga de ejemplo para generar un esquema.Logic Apps uses this sample payload to generate a schema.

    Ventana de análisis de JSON de Logic Apps para Event Grid

  9. Seleccione el botón Nuevo paso.Select the New step button.

  10. En la ventana Elegir una acción:In the Choose an action window:

    a.a. Seleccione Control > Condición o busque Condición en la lista Acciones.Select Control > Condition or search Condition from the Actions list.

    b.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.In the first Choose a value text box, select eventType from the Dynamic content list for the Parse JSON window.

    c.c. En el segundo cuadro de texto Elegir un valor, escriba UdfCustom.In the second Choose a value text box, enter UdfCustom.

    Condiciones seleccionadas

  11. En la ventana If true:In the If true window:

    a.a. Seleccione Add an action (Agregar una acción) y luego Office 365 Outlook.Select Add an action, and select Office 365 Outlook.

    b.b. En la lista Acciones, seleccione Send an email (Enviar un correo electrónico).From the Actions list, select Send an email. Seleccione Iniciar sesión y use las credenciales de su cuenta de correo electrónico.Select Sign in and use your email account credentials. Seleccione Permitir acceso si se le solicita.Select Allow access if prompted.

    c.c. En el cuadro Para, escriba su identificador de correo electrónico para recibir notificaciones.In the To box, enter your email ID to receive notifications. En Asunto, escriba el texto Notificación de Digital Twins sobre mala calidad del aire en un espacio.In Subject, enter the text Digital Twins notification for poor air quality in space. A continuación, seleccione TopologyObjectId desde la lista Contenido dinámico para Análisis del archivo JSON.Then select TopologyObjectId from the Dynamic content list for Parse JSON.

    d.d. En Cuerpo, en la misma ventana, escriba un texto similar al siguiente: Se ha detectado que la calidad del aire en una sala es deficiente y la temperatura debe ajustarse.Under Body in the same window, enter text similar to this: Poor air quality detected in a room, and temperature needs to be adjusted. Si lo cree necesario utilice elementos de la lista Contenido dinámico.Feel free to elaborate by using elements from the Dynamic content list.

    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 aplicación lógica.Select the Save button at the top of the Logic App Designer pane.

  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.Make sure to simulate sensor data by browsing to the device-connectivity folder of the Digital Twins sample in a command window, and running dotnet run.

En pocos minutos, debería empezar a recibir notificaciones por correo electrónico de Logic Apps.In a few minutes, you should start getting email notifications from this Logic Apps resource.

Notificación por correo electrónico

Para dejar de recibir estos correos electrónicos, vaya al recurso de Logic Apps en el portal y seleccione el panel Información general.To stop receiving these emails, go to your Logic Apps resource in the portal, and select the Overview pane. Seleccione Deshabilitar.Select Disable.

Limpieza de recursosClean up resources

Si quiere dejar de explorar Azure Digital Twins en este punto, elimine los recursos creados en este tutorial:If you want to stop exploring Azure Digital Twins at this point, feel free to delete resources created in this 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.From the left menu in the Azure portal, select All resources, select your Digital Twins resource group, and select Delete.

    Sugerencia

    Si tiene problemas al eliminar una instancia de Digital Twins, se ha incorporado una actualización del servicio con la corrección.If you experienced trouble deleting your Digital Twins instance, a service update has been rolled out with the fix. Vuelva a intentar eliminar la instancia.Please retry deleting your instance.

  2. Si es necesario, elimine las aplicaciones de ejemplo en la máquina de trabajo.If necessary, delete the sample applications on your work machine.

Pasos siguientesNext steps

Para aprender a visualizar los datos de los sensores, analizar tendencias y detectar anomalías, acuda al siguiente tutorial:To learn how to visualize your sensor data, analyze trends, and spot anomalies, go to the next tutorial:

También puede aprender más acerca de los grafos de inteligencia espacial y los modelos de objetos en Azure Digital Twins:You can also learn more about the spatial intelligence graphs and object models in Azure Digital Twins: