Datastream te permite replicar datos históricos y cambios incrementales desde un entorno de Microsoft Dataverse para el análisis y la integración de datos. Dataverse es una plataforma de datos basada en la nube para almacenar y administrar los datos que usan las aplicaciones empresariales.
Antes de configurar una fuente de Dataverse, revisa los términos clave, el comportamiento de replicación, las versiones compatibles y las limitaciones conocidas en Datastream.
Términos clave
Dataverse funciona con los siguientes conceptos:
- Una tabla, antes llamada entidad, es similar a una tabla en las bases de datos relacionales. Dataverse incluye tablas estándar de forma predeterminada, pero también puedes crear tablas personalizadas.
- Una columna, antes un campo, es un atributo de una tabla y es similar a una columna en las bases de datos relacionales.
- Una fila es un registro específico en una tabla y es similar a una fila en las 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 en la fuente según el intervalo que establezcas.
Cuando se replican datos de una fuente de Dataverse, se observa el siguiente comportamiento:
- Interacción con la API: Datastream interactúa con la API web de Dataverse
a través de 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 permiso 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 y esquemas de objetos consultando el extremo
/EntityDefinitions.- Nombres de objetos: Datastream recupera los nombres de los objetos enviando
una solicitud
GETa la ruta del conjunto de entidades/EntityDefinitionscon el filtro$filter=TableType ne 'Virtual' and IsPrivate eq falsey el parámetro$select=EntitySetName. - Esquema de objetos: Datastream recupera el esquema de objetos
por entidad enviando una solicitud
GETa la ruta del conjunto de entidades/EntityDefinitionscon el parámetro$expand=Attributes($select=LogicalName,AttributeType,AttributeTypeName)y el filtro$filter=EntitySetName eq '[objectName]'.
- Nombres de objetos: Datastream recupera los nombres de los objetos enviando
una solicitud
Replicación de datos:
- Datastream replica tablas de Dataverse estándar y personalizadas. Se excluyen las tablas virtuales y privadas.
- Relleno histórico: Si se configura para una transmisión, Datastream
replica todos los datos históricos de las tablas incluidas. Esto se logra enviando una solicitud
GETinicial al conjunto de entidades y, luego, iterando por todas las páginas con la propiedad@odata.nextLinkproporcionada en las respuestas de la API. Se usa el encabezadoPrefer: odata.maxpagesize=5000. - Sincronización incremental: Datastream replica los eventos de inserción y actualización. Esto se logra con la sincronización basada en marcas de tiempo,
en la que se filtran los registros en los que el campo
modifiedones mayor que la última hora de sincronización ($filter=modifiedon gt [last_sync_timestamp]). Datastream no captura los 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
Estas son algunas de las limitaciones conocidas para usar Dataverse como fuente:
- El método de sincronización incremental, basado en la marca de tiempo
modifiedon, no captura los 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 necesaria para las extracciones incrementales posteriores. - La replicación se limita a las tablas estándar y personalizadas. No se admiten las tablas virtuales ni privadas.
- La actualización precisa del campo
modifiedonen las tablas de origen es fundamental para garantizar que la sincronización incremental funcione como se espera. - Para recuperar las etiquetas de los campos
Picklist, las solicitudes de datos deben incluir el encabezadoPrefer: data.include-annotations="*", no solo los valores enteros.
¿Qué sigue?
- Aprende a configurar una fuente de Dataverse para usarla con Datastream.