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
GETa la ruta de acceso 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 de acceso del conjunto de entidades/EntityDefinitionscon el$expand=Attributes($select=LogicalName,AttributeType,AttributeTypeName)parámetro y el filtro$filter=EntitySetName eq '[objectName]'.
- Nombres de objetos: Datastream recupera nombres de objetos enviando
una solicitud
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
GETinicial al conjunto de entidades y se itera por todas las páginas con la propiedad@odata.nextLinkque se proporciona en las respuestas de la API. Se usa el encabezadoPrefer: 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
modifiedones 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
modifiedonen 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 elPrefer: data.include-annotations="*"encabezado, no solo los valores enteros.
¿Qué sigue?
- Aprende a configurar una fuente de Dataverse para usarla con Datastream.