Pular para o conteúdo principal

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.

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.
importante

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:

  1. Faça refresh da configuração da entidade virtual no Dataverse.
  2. Aguarde até 15 minutos para que a alteração apareça na descoberta de esquema do Dataverse.
  3. 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. Se versionnumber estiver 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.
dica

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 annotation e attachment, 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 OptionSetMetadata ou mantenha uma tabela de referência para mapear números inteiros para rótulos.

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.

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 OptionSetMetadata ou mantenha uma tabela de referência para mapear números inteiros para rótulos.

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.

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.