Compartir a través de


Sincronización de datos

Algunas veces necesitará sincronizar e integrar datos de Microsoft Dataverse con los datos que se almacenan en otros sistemas. Los patrones de integración de datos comunes incluyen tomar datos de un sistema externo e insertarlos en Dataverse, tomar datos de Dataverse y sincronizarlos con algún almacén de datos externos o actualizar Dataverse con datos externos. Dataverse proporciona varias funciones para facilitar la escritura de código para conseguir estos escenarios.

Estas características se pueden usar por separado según sea necesario en cualquier situación, pero juntas abordan problemas comunes relacionados con sincronización y la integración de datos con datos externos.

Habilitar todas las operaciones con Actualizar

Dataverse tiene varios mensajes especializados para operaciones específicas que actualizan registros. Estos mensajes estaban obsoletos y ahora debe utilizar simplemente Update para realizar las mismas operaciones. Los mensajes obsoletos son:

  • Assign
  • SetParentSystemUser
  • SetParentTeam
  • SetParentBusinessUnit
  • SetBusinessEquipment
  • SetBusinessUnit
  • SetState

Actualizar simplemente el registro es mucho más sencillo que usar estos mensajes y debe simplificar el desarrollo para escenarios de integración y de sincronización de datos.

Más información: Comportamiento de operaciones de actualización especializadas

Claves alternativas

En las implementaciones de empresa de Dataverse es frecuente que los datos de sistemas externos se carguen en Dataverse de modo que puedan presentarse a los usuarios. Estos sistemas externos a menudo no se pueden extender para almacenar los identificadores de clave principal GUID de registros Dataverse necesarios para la sincronización eficaz de datos entre sistemas. Una solución común es agregar una columna personalizada a una tabla en Dataverse que puede usarse para almacenar el identificador del registro relacionado en el sistema externo. A veces, se deben crear varias columnas para establecer una referencia única.

Al crear procesos de carga de datos que actualizan registros en Dataverse y asignan referencias a registros relacionados, primero tiene que realizar una llamada adicional del servicio web de Dataverse para recuperar el registro de destino basado en este identificador externo. Esta consulta puede ser lenta si un índice adecuado no está instalado para la columna personalizada y, en escenarios de Dataverse, cada una de estas consultas requiere un costoso viaje de ida y vuelta. Estos viajes de ida y vuelta adicionales pueden aumentar en un orden de magnitud el tiempo que se tarda en actualizar cada registro, y pueden reducir el rendimiento general drásticamente.

Con el uso de claves alternativas, las operaciones de servicio web pueden tener como objetivo un registro de Dataverse mediante una o varias claves alternativas en lugar de una clave primaria GUID. Además, las referencias de tabla a registros relacionados se pueden especificar con una o varias claves alternativas. Puesto que las claves alternativas se indizan, las operaciones de consulta muestran un mayor rendimiento en comparación con agregar una columna personalizada como identificador. Si algo va mal, el sistema lanzará un error y revertirá todos los cambios.

Más información:

Upsert

Al cargar datos en Dataverse desde un sistema externo, es posible que no sepa si ya existe un registro en Dataverse y se debe actualizar, o si debe crear un nuevo registro. Upsert es una combinación de Actualizar o Insertar que permite al servidor detectar si existe o no un registro y aplicar la operación Update o Create adecuada en Dataverse. Más información: Uso de Upsert para insertar o actualizar un registro

La siguiente tabla compara la complejidad de la sincronización de datos con y sin estas características.

Antes Descripción
Actualizar el uso de mensajes especializados. Para cada registro:

1. Consulte Dataverse para ver si existe la cuenta. Si existe, obtenga su Id. de cuenta (por ejemplo, ABC123).
2. Consulte los contactos para comprobar que el contacto existe. Si existe, obtenga el ID de correo electrónico del contacto (por ejemplo, contact@company.com).
3. Consulte para obtener o establecer el Id. del área (por ejemplo, NW).
4. Consulte para obtener el Id. de usuario para establecer el propietario (por ejemplo: user@mycompany.com)
5. Actualice la cuenta.
6. Establecer el estado de la cuenta llamando a SetState API.
7. Asigne el propietario llamando a Assign API.

Con estas características, solo necesita una llamada al servidor para realizar las mismas operaciones mostradas anteriormente.

Después Descripción
Actualizar usando UpdateRequest. Sólo una llamada para comprobar si hay una cuenta con el identificador único ABC123, establecer el contacto principal a contact@company.com, establecer la región en NW, establecer el propietario en user@mycompany.com y el estado como activo.

Seguimiento de cambios

La característica de seguimiento de Microsoft Dataverse proporciona una forma de mantener los datos sincronizados de forma eficiente detectando qué datos se han modificado desde que los datos se extrajeron inicialmente o se sincronizaron por última vez. El seguimiento de cambios no solo se utiliza para sincronizar datos con sistemas externos, también es un requisito previo para varias capacidades de Power Platform y Dataverse tales como Azure Synapse Link for Dataverse y móvil sin conexión.

Más información:

En esta sección

Usar una clave alternativa para hacer referencia a un registro
Use Upsert para crear o actualizar un registro
Uso del seguimiento de cambios para sincronizar los datos con sistemas externos

Código de ejemplo

Ejemplo: Insertar o actualizar un registro mediante Upsert
Ejemplo: Sincronizar datos con sistemas externos utilizando seguimiento de cambios

Definir claves alternativas para la tabla
Comportamiento de operaciones de actualización especializadas

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).