Поделиться через


Начало работы с виртуальными таблицами (сущностями)

Виртуальные таблицы также известные как виртуальные сущности, позволяют интегрировать данные, находящиеся во внешних системах с Microsoft Dataverse. Эта интеграция легко представляет внешние данные в виде таблиц в Dataverse, без репликации данных и часто без пользовательского написания кода.

Виртуальные таблицы заменяют предыдущие клиентские и серверные подходы к интеграции внешних данных, которые требовали настраиваемый код и страдали от многочисленных ограничений. Эти ограничения включают несовершенную интеграцию, дублирование данных или обширную приверженность ресурсам разработки. Кроме того, для администраторов и настройщиков системы использование виртуальных таблиц значительно упрощает администрирование и настройку.

Замечание

В этом разделе рассматриваются последствия виртуальных таблиц для разработчиков. Дополнительные сведения об управлении виртуальными таблицами из пользовательского интерфейса см. в статье "Создание и изменение виртуальных таблиц, содержащих данные из внешнего источника данных".

Виртуальные таблицы, поставщики данных и источники данных

Виртуальная таблица содержит определение таблицы в Dataverse без связанной физической таблицы для хранения записей в базе данных Dataverse. Во время выполнения, когда требуется запись, его состояние динамически извлекается из связанной внешней системы. Каждый тип виртуальной таблицы связан с поставщиком данных виртуальной таблицы и (необязательно) некоторыми сведениями о конфигурации из связанного источника данных виртуальной таблицы.

Следующие поставщики данных поставляются с Dataverse:

  • Поставщик OData версии 4 входит в службу и устанавливается по умолчанию. Этот поставщик поддерживает операции создания, чтения (получения данных, извлечения нескольких записей), обновления и удаления (CRUD — Создание, Чтение, Обновление, Удаление).
  • Поставщик Azure Cosmos DB (ранее Microsoft Document DB) доступен от Marketplace.

Если поставщик данных не удается найти для внешнего источника данных, можно разработать настраиваемый поставщик данных виртуальной таблицы. Дополнительные сведения: поставщики данных виртуальной таблицы

Теперь поддерживаются полноценные операции CRUD для пользовательского виртуального табличного поставщика данных. Разработчики могут реализовать подключаемые модули и зарегистрировать их с помощью средства регистрации подключаемых модулей для каждой из операций CRUD, поддерживающих виртуальную таблицу.

Создание и сопоставление виртуальных таблиц

Изначально определение виртуальной таблицы совпадает с определением настраиваемой таблицы. Вы указываете таблицу, столбцы и связи для нового типа виртуальной таблицы. Затем вы подключаете виртуальную таблицу к поставщику данных для управления операциями данных.

Настраиваемый тип таблицы и его столбцы должны быть сопоставлены с соответствующими данными во внешнем источнике данных. Например, виртуальная таблица может представляться как строка во внешней реляционной базе данных, и каждая из ее столбцов может соответствовать столбцу в этой строке. Эти имена внешних данных часто отличаются от соответствующих имен виртуальных таблиц. Конкретное и обязательное сопоставление выполняется для поля идентификатора сущности. Поставщик данных должен иметь возможность предоставить этот GUID и связать его с внешней записью, представляющей эту запись. Самый прямой способ достичь этого результата заключается в том, чтобы фактически использовать идентификаторы GUID в качестве первичных ключей во внешнем источнике данных.

В этом примере также будет предоставлен соответствующий источник данных виртуальной таблицы для предоставления сведений о пользователе и подключении для внешней базы данных.

Ограничения виртуальных таблиц

Ниже приведены ограничения виртуальных таблиц, которые следует учитывать.

  • Поддерживаются только таблицы, принадлежащие организации. Фильтрация безопасности, примененная к таблицам, принадлежащим пользователям, не поддерживается. Доступ к данным виртуальной таблицы можно включить или отключить для отдельных пользователей на основе их роли безопасности. Безопасность на уровне поля не поддерживается.
  • Должна быть возможность моделировать внешние данные как таблицу Dataverse. Это означает:
    • Все таблицы во внешнем источнике данных должны иметь связанный первичный ключ GUID.
    • Все свойства таблицы должны быть представлены в виде столбцов таблицы Dataverse. Вы можете использовать простые типы, представляющие текст, числа, варианты, даты, изображения и поиск.
    • Вы должны иметь возможность моделировать любые связи таблиц в Dataverse.
    • Столбец виртуальной таблицы не может быть вычисляемым или развёртываемым.  Все необходимые вычисления должны выполняться на внешней стороне, возможно, выполняемые внутри или под управлением поставщика данных.
    • Хотя столбцы виртуальной таблицы можно добавить как подстановочный столбец в сетке или других представлениях пользовательского интерфейса, нельзя выполнять фильтрацию или сортировку на основе этого подстановочного столбца виртуальной таблицы.
  • Аудит не поддерживается.
  • Функции поиска не поддерживаются для виртуальных таблиц, так как они не сохраняют данные.
  • Диаграммы и панели мониторинга не поддерживаются для виртуальных таблиц.
  • Виртуальные таблицы нельзя включить для очередей.
  • Автономное кэширование значений не поддерживается для виртуальных таблиц.
  • Виртуальная таблица не может представлять действие и не поддерживает потоки бизнес-процессов.
  • После создания виртуальная таблица не может быть стандартной (невиртуальной) таблицей. Обратное также верно: стандартную таблицу нельзя преобразовать в виртуальную.
  • Выбор атрибутов в запросах Retrieve and RetrieveMultiple не будет применяться, так как возвращаются все атрибуты.
  • Уменьшите и ограничьте использование столбцов подстановки виртуальной таблицы в вашем представлении сетки. Для чтения столбцов подстановки виртуальной таблицы может потребоваться некоторое время.

Дополнительные сведения о том, как эти ограничения отражаются в API Dataverse, см. в рекомендациях по API виртуальных таблиц.

См. также

Обзор виртуальной таблицы с использованием поставщика данных OData версии 4
Рекомендации по API виртуальных таблиц
Пользовательские поставщики данных виртуальной таблицы
Образец: Плагин-поставщик данных для универсальной виртуальной таблицы