Perguntas frequentes sobre o conector do Microsoft Dynamics 365
Visualização
Este recurso está em Pré-visualização Pública.
Esta página responde às perguntas mais frequentes sobre o conector Microsoft Dynamics 365 para LakeFlow Connect.
Para perguntas gerais sobre a ingestão de administradores, consulte as perguntas frequentes do conector de administradores.
Perguntas frequentes específicas sobre conectores
Quais aplicativos do Dynamics 365 são compatíveis?
O conector do Dynamics 365 oferece suporte a:
Aplicações nativas do Dataverse (acesso direto, sem necessidade de entidades virtuais ou tabelas diretas). Exemplos incluem:
- Dynamics 365 vendas
- Atendimento ao Cliente Dynamics 365
- Marketing do Dynamics 365
- Dynamics 365 Field Service
Aplicações não nativas do Dataverse (requerem entidades virtuais ou tabelas diretas). Exemplos incluem:
- Dynamics 365 Finanças e operações (F&O)
Consulte Configurar fonte de dados para ingestão Microsoft Dynamics 365 para obter detalhes de configuração.
Como o conector acessa os dados do D365?
O conector do Dynamics 365 utiliza o Azure Synapse Link para Dataverse como intermediário:
- O Azure Synapse Link exporta continuamente dados do D365 para o ADLS Gen2 em formato CSV.
- Synapse Link mantém registros de alterações com timestamps
VersionNumberpara acompanhamento de alterações. - O Databricks lê os arquivos exportados do ADLS Gen2 usando a autenticação Microsoft Entra ID.
- O conector processa os registros de alterações para realizar a ingestão incremental.
Com essa arquitetura, você pode ingerir dados do D365 sem fazer chamadas de API baseadas em OData para o D365, o que reduz a carga no seu ambiente D365.
Qual a diferença entre aplicativos nativos do Dataverse e aplicativos não nativos do Dataverse?
Os aplicativos nativos do Dataverse armazenam dados diretamente em tabelas do Dataverse. O conector pode acessar essas tabelas imediatamente após a configuração do Azure Synapse Link.
Aplicativos que não são nativos do Dataverse (como o F&O) armazenam dados em seu próprio banco de dados, não no Dataverse. Para ingerir dados dessas aplicações, você pode usar entidades virtuais ou tabelas diretas.
Definições:
- Uma tabela (ou entidade) virtual aparece e se comporta como uma tabela normal dentro do Dataverse, mas não armazena nenhum dado por si só. Em vez disso, ele recupera dados sob demanda, diretamente de uma fonte de dados externa (por exemplo, F&O). Isso significa que os dados não são materializados dentro do banco de dados Dataverse, permitindo que os usuários interajam com os dados sem duplicá-los ou armazená-los.
- Uma tabela direta é uma cópia física dos dados do aplicativo que é exportada e materializada fora do Dataverse (por exemplo, no Azure Data Lake Storage por meio do Azure Synapse Link). Os dados são replicados do sistema de origem (por exemplo, F&O) e armazenados como tabelas transacionais brutas que correspondem de perto ao esquema de origem. Como os dados são armazenados de forma persistente, isso permite análises escaláveis e análises históricas sem a necessidade de consultar o sistema de origem.
Como são utilizados (usando F&O como exemplo):
- Ao utilizar entidades virtuais, os dados são expostos no Dataverse por meio das soluções de Entidade Virtual da F&O. Essas entidades virtuais aparecem como tabelas de leitura direta (por exemplo, mserp_) no Dataverse e podem ser exportadas para o ADLS usando o Azure Synapse Link. A partir daí, o pipeline LakeFlow Connect ingere as pastas exportadas em suas tabelas de destino. Essa opção normalmente fornece uma visão pré-consolidada e amigável para os negócios, com menos esforço de transformações posteriores, já que as entidades de F&O frequentemente agregam dados de várias tabelas subjacentes em uma view desnormalizada.
- Ao usar tabelas diretas, o Azure Synapse Link permite exportar tabelas F&O brutas diretamente. Essas tabelas estão disponíveis em uma seção separada durante a configuração do Synapse Link e são gravadas no ADLS como dados transacionais brutos.
Considerações para decidir quando usar cada um:
Para decidir qual opção é a melhor, você pode considerar:
- Granularidade e controle dos dados: as tabelas diretas fornecem os dados transacionais brutos mais granulares, permitindo o controle máximo sobre a modelagem de dados. As tabelas virtuais oferecem uma viewmais plana e agregada, podendo incluir campos computacionais.
- Preparação de dados e esforço de transformação: Nesse sentido, as tabelas virtuais geralmente oferecem dados pré-unidos e prontos para uso comercial, o que pode ajudar a minimizar as transformações subsequentes no Databricks. As tabelas diretas geralmente exigem esforço adicional de engenharia de dados para junções e transformações complexas.
- Desempenho: Embora ambas as opções sejam razoavelmente eficientes, elas apresentam sobrecarga em diferentes partes do fluxo. Tabelas virtuais podem introduzir sobrecarga no lado das fontes (com a magnitude dependendo da complexidade da entidade), enquanto tabelas diretas podem exigir mais compute subsequente para a lógica de negócios.
Por que preciso do Azure Synapse Link?
O Azure Synapse Link para Dataverse é necessário porque:
- Acompanhamento de alterações : Synapse Link fornece registros de alterações com campos
VersionNumberque permitem a ingestão incremental. - Desempenho : Ler arquivos exportados do ADLS Gen2 é mais eficiente do que fazer chamadas API baseadas em OData para o D365.
Como funciona a ingestão incremental?
O conector do Dynamics 365 usa o campo VersionNumber dos registros de alterações do Azure Synapse Link para rastrear alterações:
- O Synapse Link exporta dados para pastas com registro de data e hora no ADLS Gen2.
- Cada exportação inclui um arquivo de registro de alterações com valores
VersionNumberindicando quando os registros foram alterados. - O conector processa as pastas em ordem cronológica com base em registros de data e hora.
- Para cada pasta, o conector lê o registro de alterações e aplica as mudanças (inserções, atualizações, exclusões).
- O conector armazena o último
VersionNumberprocessado como um cursor. - A execução subsequente pipeline processa apenas as novas pastas criadas após o último cursor.
Essa abordagem garante que o conector capture todas as alterações sem reprocessar os dados inalterados.
Consulte a seção TiposSCD para obter informações sobre como o conector lida com atualizações e exclusões.
O que acontece se o Azure Synapse Link parar de funcionar?
Se o Azure Synapse Link parar de exportar dados:
- O conector continua em execução, mas não encontra novas pastas para processar.
- Nenhuma nova alteração será incorporada até que o Synapse Link seja retomado.
- Quando o Synapse Link é retomado, ele exporta todas as alterações perdidas para novas pastas.
- O conector processa essas pastas durante a próxima execução do pipeline.
Se Synapse Link ficar inativo por um período prolongado, talvez seja necessário realizar uma refreshcompleta para garantir a consistência dos dados, especialmente se o período de retenção do Synapse Link expirar.
Monitore sua conexão Synapse Link no portal do criador do Power Apps para garantir operações contínuas.
Posso importar anexos do D365?
O conector do Dynamics 365 ingere metadados de anexos (nome do arquivo, tamanho, tipo MIME, associações de registro), mas não download o conteúdo dos arquivos anexados. Isso ocorre porque o Synapse Link exporta dados de tabela, e não o conteúdo de arquivos binários.
Para acessar os arquivos anexados:
- Ingerir tabelas de metadados de anexos (por exemplo,
annotation,attachment). - Utilize os metadados para identificar os arquivos de que você precisa.
- Faça download de arquivos diretamente do D365 usando a API Web do Dynamics 365 ou o Power Automate.
- Armazene os arquivos no local de armazenamento de sua preferência (por exemplo, ADLS Gen2, volume).
Preciso de conexões separadas para diferentes aplicativos do D365?
Não, você pode usar uma única conexão do Unity Catalog para todos os aplicativos do D365 no mesmo ambiente Dataverse. A conexão é autenticada na sua account de armazenamento ADLS Gen2, e não em aplicativos individuais do D365.
No entanto, você precisa de um pipeline separado para cada ambiente Dataverse (source_schema). Por exemplo:
- Conexão única : autentica-se no seu contêiner ADLS Gen2.
- Pipeline múltiplo : Um pipeline por ambiente Dataverse, cada um especificando um valor
source_schemadiferente.
Essa abordagem simplifica o gerenciamento de autenticação, permitindo ao mesmo tempo a ingestão de dados de múltiplos ambientes.
Quais permissões são necessárias no D365?
Para configurar o conector do Dynamics 365, você precisa de:
No Dynamics 365 e no Dataverse :
- Função de Administrador de Sistemas ou permissões equivalentes para configurar o Azure Synapse Link.
- Conceda permissões de leitura para todas as tabelas que deseja incluir nos dados.
- Permissões para configurar entidades virtuais ou tabelas diretas (para aplicações como F&O).
No Azure :
- Permissões para criar e configurar contas de armazenamento e contêineres ADLS Gen2.
- Permissões para criar e configurar aplicativos Microsoft Entra ID.
- Permissões para atribuir a função de Colaborador de Dados do Blob de Armazenamento ao aplicativo Entra ID.
Em Databricks :
- Permissões de administrador do espaço de trabalho ou de administrador do metastore para criar conexões Unity Catalog .
- Criar permissões no catálogo e esquema de destino.
Consulte Configurar fonte de dados para ingestão Microsoft Dynamics 365 para obter requisitos de permissão detalhados.
Posso importar dados de vários ambientes do Dataverse?
Sim, você pode importar dados de vários ambientes Dataverse usando uma única conexão. Crie um pipeline separado para cada ambiente:
# Pipeline for production environment
prod_pipeline = w.pipelines.create(
name="d365_prod_ingestion",
ingestion_definition=IngestionPipelineDefinition(
channel="PREVIEW",
connection_name="d365_connection", # Same connection
source_schema="https://prod.crm.dynamics.com", # Production
source_table=["account", "contact"],
destination_catalog="main",
destination_schema="d365_prod",
scd_type="SCD_TYPE_2"
)
)
# Pipeline for test environment
test_pipeline = w.pipelines.create(
name="d365_test_ingestion",
ingestion_definition=IngestionPipelineDefinition(
channel="PREVIEW",
connection_name="d365_connection", # Same connection
source_schema="https://test.crm.dynamics.com", # Test
source_table=["account", "contact"],
destination_catalog="main",
destination_schema="d365_test",
scd_type="SCD_TYPE_2"
)
)
Você deve exportar todos os ambientes para a mesma account de armazenamento e contêiner ADLS Gen2 ou criar conexões separadas para cada local de armazenamento.
Como posso reduzir os custos de ingestão?
Para otimizar custos:
- Selecione colunas específicas : Use a seleção de colunas para incluir apenas as colunas necessárias.
- Filtrar tabelas : Inclua apenas as tabelas necessárias no pipeline.
- Otimizar acompanhamento de história : Desative o acompanhamento de história (por exemplo, SCD tipo 1) se não precisar de acompanhamento histórico (reduz o armazenamento).
Consulte as limitações do conector de ingestão do Microsoft Dynamics 365 para obter mais informações.
Posso transformar dados durante a ingestão?
LakeFlow Connect ingere dados brutos do D365 sem transformações. Para transformação de dados:
- Ingerir dados brutos em um esquema de destino (por exemplo,
d365_landing). - Crie um pipeline declarativo downstream LakeFlow Spark para transformações.
- Use SQL ou Python para transformar dados em esquemas selecionados.
Essa separação de responsabilidades preserva os dados brutos, ao mesmo tempo que permite transformações flexíveis posteriormente.
Como faço para lidar com alterações de esquema no D365?
Neste momento, todas as alterações de esquema exigem uma refresh completa da tabela. Monitore as alterações no seu esquema do D365 e planeje uma atualização completa de acordo.
A instância do Dataverse Synapse Link precisa estar na mesma região que o workspace Databricks ?
Não.