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


Создание или изменение виртуальной сущности с данными из внешнего источника

Эта тема относится к Dynamics 365 Customer Engagement (on-premises). Версию этой темы для Power Apps см. по адресу: Создание и изменение виртуальных сущностей, содержащих данные из внешнего источника данных

Виртуальная сущность — это настраиваемая сущность в Dynamics 365 Customer Engagement (on-premises), которая имеет поля, содержащие данные из внешнего источника данных. Виртуальные сущности в вашем приложении выглядят для пользователей как обычные записи сущности, но содержат данные из внешней базы данных, например базы данных Azure SQL. Записи, основанные на виртуальных сущностях, доступны для всех клиентов, включая настраиваемые клиенты, разработанные с помощью веб-служб Dynamics 365 Customer Engagement.

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

Виртуальные сущности состоят из трех основных компонентов: поставщик данных, запись источника данных и виртуальная сущность. Поставщик данных состоит из подключаемых модулей и сущность источника данных. Источник данных представляет собой запись сущности в Dynamics 365 Customer Engagement (on-premises), которая включает метаданные, отражающие схему параметров подключения. Каждая виртуальная сущность ссылается на источник данных в определении сущности.

Dynamics 365 Customer Engagement (on-premises) включает поставщика данных OData, который можно использовать для подключения к веб-службе OData v4, которая получает доступ к внешним данным.

В качестве альтернативы разработчики могут создавать собственных поставщиков данных. Поставщики данных устанавливаются в среде в качестве решения. Дополнительные сведения: Начало работы с виртуальными сущностями

Диаграмма виртуальной сущности.

Преимущества виртуальных сущностей

  • Разработчики могут реализовывать подключаемые модули для чтения, обновления или удаления внешних данных с помощью веб-служб Dynamics 365 Customer Engagement и средства регистрации подключаемых модулей Customer Engagement.

  • Настройщики системы используют Dynamics 365 Customer Engagement (on-premises) для конфигурирования записи источника данных и создания виртуальных сущностей, которые используются для доступа к внешним данным без написания кода.

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

Добавление источника данных для использования для виртуальных сущностей

Разработчики могут создать настраиваемый подключаемый модуль для использования в качестве поставщика данных для виртуальной сущности. Кроме того, можно использовать предусмотренный поставщик данных OData v4. Дополнительные сведения: Конфигурация, требования и рекомендации для поставщика данных OData v4

  1. Перейдите в раздел Параметры>Администрирование>Источники данных виртуальных сущностей.

  2. На панели инструментов действий выберите Создать.

  3. В диалоговом окне "Выберите поставщика данных" выберите одного из следующих поставщиков данных, затем выберите ОК.

Добавление защищенного поля в источник данных

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

Заметка

Атрибут "Секрет источника данных" доступен только для полей, добавленных в форму источника данных.

Атрибут секрета источника данных.

Создание виртуальной сущности

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

Заметка

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

  1. Перейдите в раздел Параметры>Настройки>Настройка системы.

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

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

    Параметр виртуальной сущности в определении сущности.

  4. В определении сущности заполните следующие обязательные поля.

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

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

      Ниже приведен пример виртуальной сущности с названием Фильм, которая использует поставщика данных Azure Cosmos DB для получения доступа к файлам документов.

    Определение виртуальной сущности с помощью поставщика данных Azure Cosmos DB.

    Внимание

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

    По мере необходимости заполните дополнительные обязательные и необязательные свойства, такие как отображаемое имя и имя во множественном числе. Дополнительные сведения об этих свойствах см. в разделе Создание и изменение сущностей.

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

    • Внешнее имя. Обычно это уникальное имя для определения данных, которые требуется показывать в поле.

    Заметка

    Если создаваемое поле имеет тип OptionSet, доступны следующие дополнительные поля.

    • Имя внешнего типа. Данное свойство сопоставляется внешнему имени набора значений во внешнем сервисе для набора параметров. Как правило, это может быть перечисление или класс со строковым значением. Имя внешнего типа можно использовать, если требуется полное имя. Например, в качестве параметра Имя типа с OData, где параметры в запросе требуют полного имени, например [Имя типа].[Значение].
    • Внешнее значение. Данное свойство сопоставляется соответствующему значению во внешнем источнике данных для элемента набора параметров. Это введенное значение используется для определения, какой элемент набора параметров должен отображаться в приложении.

    Заполните дополнительные свойства по мере необходимости. Дополнительные сведения об этих свойствах см. в разделе Создание и изменение полей.

  6. Выберите Сохранить и закрыть на странице свойств Поле.

  7. На панели инструментов обозревателя решений выберите Сохранить.

  8. На панели инструментов обозревателя решений выберите Опубликовать.

  9. Закройте обозреватель решений.

Замечания при использовании виртуальных сущностей

Виртуальные сущности имеют следующие ограничения.

  • Все виртуальные сущности доступны только для чтения.

  • Существующие сущности нельзя преобразовать в виртуальные сущности.

  • По умолчанию виртуальные сущности содержат только имя и поле идентификатора. Никакие другие поля, управляемые системой, такие как состояние или дата создания/изменения, не поддерживаются.

  • Виртуальные сущности не поддерживают настраиваемые поля с типами валюты, изображения и данных клиентов.  

  • Виртуальные сущности не поддерживают аудит.

  • Поля виртуальных сущностей нельзя использовать в свертках или вычисляемых полях.  

  • Виртуальная сущность не может иметь тип "Действие".

  • Многие функции, которые влияют на строки таблицы сущности, нельзя включить с виртуальными сущностями. Примеры включают очереди, управление знаниями, соглашения SLA, обнаружение повторов, отслеживание изменений, возможность работы в автономном режиме Mobile Offline, безопасность полей, поиск с сортировкой по релевантности, порталы для решений веб-порталов Dynamics 365 Customer Engagement (on-premises) и отношения N:N между виртуальными сущностями.

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

  • При использовании виртуальных сущностей в расширенном поиске рекомендуется использовать один источник данных. Например, не поддерживается создание расширенного поиска, который в конечном счете создает связь между собственными данными Dataverse и внешними данными виртуальной сущности.

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

  • Виртуальные сущности не поддерживают отслеживание изменений и не могут быть синхронизированы с помощью функции Customer Engagement, такой как служба экспорта данных.

  • Потоки бизнес-процессов не поддерживаются с виртуальными сущностями. Дополнительная информация: Получена непредвиденная ошибка, когда пользователь активирует поток бизнес-процесса

Получена непредвиденная ошибка, когда пользователь активирует поток бизнес-процесса

Когда пользователь пытается активировать поток бизнес-процесса, он может получить сообщение о «непредвиденной ошибке». При просмотре файла журнала отображается следующая запись журнала.

ErrorCode: 0x80040216 Сообщение: System.Web.HttpUnhandledException: было создано исключение типа «System.Web.HttpUnhandledException». ---> Microsoft.Crm.CrmException: поток бизнес-процесса не может быть включен для виртуальной сущности

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

См. также

Требования и рекомендации для поставщика данных OData v4
Создание и изменение сущностей
Создание и изменение полей