Datastream ti consente di replicare i dati storici e le modifiche incrementali da un ambiente Microsoft Dataverse per l'analisi e l'integrazione dei dati. Dataverse è una piattaforma di dati basata su cloud per l'archiviazione e la gestione dei dati utilizzati dalle applicazioni aziendali.
Prima di configurare un'origine Dataverse, consulta i termini chiave, il comportamento di replica, le versioni supportate e le limitazioni note in Datastream.
Termini chiave
Dataverse opera utilizzando i seguenti concetti:
- Una tabella, in precedenza un'entità, è simile a una tabella nei database relazionali. Dataverse include tabelle standard per impostazione predefinita, ma puoi anche creare tabelle personalizzate.
- Una colonna, in precedenza un campo, è un attributo di una tabella ed è simile a una colonna nei database relazionali.
- Una riga è un record specifico in una tabella ed è simile a una riga nei database relazionali.
Comportamento
Il supporto dell'origine Dataverse in Datastream si basa sull'API web Dataverse, che utilizza il protocollo Open Data Protocol (OData). Datastream esegue il polling delle modifiche all'origine in base all'intervallo impostato.
Quando replichi i dati da un'origine Dataverse, viene osservato il seguente comportamento:
- Interazione con l'API: Datastream interagisce con l'API web Dataverse utilizzando richieste RESTful. L'URL dell'ambiente di base è
https://ORGANIZATION_ID.crm.dynamics.com/api/data/v9.1/. Vengono utilizzate le intestazioni standard (Accept: application/json,OData-MaxVersion: 4.0,OData-Version: 4.0). - Autenticazione: Datastream gestisce l'autenticazione utilizzando OAuth 2.0 con il grant type delle credenziali client. Datastream ottiene i token da Microsoft Identity Platform.
Rilevamento dello schema: gli schemi Dataverse sono dinamici. Datastream rileva i nomi e gli schemi degli oggetti eseguendo query sull'endpoint
/EntityDefinitions.- Nomi degli oggetti: Datastream recupera i nomi degli oggetti inviando una richiesta
GETal percorso del set di entità/EntityDefinitionscon il filtro$filter=TableType ne 'Virtual' and IsPrivate eq falsee il parametro$select=EntitySetName. - Schema degli oggetti: Datastream recupera lo schema degli oggetti per entità inviando una richiesta
GETal percorso del set di entità/EntityDefinitionscon il parametro$expand=Attributes($select=LogicalName,AttributeType,AttributeTypeName)e il filtro$filter=EntitySetName eq '[objectName]'.
- Nomi degli oggetti: Datastream recupera i nomi degli oggetti inviando una richiesta
Replica dei dati:
- Datastream replica le tabelle Dataverse standard e personalizzate. Sono escluse le tabelle virtuali e private.
- Backfill storico: se configurato per uno stream, Datastream replica tutti i dati storici per le tabelle incluse. Questo risultato si ottiene inviando una richiesta
GETiniziale al set di entità e scorrendo tutte le pagine utilizzando la proprietà@odata.nextLinkfornita nelle risposte dell'API. Viene utilizzata l'intestazionePrefer: odata.maxpagesize=5000. - Sincronizzazione incrementale: Datastream replica gli eventi di inserimento e aggiornamento. Questo risultato viene ottenuto utilizzando la sincronizzazione basata su timestamp, filtrando i record in cui il campo
modifiedonè maggiore dell'ora dell'ultima sincronizzazione ($filter=modifiedon gt [last_sync_timestamp]). Datastream non acquisisce gli eventi di eliminazione.
Intervallo di polling: Datastream esegue il polling delle modifiche in base all'intervallo di polling impostato durante la creazione dello stream. L'intervallo si riflette nella metrica di aggiornamento dei dati dello stream.
Tutti gli oggetti replicati supportano sia la sincronizzazione incrementale, utilizzando il campo modifiedon, sia il backfill completo.
Versioni
Datastream utilizza l'API web Dataverse versione 9.1.
Limitazioni note
Le limitazioni note per l'utilizzo di Dataverse come origine includono:
- Il metodo di sincronizzazione incrementale, basato sul timestamp
modifiedon, non acquisisce gli eventi di eliminazione. - Datastream non supporta la funzionalità di monitoraggio delle modifiche consigliata da Dataverse che utilizza i link delta (
@odata.deltaLink). Questo perché l'archiviazione dell'URL del link delta richiesto per i successivi pull incrementali non è supportata. - La replica è limitata alle tabelle standard e personalizzate. Le tabelle virtuali e private non sono supportate.
- L'aggiornamento accurato del campo
modifiedonnelle tabelle di origine è fondamentale per garantire che la sincronizzazione incrementale funzioni come previsto. - Per recuperare le etichette per i campi
Picklist, le richieste di dati devono includere l'intestazionePrefer: data.include-annotations="*", non solo i valori interi.
Passaggi successivi
- Scopri come configurare un'origine Dataverse da utilizzare con Datastream.