O Datastream oferece suporte à replicação de eventos de mudança de uma instância do Microsoft Dataverse. O Dataverse é uma plataforma de dados baseada na nuvem que permite armazenar e gerenciar com segurança os dados usados por aplicativos empresariais.
Esta página contém informações sobre:
- Os termos principais que você precisa entender ao replicar do Dataverse.
- O comportamento de como o Datastream lida com dados que estão sendo extraídos de um ambiente de origem do Dataverse.
- As versões do Dataverse compatíveis com o Datastream.
- Limitações conhecidas para o uso do Dataverse como fonte.
Termos-chave
O Dataverse opera usando os seguintes conceitos:
- Uma tabela, anteriormente uma entidade, é semelhante a uma tabela em bancos de dados relacionais. O Dataverse inclui tabelas padrão por padrão, mas também é possível criar tabelas personalizadas.
- Uma coluna, anteriormente um campo, é um atributo de uma tabela e é semelhante a uma coluna em bancos de dados relacionais.
- Uma linha é um registro específico em uma tabela e é semelhante a uma linha em bancos de dados relacionais.
Comportamento
O suporte à fonte do Dataverse no Datastream depende da API Web do Dataverse, que usa o Open Data Protocol (OData). O Datastream pesquisa mudanças de origem com base no intervalo definido.
Ao replicar dados de uma fonte do Dataverse, o seguinte comportamento é observado:
- Interação da API: o Datastream interage com a API Web do Dataverse usando solicitações RESTful. O URL do ambiente de base é
https://ORGANIZATION_ID.crm.dynamics.com/api/data/v9.1/. Os cabeçalhos padrão (Accept: application/json,OData-MaxVersion: 4.0,OData-Version: 4.0) são usados. - Autenticação: o Datastream processa a autenticação usando o OAuth 2.0 com o tipo de concessão de credenciais do cliente. O Datastream recebe tokens da plataforma de identidade da Microsoft.
Descoberta de esquema: os esquemas do Dataverse são dinâmicos. O Datastream descobre nomes e esquemas de objetos consultando o endpoint
/EntityDefinitions.- Nomes de objetos: o Datastream busca nomes de objetos enviando
uma solicitação
GETpara o caminho do conjunto de entidades/EntityDefinitionscom o filtro$filter=TableType ne 'Virtual' and IsPrivate eq falsee o parâmetro$select=EntitySetName. - Esquema de objetos: o Datastream busca o esquema de objetos
por entidade enviando uma solicitação
GETpara o caminho do conjunto de/EntityDefinitionsentidades com o$expand=Attributes($select=LogicalName,AttributeType,AttributeTypeName)parâmetro e o filtro$filter=EntitySetName eq '[objectName]'.
- Nomes de objetos: o Datastream busca nomes de objetos enviando
uma solicitação
Replicação de dados:
- O Datastream replica tabelas padrão e personalizadas do Dataverse. Ele exclui tabelas virtuais e particulares.
- Preenchimento histórico: se configurado para um stream, o Datastream
replica todos os dados históricos das tabelas incluídas. Isso é feito enviando uma solicitação
GETinicial para o conjunto de entidades e iterando por todas as páginas usando a propriedade@odata.nextLinkfornecida nas respostas da API. O cabeçalhoPrefer: odata.maxpagesize=5000é usado. - Sincronização incremental: o Datastream replica eventos de inserção e atualização. Isso é feito usando a sincronização baseada em carimbo de data/hora,
filtrando registros em que o
modifiedoncampo é maior que a última hora de sincronização ($filter=modifiedon gt [last_sync_timestamp]). O Datastream não captura eventos de exclusão.
Intervalo de pesquisa: o Datastream pesquisa mudanças de acordo com o intervalo de pesquisa definido ao criar o stream. O intervalo é refletido na métrica de atualização de dados do stream.
Todos os objetos replicados oferecem suporte à sincronização incremental, usando o campo modifiedon, e ao preenchimento completo.
Versões
O Datastream usa a versão v9.1 da API Web do Dataverse.
Limitações conhecidas
Limitações conhecidas para o uso do Dataverse como fonte incluem:
- O método de sincronização incremental, com base no carimbo de data/hora
modifiedon, não captura eventos de exclusão. - O Datastream não oferece suporte ao recurso de rastreamento de mudanças recomendado pelo Dataverse que usa links delta (
@odata.deltaLink). Isso ocorre porque o armazenamento do URL do link delta necessário para extrações incrementais subsequentes não é compatível. - A replicação é limitada a tabelas padrão e personalizadas. Tabelas virtuais e particulares não são compatíveis.
- A atualização precisa do campo
modifiedonnas tabelas de origem é fundamental para garantir que a sincronização incremental funcione conforme o esperado. - Para recuperar os rótulos dos campos
Picklist, as solicitações de dados precisam incluir oPrefer: data.include-annotations="*"cabeçalho e não apenas os valores inteiros.
A seguir
- Saiba como configurar uma fonte do Dataverse para uso com o Datastream.