Transmite datos desde Microsoft Dataverse

Datastream admite la replicación de eventos de cambio desde una instancia de Microsoft Dataverse. Dataverse es una plataforma de datos basada en la nube que te permite almacenar y administrar de forma segura los datos que usan las aplicaciones empresariales.

En esta página, se incluye información sobre lo siguiente:

  • Los términos clave que debes comprender cuando realizas la replicación desde Dataverse
  • El comportamiento de cómo Datastream controla los datos que se extraen de un entorno de Dataverse de origen
  • Las versiones de Dataverse que admite Datastream
  • Las limitaciones conocidas para usar Dataverse como fuente

Términos clave

Dataverse opera con los siguientes conceptos:

  • Una tabla, anteriormente una entidad, es similar a una tabla en bases de datos relacionales. Dataverse incluye tablas estándar de forma predeterminada, pero también puedes crear tablas personalizadas.
  • Una columna, anteriormente un campo, es un atributo de una tabla y es similar a una columna en bases de datos relacionales.
  • Una fila es un registro específico en una tabla y es similar a una fila en bases de datos relacionales.

Comportamiento

La compatibilidad con la fuente de Dataverse en Datastream se basa en la API web de Dataverse, que usa el protocolo de datos abiertos (OData). Datastream sondea los cambios de origen según el intervalo que establezcas.

Cuando se replican datos desde una fuente de Dataverse, se observa el siguiente comportamiento:

  • Interacción con la API: Datastream interactúa con la API web de Dataverse mediante solicitudes RESTful. La URL del entorno base es https://ORGANIZATION_ID.crm.dynamics.com/api/data/v9.1/. Se usan encabezados estándar (Accept: application/json, OData-MaxVersion: 4.0, OData-Version: 4.0).
  • Autenticación: Datastream controla la autenticación con OAuth 2.0 con el tipo de otorgamiento de credenciales de cliente. Datastream obtiene tokens de la plataforma de identidad de Microsoft.
  • Detección de esquemas: Los esquemas de Dataverse son dinámicos. Datastream descubre nombres de objetos y esquemas consultando el extremo /EntityDefinitions.

    • Nombres de objetos: Datastream recupera nombres de objetos enviando una solicitud GET a la ruta de acceso del conjunto de entidades /EntityDefinitions con el filtro $filter=TableType ne 'Virtual' and IsPrivate eq false y el parámetro $select=EntitySetName.
    • Esquema de objetos: Datastream recupera el esquema de objetos por entidad enviando una solicitud GET a la ruta de acceso del conjunto de entidades /EntityDefinitions con el $expand=Attributes($select=LogicalName,AttributeType,AttributeTypeName) parámetro y el filtro $filter=EntitySetName eq '[objectName]'.
  • Replicación de datos:

    • Datastream replica tablas de Dataverse estándar y personalizadas. Excluye tablas virtuales y privadas.
    • Reabastecimiento histórico: Si se configura para una transmisión, Datastream replica todos los datos históricos de las tablas incluidas. Para ello, se envía una solicitud GET inicial al conjunto de entidades y se itera por todas las páginas con la propiedad @odata.nextLink que se proporciona en las respuestas de la API. Se usa el encabezado Prefer: odata.maxpagesize=5000.
    • Sincronización incremental: Datastream replica eventos de inserción y actualización. Para ello, se usa la sincronización basada en marcas de tiempo, que filtra los registros en los que el campo modifiedon es mayor que la última hora de sincronización ($filter=modifiedon gt [last_sync_timestamp]). Datastream no captura eventos de eliminación.
  • Intervalo de sondeo: Datastream sondea los cambios según el intervalo de sondeo que estableces cuando creas tu transmisión. El intervalo se refleja en la métrica de actualidad de los datos de la transmisión.

Todos los objetos replicados admiten la sincronización incremental, con el campo modifiedon, y el reabastecimiento completo.

Versiones

Datastream usa la versión v9.1 de la API web de Dataverse.

Limitaciones conocidas

Las limitaciones conocidas para usar Dataverse como fuente incluyen lo siguiente:

  • El método de sincronización incremental, basado en la marca de tiempo modifiedon, no captura eventos de eliminación.
  • Datastream no admite la función de seguimiento de cambios recomendada de Dataverse que usa vínculos delta (@odata.deltaLink). Esto se debe a que no se admite el almacenamiento de la URL del vínculo delta que se requiere para las extracciones incrementales posteriores.
  • La replicación se limita a tablas estándar y personalizadas. No se admiten tablas virtuales ni privadas.
  • La actualización precisa del campo modifiedon en las tablas de origen es fundamental para garantizar que la sincronización incremental funcione según lo previsto.
  • Para recuperar las etiquetas de los campos Picklist, las solicitudes de datos deben incluir el Prefer: data.include-annotations="*" encabezado, no solo los valores enteros.

¿Qué sigue?