Creación de puntos de conexión en Azure Digital Twins

En este artículo se explica cómo crear un punto de conexión para eventos de Azure Digital Twin mediante Azure Portal o la CLI de Azure. También puede administrar los puntos de conexión con las API del plano de control DigitalTwinsEndpoint.

El enrutamiento de notificaciones de eventos de Azure Digital Twins a servicios de bajada o recursos de proceso conectados es un proceso de dos pasos: crear puntos de conexión y, a continuación, crear rutas de eventos para enviar datos a esos puntos de conexión. En este artículo se describe el primer paso, la configuración de puntos de conexión que pueden recibir los eventos. Más adelante, puede crear rutas de eventos que especifiquen qué eventos generados por Azure Digital Twins se entregan a qué puntos de conexión.

Requisitos previos

  • Necesitará una cuenta de Azure, que se puede configurar de forma gratuita.

  • Necesitará una instancia de Azure Digital Twins en su suscripción de Azure. Si no dispone de una instancia, puede crear una con los pasos de Configuración de una instancia y autenticación. Tenga a mano los siguientes valores de configuración para usarlos más adelante en este artículo:

    • Nombre de instancia
    • Resource group

    Estos detalles se pueden encontrar en Azure Portal después de configurar la instancia.

    Screenshot of the Overview page for an Azure Digital Twins instance in the Azure portal. The name and resource group are highlighted.

A continuación, siga las instrucciones siguientes si piensa usar la CLI de Azure mientras sigue esta guía.

Preparación del entorno para la CLI de Azure

Creación de los recursos necesarios

Estos servicios son los tipos de puntos de conexión admitidos que puede crear para la instancia:

Para vincular un punto de conexión a Azure Digital Twins, es necesario que ya exista el tema de Event Grid, el centro de eventos o el tema de Service Bus que va a usar para el punto de conexión.

Utilice el gráfico siguiente para ver qué recursos se deben configurar antes de crear el punto de conexión.

Tipo de punto de conexión Recursos necesarios (vinculados a instrucciones de creación)
Punto de conexión de Event Grid Tema de Event Grid
*el esquema de eventos debe ser Esquema de Event Grid o Esquema de eventos en la nube v1.0
Punto de conexión de Event Hubs Espacio de nombres de Event Hubs

centro de eventos

(Opcional) regla de autorización para la autenticación basada en claves
Extremo del bus de servicio Espacio de nombres de Service Bus

Tema de Service Bus

(Opcional) regla de autorización para la autenticación basada en claves

Creación del punto de conexión

Una vez que haya creado los recursos de punto de conexión, puede usarlos para un punto de conexión de Azure Digital Twins.

Para crear un punto de conexión, vaya a la página de la instancia en Azure Portal (para buscar la instancia, escriba su nombre en la barra de búsqueda del portal).

  1. En el menú de la instancia, seleccione Endpoints (Puntos de conexión). Luego, en la página Endpoints (Puntos de conexión) que le sigue, seleccione + Create an endpoint (+ Crear un punto de conexión). Se abrirá la página Crear un punto de conexión, donde rellenará los campos en los pasos siguientes.

    Screenshot of creating an endpoint of type Event Grid in the Azure portal.

  2. Escriba un Nombre para el punto de conexión y elija el Tipo de punto de conexión.

  3. Complete los demás detalles necesarios para el tipo de punto de conexión, incluida la suscripción y los recursos de punto de conexión descritos anteriormente.

    1. Solo para los puntos de conexión de Event Hubs y Service Bus, debe seleccionar un Tipo de autenticación. Puede usar la autenticación basada en claves con una regla de autorización creada previamente o una identidad administrada asignada por el sistema o asignada por el usuario. Para obtener más información sobre el uso de las opciones de autenticación de identidad, consulte Opciones de punto de conexión: Autenticación basada en identidad.

    Screenshot of creating an endpoint of type Event Hubs in the Azure portal.

  4. Seleccione Guardar para terminar de crear el punto de conexión.

Después de crear el punto de conexión, puede comprobar que se ha creado correctamente si examina el icono de notificación de la barra superior de Azure Portal:

Screenshot of the notification to verify the creation of an endpoint in the Azure portal.

Si se produce un error en la creación del punto de conexión, observe el mensaje de error y vuelva a intentarlo al cabo de unos minutos.

También se puede ver el punto de conexión que se ha creado de vuelta en la página Endpoints (Puntos de conexión) de la instancia de Azure Digital Twins.

Ahora, el tema de Event Grid, el centro de eventos o el tema de Service Bus estará disponible como punto de conexión en Azure Digital Twins, con el nombre que haya elegido para el punto de conexión. Normalmente, usará ese nombre como destino de una ruta de eventos, que puede crear en Crear rutas y filtros.

Opciones de punto de conexión: autenticación basada en identidades

En esta sección se describe cómo usar una identidad administrada para una instancia de Azure Digital Twins al reenviar eventos a destinos de enrutamiento admitidos. La configuración de una identidad administrada no es necesaria para el enrutamiento, pero puede ayudar a la instancia a acceder fácilmente a otros recursos protegidos de Microsoft Entra, como Event Hubs, destinos de Service Bus y contenedor de Azure Storage. Las identidades administradas pueden ser asignadas por el sistema o asignadas por el usuario.

El resto de esta sección le guía por tres pasos para configurar un punto de conexión con una identidad administrada.

1. Habilitación de la identidad administrada para la instancia

Use las pestañas siguientes para obtener instrucciones que coincidan con su experiencia preferida.

En primer lugar, asegúrese de que ha habilitado una identidad administrada para la instancia de Azure Digital Twins.

Además, asegúrese de que tiene el rol Propietario de datos de Azure Digital Twins en la instancia. Encontrará instrucciones en Configuración de permisos de acceso de usuario.

2. Asignación de roles de Azure a la identidad

Una vez que se haya creado una identidad asignada para la instancia de Azure Digital Twins, tendrá que asignarle los roles adecuados a fin de que se autentique con distintos tipos de puntos de conexión para enrutar eventos a los destinos admitidos. En esta sección se describen las opciones de los roles y cómo asignarlos a la identidad administrada.

Importante

Asegúrese de completar este paso. Sin ella, la identidad no podrá acceder a los puntos de conexión y los eventos no se entregarán.

Estos son los roles mínimos que necesita la identidad de Azure Digital Twins para acceder a un punto de conexión, en función del tipo de destino. Los roles con permisos más altos (como los de propietario de datos) también funcionarán.

Destination Rol de Azure
Azure Event Hubs Emisor de datos de Azure Event Hubs
Azure Service Bus Emisor de datos de Azure Service Bus
Contenedor de almacenamiento de Windows Azure Colaborador de datos de blobs de almacenamiento

Use las pestañas siguientes para asignar el rol mediante su experiencia preferida.

Para asignar un rol a la identidad, empiece por abrir Azure Portal en un explorador.

  1. Navegue hasta el recurso de punto de conexión (el centro de eventos, el tema de Service Bus o el contenedor de almacenamiento); para ello, busque su nombre en la barra de búsqueda del portal.

  2. Seleccione Access Control (IAM) .

  3. Seleccione Agregar>Agregar asignación de roles para abrir la página Agregar asignación de roles.

  4. Asigne el rol deseado a la identidad administrada de la instancia de Azure Digital Twins, con la siguiente información. Para asignar roles, consulte Asignación de roles de Azure mediante Azure Portal.

    Configuración Valor
    Role Seleccione en las opciones el rol deseado.
    Asignar acceso a Identidad administrada
    Miembros Seleccione la identidad administrada asignada por el sistema o por el usuario de la instancia de Azure Digital Twins a la que se asigna el rol. Una identidad asignada por el usuario tendrá el nombre que eligió al crearla y una identidad asignada por el sistema tendrá un nombre que coincida con el de la instancia de Azure Digital Twins.

    Screenshot of the 'Add role assignment' page for an Azure Digital Twins instance.

3. Creación del punto de conexión con autenticación basada en identidad

Después de configurar una identidad administrada para la instancia de Azure Digital Twins y asignarle los roles adecuados, puede crear los puntos de conexión que usan la identidad para la autenticación. Esta opción solo está disponible para los puntos de conexión de Event Hubs y de tipo Service Bus (no se admite para Event Grid).

Nota:

No se puede editar un punto de conexión que ya se haya creado con la identidad basada en claves para cambiar a la autenticación basada en identidades. Debe elegir el tipo de autenticación al crear el punto de conexión por primera vez.

Use las pestañas siguientes para crear el punto de conexión con su experiencia preferida.

Comience a seguir las instrucciones generales para crear un punto de conexión de Azure Digital Twins.

Cuando llegue al paso de completar los detalles necesarios para el tipo de punto de conexión, seleccione Asignada por el sistema o Asignada por el usuario (versión preliminar) para el tipo de autenticación.

Screenshot of creating an endpoint of type Event Hubs.

Termine de configurar el punto de conexión y seleccione Guardar.

Consideraciones para deshabilitar las identidades administradas

Como una identidad se administra de forma independiente a los puntos de conexión que la usan, es importante tener en cuenta los efectos que cualquier cambio en la identidad o sus roles puede tener en los puntos de conexión de la instancia de Azure Digital Twins. Si la identidad está deshabilitada o se quita un rol necesario para un punto de conexión, este puede dejar de estar accesible y se interrumpirá el flujo de eventos.

Para seguir usando un punto de conexión que se ha configurado con una identidad administrada que ahora se ha deshabilitado, tendrá que eliminar el punto de conexión y volver a crearlo con otro tipo de autenticación. Los eventos pueden tardar hasta una hora en reanudar la entrega al punto de conexión después de este cambio.

Opciones de punto de conexión: mensajes fallidos

Cuando un punto de conexión no puede entregar un evento en un período de tiempo determinado o después de haber intentado entregarlo un número determinado de veces, puede enviar el evento sin entregar a una cuenta de almacenamiento. Este proceso se conoce como colas de mensajes fallidos.

Puede configurar los recursos de almacenamiento necesarios utilizando Azure Portal o la CLI de Azure Digital Twins. Sin embargo, para crear un punto de conexión con colas de mensajes fallidos habilitadas, deberá usar la CLI de Azure Digital Twins o las API de plano de control.

Para más información sobre la cola de mensajes fallidos, vea Puntos de conexión y rutas de eventos. Para obtener instrucciones sobre cómo configurar un punto de conexión con mensajes fallidos, continúe con el resto de esta sección.

Configuración de recursos de almacenamiento

Antes de establecer la ubicación de mensajes fallidos, debe tener una cuenta de almacenamiento con un contenedor configurado en la cuenta de Azure.

Cuando cree el punto de conexión más tarde, proporcionará el URI de este contenedor. La ubicación de la cola de mensajes fallidos se proporcionará al punto de conexión como un URI de contenedor con un token de SAS. Ese token necesita permiso write para el contenedor de destino dentro de la cuenta de almacenamiento. El URI de SAS de mensajes fallidos totalmente formado estará en el formato de: https://<storage-account-name>.blob.core.windows.net/<container-name>?<SAS-token>.

Siga los pasos que se indican a continuación para configurar estos recursos de almacenamiento en su cuenta de Azure, con el fin de preparar la configuración de la conexión del punto de conexión en la siguiente sección.

  1. Siga los pasos descritos en Creación de una cuenta de almacenamiento para crear una cuenta de almacenamiento en la suscripción de Azure. Anote el nombre de la cuenta de almacenamiento para usarlo más adelante.
  2. Siga los pasos descritos en Creación de un contenedor para crear un contenedor dentro de la nueva cuenta de almacenamiento. Anote el nombre de contenedor para usarlo más adelante.

Creación de un token de SAS

A continuación, cree un token de SAS para la cuenta de almacenamiento que el punto de conexión pueda usar para acceder a ella.

  1. Para empezar, vaya a la cuenta de almacenamiento en Azure Portal (puede buscarla por su nombre en la barra de búsqueda del portal).

  2. En la página de la cuenta de almacenamiento, elija el vínculo Firma de acceso compartido en la barra de navegación izquierda para empezar a configurar el token de SAS.

    Screenshot of the storage account page in the Azure portal.

  3. En la página Firma de acceso compartido, en Servicios permitidos y Tipos de recursos permitidos, seleccione la configuración que quiera. Es preciso que seleccione al menos una casilla en cada categoría. En Permisos permitidos, elija Escritura (también puede seleccionar otros permisos si lo desea).

  4. Establezca los valores que quiera para el resto de la configuración.

  5. Cuando finalice, seleccione el botón Generar SAS y cadena de conexión para generar el token de SAS.

    Screenshot of the storage account page in the Azure portal showing all the setting selection to generate a SAS token.

  6. Al hacerlo se generarán varios valores de cadena de conexión y SAS en la parte inferior de la misma página, debajo de las selecciones de configuración. Desplácese hacia abajo para ver los valores y use el icono Copiar al portapapeles para copiar el valor del token de SAS. Guárdela para usarla más adelante.

    Screenshot of the storage account page in the Azure portal highlighting how to copy the SAS token to use in the dead-letter secret.

Creación del punto de conexión de cola de mensajes fallidos

Para crear un punto de conexión con las colas de mensajes fallidos habilitadas, debe usar los comandos de la CLI o las API del plano de control en lugar de Azure Portal.

Para obtener instrucciones sobre cómo hacerlo con la CLI de Azure, cambie a la pestaña CLI de esta sección.

Esquema de almacenamiento de mensajes

Una vez configurado el punto de conexión con mensajes fallidos, los mensajes fallidos que están en cola se almacenarán con el formato siguiente en la cuenta de almacenamiento:

<container>/<endpoint-name>/<year>/<month>/<day>/<hour>/<event-ID>.json

Los mensajes fallidos en cola coinciden con el esquema del evento original que se diseñó para entregarse al punto de conexión original.

A continuación se muestra un ejemplo de un mensaje fallido en cola para una notificación de creación de gemelo:

{
  "specversion": "1.0",
  "id": "xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "type": "Microsoft.DigitalTwins.Twin.Create",
  "source": "<your-instance>.api.<your-region>.da.azuredigitaltwins-test.net",
  "data": {
    "$dtId": "<your-instance>xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "$etag": "W/\"xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx\"",
    "TwinData": "some sample",
    "$metadata": {
      "$model": "dtmi:test:deadlettermodel;1",
      "room": {
        "lastUpdateTime": "2020-10-14T01:11:49.3576659Z"
      }
    }
  },
  "subject": "<your-instance>xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "time": "2020-10-14T01:11:49.3667224Z",
  "datacontenttype": "application/json",
  "traceparent": "00-889a9094ba22b9419dd9d8b3bfe1a301-f6564945cb20e94a-01"
}

Pasos siguientes

Para enviar datos de Azure Digital Twins a un punto de conexión, debe definir una ruta de eventos. Estas rutas permiten a los desarrolladores conectar el flujo de eventos a lo largo del sistema y a los servicios de nivel inferior. Una ruta puede permitir que se seleccionen varias notificaciones y tipos de eventos. Continúe para crear una ruta de eventos al punto de conexión en Creación de rutas y filtros.