Sincronización de datos
Nota
A partir de noviembre de 2020:
- Common Data Service ha cambiado de nombre a Microsoft Dataverse. Más información
- Se ha actualizado parte de la terminología en Microsoft Dataverse. Por ejemplo, entidad es ahora tabla y campo es ahora columna. Más información
Este artículo se actualizará pronto para reflejar la terminología más reciente.
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. Puede utilizar varias nuevas funciones para facilitar la escritura de código para conseguir estos escenarios.
Estas nuevas características se puede 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. La siguiente tabla presenta estas características nuevas.
| Característica de | Descripción |
|---|---|
| Quitar mensajes especializados | Dataverse tiene varios mensajes especializados para operaciones específicas que actualizan registros. Estos mensajes están obsoletos en esta versión y ahora debe utilizar simplemente Update para realizar las mismas operaciones. Los mensajes obsoletos son:- Asignar - 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: Realizar operaciones especializadas con Actualizar |
| Claves alternativas | En las implementaciones de empresa de Dataverse es frecuente que los datos de sistemas externos de empresa 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 registro de Dataverse, denominados GUID, necesarios para la sincronización del sistema. 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. Al crear procesos de carga de datos que actualizan registros en Dataverse y asignan referencias a registros relacionados en Dataverse, primero tiene que realizar una llamada adicional del servicio web de Dataverse para recuperar el registro Dataverse 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 por todo Internet. Estos viajes de ida y vuelta adicionales pueden aumentar en un orden de magnitud el tiempo que se tarda en actualizar cada registro de Dataverse y pueden reducir el rendimiento general drásticamente. Ahora, las operaciones de servicio web pueden tener como objetivo un registro de Dataverse mediante una o varias claves alternativas en lugar de un 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: Definir claves alternativas para una tabla |
| Seguimiento de cambios | Cuando las organizaciones necesitan mantener datos de Dataverse en un almacén externo, ahora hay un modo de mantener esos datos sincronizados de forma permanente detectando qué datos se han modificado desde que los datos se extrajeron inicialmente o se sincronizaron por última vez. El mensaje RetrieveEntityChangesRequest se usa para recuperar los cambios de la tabla. Para obtener más información, consulte Uso del seguimiento de cambios para sincronizar los datos con sistemas externos. |
| 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. Use el nuevo mensaje UpsertRequest para actualizar el registro si existe o crear un nuevo registro si no existe, en una llamada de API. Más información: Actualizar Dynamics 365 con datos externos usando Upsert |
La siguiente tabla compara la complejidad de la sincronización con y sin estas características nuevas.
| Antes | Descripción |
|---|---|
![]() |
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. |
Ahora, con las nuevas características, solo necesita una llamada al servidor para realizar las mismas operaciones mostradas anteriormente.
| Después | Descripción |
|---|---|
![]() |
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. |
En esta sección
Definir claves alternativas para la tabla
Uso de claves alternativas
Uso del seguimiento de cambios para sincronizar los datos con sistemas externos
Actualizar Dynamics 365 con datos externos usando Upsert
Ejemplo: Insertar o actualizar un registro mediante Upsert
Ejemplo: Sincronizar datos con sistemas externos utilizando seguimiento de cambios
Secciones relacionadas
Realizar operaciones especializadas con Actualizar
Guía para programadores para la personalización de Dynamics 365

