Compartilhar via


Introdução às tabelas virtuais (entidades)

As tabelas virtuais, também conhecidas como entidades virtuais, permitem a integração de dados que residem em sistemas externos com o Microsoft Dataverse. Essa integração representa perfeitamente os dados externos como tabelas no Dataverse, sem replicação de dados e, muitas vezes, sem codificação personalizada.

As tabelas virtuais substituem abordagens anteriores do lado do cliente e do servidor para integrar dados externos, o que exigia código personalizado e sofria de inúmeras limitações. Essas limitações incluem integração imperfeita, duplicação de dados ou compromisso extensivo de recursos de desenvolvimento. Além disso, para administradores e personalizadores de sistema, o uso de tabelas virtuais simplifica muito a administração e a configuração.

Observação

Esta seção discute as implicações das tabelas virtuais para desenvolvedores. Para obter mais informações sobre como gerenciar tabelas virtuais da interface do usuário, consulte Criar e editar tabelas virtuais que contêm dados de uma fonte de dados externa.

Tabelas virtuais, provedores de dados e fontes de dados

Uma tabela virtual inclui uma definição de uma tabela no Dataverse sem a tabela física associada para armazenamento de registros no banco de dados dataverse. Durante o runtime, quando um registro é necessário, seu estado é recuperado dinamicamente do sistema externo associado. Cada tipo de tabela virtual é associado a um provedor de dados de tabela virtual e (opcionalmente) algumas informações de configuração de uma fonte de dados de tabela virtual associada.

Os seguintes provedores de dados estão inclusos no Dataverse:

  • Um provedor OData v4 está incluído no serviço e é instalado por padrão. Este provedor dá suporte a operações CRUD (criar, ler, recuperar, recuperar vários, atualizar e excluir).
  • Um provedor do Azure Cosmos DB (antigo Microsoft Document DB) está disponível no AppSource.

Se um provedor de dados não puder ser encontrado para sua fonte de dados externa, você poderá desenvolver um provedor de dados de tabela virtual personalizado. Mais informações: Provedores de dados de tabela virtual

O provedor de dados de tabela virtual personalizado agora oferece suporte completo para operação CRUD. Os desenvolvedores podem implementar plug-ins e registrá-los usando a ferramenta Registro de Plug-in para cada uma das operações CRUD que dão suporte à tabela virtual.

Criação e mapeamento de tabela virtual

Inicialmente, definir uma tabela virtual é o mesmo que definir uma tabela personalizada. Especifique a tabela, as colunas e as relações para o novo tipo de tabela virtual. Em seguida, conecte a tabela virtual a um provedor de dados para gerenciar operações de dados.

O tipo de tabela personalizado e suas colunas devem ser mapeados para os dados correspondentes na fonte de dados externa. Por exemplo, uma tabela virtual pode ser representada como uma linha em um banco de dados relacional externo e cada uma de suas colunas pode corresponder a uma coluna nessa linha. Esses nomes de dados externos geralmente são diferentes dos nomes de tabela virtual correspondentes. Um mapeamento específico e necessário ocorre para o campo ID da entidade – o provedor de dados deve ser capaz de fornecer esse GUID e associá-lo ao registro externo que representa esse registro. A maneira mais direta de obter esse resultado é realmente usar GUIDs como chaves primárias na fonte de dados externa.

Neste exemplo, uma fonte de dados de tabela virtual correspondente também seria fornecida para fornecer informações de usuário e conexão para o banco de dados externo.

Limitações de tabelas virtuais

Veja a seguir as limitações das tabelas virtuais que devem ser consideradas.

  • Há suporte apenas para tabelas de propriedade da organização. Não há suporte para a filtragem de segurança aplicada a tabelas de propriedade do usuário. O acesso aos dados da tabela virtual pode ser ativado ou desativado para usuários individuais com base em sua função de segurança. Não há suporte para segurança em nível de campo.
  • Deve ser possível modelar os dados externos como uma tabela do Dataverse. Isso significa:
    • Todas as tabelas na fonte de dados externa devem ter uma chave primária GUID associada.
    • Todas as propriedades da tabela devem ser representadas como colunas de tabela do Dataverse. Você pode usar tipos simples que representam texto, números, opções, datas, imagens e pesquisas.
    • Você deve ser capaz de modelar as relações de tabela no Dataverse.
    • Uma coluna em uma tabela virtual não pode ser calculada ou ter valor acumulado.  Todos os cálculos desejados devem ser feitos no lado externo, possivelmente dentro do sistema do provedor de dados ou sob direção dele.
    • Embora você possa adicionar colunas de tabela virtual como uma pesquisa em uma grade ou em outras exibições de interface do usuário, não é possível filtrar ou classificar com base nessa coluna de pesquisa de tabela virtual.
  • Não há suporte para auditoria.
  • A funcionalidade de pesquisa não tem suporte para tabelas virtuais, pois elas não persistem dados.
  • As tabelas e os painéis não são compatíveis para tabelas virtuais.
  • As tabelas virtuais não podem ser habilitadas para filas.
  • Não há suporte para o cache offline de valores para tabelas virtuais.
  • Uma tabela virtual não pode representar uma atividade e não dá suporte a fluxos de processo empresarial.
  • Depois de criada, uma tabela virtual não pode ser alterada para ser uma tabela padrão (nãovirtual). O inverso também é verdadeiro, enquanto uma tabela padrão não pode ser convertida em uma tabela virtual.
  • A seleção de atributos nas consultas Retrieve e RetrieveMultiple não será aplicada, pois todos os atributos são retornados
  • Reduza e limite a inclusão de colunas de busca em tabelas virtuais na visualização em grade. Pode demorar um pouco para ler as colunas de pesquisa da tabela virtual.

Para obter mais informações sobre como essas limitações são refletidas na API do Dataverse, consulte as considerações da API de tabelas virtuais.

Consulte também

Passo a passo da tabela virtual usando o Provedor de Dados OData v4
Considerações de API de tabelas virtuais
Provedores de dados de tabela virtual personalizados
Exemplo: plug-in genérico do provedor de dados para tabela virtual