Limitações do conector do Microsoft Dynamics 365
Esta página descreve as limitações e restrições do conector Microsoft Dynamics 365 no LakeFlow Connect.
Limitações gerais do conector SaaS
O conector do Dynamics 365 compartilha limitações comuns a todos os conectores SaaS no LakeFlow Connect:
- Ao executar um pipeline agendado, os alertas não são acionados imediatamente. Em vez disso, elas são acionadas na próxima execução da atualização.
- Quando uma tabela de origem é excluída, a tabela de destino não é excluída automaticamente. Você deve excluir a tabela de destino manualmente. Este comportamento não é consistente com o comportamento do Spark Declarative Pipelines no Lakeflow.
- Durante períodos de manutenção da fonte de dados, o Databricks poderá não conseguir acessar seus dados.
- Se o nome de uma tabela de origem entrar em conflito com o nome de uma tabela de destino existente, a atualização do pipeline falhará.
- O suporte pipeline com múltiplos destinos é feito exclusivamente via API.
- Opcionalmente, você pode renomear uma tabela que você importa. Se você renomear uma tabela em seu pipeline, ele se tornará um pipeline somente para API e você não poderá mais editá- pipeline na interface do usuário.
- Se você selecionar uma coluna depois que um pipeline já tiver sido iniciado, o conector não preencherá automaticamente os dados da nova coluna. Para ingerir dados históricos, execute manualmente uma refresh completa na tabela.
- O Databricks não consegue ingerir duas ou mais tabelas com o mesmo nome no mesmo pipeline, mesmo que elas provenham de esquemas de origem diferentes.
- O sistema de origem pressupõe que as colunas do cursor estejam em ordem crescente monotônica.
- O conector ingere dados brutos sem transformações. Use Spark Declarative Pipelines downstream em Lakeflow pipelines para transformações.
Requisitos do Azure Synapse Link
O conector do Dynamics 365 requer que o Azure Synapse Link para Dataverse esteja em execução contínua:
- O Synapse Link deve exportar dados sem interrupção. Se o Synapse Link parar, o conector não poderá capturar alterações até que ele seja retomado.
- As alterações aparecem no Azure Data Lake Storage (ADLS) Gen2 após o intervalo de exportação do Synapse Link, que é normalmente de 5 a 15 minutos. A arquitetura do Synapse Link inclui inerentemente essa latência.
- Configure políticas de retenção apropriadas para o seu armazenamento ADLS Gen2. Se você excluir exportações do Synapse Link antes da ingestão, deverá realizar um refresh completo.
- O Synapse Link pode exportar no formato CSV ou Parquet. A ingestão de Parquet está em Beta. O conector suporta ambos e detecta o formato automaticamente. A exportação de Parquet requer adicionalmente um workspace do Azure Synapse Analytics e um Pool do Apache Spark. Consulte Configurar uma fonte de dados Parquet para ingestão do Microsoft Dynamics 365.
Se o Azure Synapse Link ficar indisponível por um período prolongado, você poderá perder alterações. Monitore a integridade Synapse Link no portal do criador do Power Apps e configure alertas para falhas de exportação.
evolução do esquema
Neste momento, o conector do Dynamics 365 não suporta a evolução automática do esquema.
Evolução da entidade virtual do esquema
As entidades virtuais do Finance & Operations precisam de tratamento extra, porque uma alteração de esquema deve ser propagada pelo Dataverse antes que o conector possa detectá-la. Quando uma entidade virtual do F&O é alterada:
- Faça refresh da configuração da entidade virtual no Dataverse.
- Aguarde até 15 minutos para que a alteração apareça na descoberta de esquema do Dataverse.
- Execute um refresh completo das tabelas afetadas.
Como essas alterações se originam no F&O em vez do Databricks, monitore as atualizações de entidades virtuais e coordene os refresh completos com seu administrador do Dynamics 365.
Ingestão incremental
A ingestão incremental do conector do Dynamics 365 apresenta as seguintes limitações:
- O Synapse Link deve exportar registros de alterações com o campo
versionnumber. Seversionnumberestiver ausente, você deve usar o modo de refresh completo. - O conector processa as pastas de exportação do Synapse Link em ordem cronológica. Se você excluir pastas ou se pastas estiverem ausentes, o conector não poderá se recuperar sem um refresh completo.
- Se o Synapse Link perder alterações devido a tempo de inatividade, essas alterações não serão capturadas, a menos que você execute um refresh completo.
- O conector detecta exclusões apenas se o Synapse Link exportar registros de exclusão em changelogs. Algumas configurações do Dynamics 365 não exportam exclusões.
- Com a exportação Parquet, a compactação de checkpoint do Delta pode tornar algumas versões de registros históricos indisponíveis, portanto, os pipelines SCD Tipo 2 podem ter um histórico incompleto (embora nunca perda de dados, porque o Snapshot mais recente está sempre correto). A Databricks recomenda executar pipelines com mais frequência do que uma vez a cada 24 horas para minimizar isso. Consulte comportamento do SCD Tipo 2.
Verifique se a sua configuração do Synapse Link exporta os registros de alterações com versionnumber antes de criar o pipeline. Consulte Configurar fonte de dados para ingestão Microsoft Dynamics 365.
Anexos e arquivos
O conector do Dynamics 365 ingere metadados de anexos, mas não o conteúdo dos arquivos:
- O conector ingere tabelas de anexos como
annotationeattachment, incluindo nomes de arquivos, tamanhos, tipos MIME e associações de registros. - O conector não ingere conteúdos de arquivo. Você deve fazer o download dos arquivos separadamente usando a API Web do Dynamics 365 ou o Power Automate.
- O Synapse Link exporta dados de tabela, não arquivos binários armazenados no Microsoft Dynamics 365.
Em vez disso, você pode usar metadados de anexo para identificar os arquivos necessários, fazer o download deles usando APIs do Dynamics 365 e armazená-los em um volume ou ADLS Gen2.
Suporte a tipos de dados
O conector do Dynamics 365 oferece suporte à maioria dos tipos de dados do Dataverse com fidelidade total. Tipos complexos são ingeridos de forma simplificada e precisam de tratamento posterior.
Tipo de dados do Dataverse | Apoiar | O que fazer downstream |
|---|---|---|
String, Inteiro, Decimal, Boolean, DateTime, Dinheiro | Alta fidelidade | Nada. Esses tipos são ingeridos como estão. |
Conjunto de opções (picklist) | Ingeridos como valores inteiros | Faça um join com a tabela |
Conjunto de opções de seleção múltipla | Ingerido como strings de números inteiros separados por vírgulas | Analise a string para extrair valores individuais. |
Pesquisa | Ingerido como GUIDs | Faça um join com a tabela referenciada para obter dados de registros relacionados. |
Objeto JSON complexo | Ingerido como strings | Analise o JSON em transformações downstream. Aplica-se a tipos personalizados do Dataverse que exportam como JSON. |
Imagem | Somente metadados | download os dados da imagem separadamente. Consulte Anexos e arquivos. |
Consulte a referência do conector do Microsoft Dynamics 365 para obter uma tabela completa de mapeamento de tipos de dados.
Considerações sobre desempenho
A sincronização inicial e as sincronizações incrementais posteriores são limitadas por fatores diferentes, portanto, precisam de ajustes diferentes:
Fase de sincronização | O que impulsiona o tempo | Como reduzi-lo |
|---|---|---|
Sincronização inicial | Volume de dados, principalmente. Tabelas com milhões de registros levam mais tempo, e a exportação inicial do Synapse Link por si só pode levar horas para datasets grandes. O throughput de rede entre o Azure e o Databricks também afeta a velocidade de transferência. | Comece com um pequeno subconjunto de tabelas para validar a configuração e, em seguida, adicione mais tabelas incrementalmente. O throughput de rede não é ajustável a partir do pipeline. |
Sincronização incremental | Volume de alterações, como milhares de atualizações por minuto. O número de pastas de exportação do Synapse Link e o tamanho de cada registro de alterações adicionam sobrecarga de processamento. | Agende execuções de pipeline para corresponder ao seu volume de alterações. Executar com mais frequência mantém o changelog de cada execução menor, o que compensa o custo de processar mais pastas. |
Limitações
Um único pipeline pode ingerir no máximo 250 tabelas. Este limite é por pipeline, não por conexão; portanto, para ingerir mais de 250 tabelas, crie vários pipelines usando a mesma conexão.
O conector também depende de versões mínimas dos serviços dos quais ele faz a leitura:
- API do Dataverse v9.2 ou posterior. Versões mais antigas podem não ser suportadas.
- Versão 2021-08-06 da API REST do Azure Storage. Certifique-se de que sua conta de armazenamento seja compatível com esta versão.
- Azure Synapse Link para Dataverse versão 1.0 ou posterior.
Mantenha seus serviços Dynamics 365, Dataverse e Azure atualizados para as versões mais recentes para obter a melhor compatibilidade.
Problemas conhecidos
- Entidades virtuais às vezes levam mais de 15 minutos para sincronizar. Se as tabelas não aparecerem, aguarde até 30 minutos e tente novamente.
- O Synapse Link ocasionalmente falha ao exportar tabelas específicas. Verifique os logs do Synapse Link no Power Apps em busca de erros.
- Em casos raros, os changelogs podem apresentar lacunas nas sequências de
versionnumber. Isso não afeta a integridade de dados, mas pode causar avisos nos logs do pipeline.
Reporte problemas ao suporte Databricks , informando os IDs pipeline e os registros de data e hora para que possam ser investigados.