Подключение к Microsoft Dataverse из рабочих процессов в Azure Logic Apps
Область применения: Azure Logic Apps (Потребление + Стандартный)
Внимание
30 августа 2022 г. операции соединителя для Common Data Service 2.0, также известные как Microsoft Dataverse (устаревшая версия), перенесены на текущий соединитель Microsoft Dataverse. Устаревшие операции имеют метку "устаревшее", а текущие операции имеют метку "предварительная версия". Текущий соединитель Dataverse можно использовать в любых существующих или новых рабочих процессах приложения логики. Для обратной совместимости существующие рабочие процессы продолжают работать с устаревшим соединителем Dataverse. Однако обязательно просмотрите эти рабочие процессы и быстро обновите их.
С октября 2023 г. устаревшая версия стала недоступной для новых рабочих процессов. Существующие рабочие процессы продолжают работать, но для новых рабочих процессов необходимо использовать текущие операции соединителя Dataverse. Будет объявлено временная шкала для даты завершения работы для устаревших действий и триггеров. Дополнительные сведения см. в статье о соединителе Microsoft Dataverse (устаревшая версия) для Azure Logic Apps, который не рекомендуется использовать и заменен другим соединителем.
Чтобы создавать и запускать автоматизированные рабочие процессы, которые создают строки в базе данных Microsoft Dataverse и управляют ими, можно использовать Azure Logic Apps и соединитель Microsoft Dataverse. Эти рабочие процессы могут создавать и обновлять строки, а также выполнять другие операции. Вы также можете получить сведения из базы данных Dataverse и сделать выходные данные доступными для других действий, используемых в рабочих процессах. Например, при добавлении, обновлении или удалении строки в базе данных Dataverse можно отправить сообщение электронной почты с помощью соединителя Office 365 Outlook.
В этом руководстве показано, как создать рабочий процесс, который создает строку задачи при создании новой строки потенциальных пользователей.
Справочник по соединителям
Технические сведения, основанные на описании Swagger соединителя, таких как операции, ограничения и другие сведения, см. на странице справочника по управляемому соединителю.
Необходимые компоненты
Учетная запись и подписка Azure. Если у вас еще нет подписки Azure, зарегистрируйтесь для получения бесплатной учетной записи Azure.
Среда службы данных Dataverse и база данных, которая является пространством, в котором ваша организация хранит, управляет и делится бизнес-данными в базе данных Dataverse. Дополнительные сведения см. на следующих ресурсах:
Базовые знания о создании рабочих процессов приложения логики "Потребление" или "Стандартный" и приложения логики из того, откуда требуется получить доступ к строкам в базе данных Dataverse. Чтобы использовать триггер Dataverse, необходимо начать с пустого рабочего процесса. Дополнительные сведения см. на следующих ресурсах:
Добавление триггера Dataverse
При добавлении триггера или действия, которое подключается к службе или системе, и у вас нет существующего или активного подключения, Azure Logic Apps предложит предоставить сведения о подключении, которые зависят от типа подключения, например:
- Учетные данные учетной записи
- Имя, используемое для подключения
- Имя сервера или системы
- Тип проверки подлинности
- Строка подключения
В этом примере используется триггер Dataverse, который запускает рабочий процесс при добавлении, обновлении или удалении строки.
Примечание.
Соединитель Dataverse имеет параметры, относящиеся к операции, и параметры для конкретной базы данных. Например, при выборе таблицы параметры, доступные для этой таблицы, различаются и отличаются от других таблиц.
В портал Azure откройте ресурс приложения логики "Стандартный" и пустой рабочий процесс в конструкторе.
В конструкторе выполните следующие общие действия, чтобы добавить триггер Microsoft Dataverse с именем "При добавлении, изменении или удалении строки".
При появлении запроса войдите в среду Dataverse или базу данных.
В поле сведений триггера укажите необходимые значения.
Пример триггера см. в разделе "При добавлении, изменении или удалении строки".
По завершении сохраните рабочий процесс приложения логики. На панели инструментов конструктора выберите Сохранить.
Теперь добавьте хотя бы одно действие для рабочего процесса, которое будет выполняться при срабатывании триггера. Например, можно добавить действие Dataverse или действие, которое отправляет сообщение электронной почты на основе выходных данных триггера.
Добавление действия Dataverse
При добавлении триггера или действия, которое подключается к службе или системе, и у вас нет существующего или активного подключения, Azure Logic Apps предложит предоставить сведения о подключении, которые зависят от типа подключения, например:
- Учетные данные учетной записи
- Имя, используемое для подключения
- Имя сервера или системы
- Тип проверки подлинности
- Строка подключения
В этом примере используется действие Dataverse, которое добавляет новую строку в базу данных.
Примечание.
Соединитель Dataverse имеет параметры, относящиеся к операции, и параметры для конкретной базы данных. Например, при выборе таблицы параметры, доступные для этой таблицы, различаются и отличаются от других таблиц.
В портал Azure откройте ресурс приложения логики "Стандартный" и рабочий процесс в конструкторе.
В конструкторе выполните следующие общие действия, чтобы добавить действие Microsoft Dataverse с именем Add a new row.
При появлении запроса войдите в среду Dataverse или базу данных.
В поле сведений о действии укажите необходимые значения.
Пример действия см. в разделе "Добавление новой строки".
По завершении сохраните рабочий процесс приложения логики. На панели инструментов конструктора выберите Сохранить.
Продолжайте добавлять дополнительные действия, если вы хотите.
Тестирование рабочего процесса
Чтобы протестировать и активировать рабочий процесс, выполните следующие действия.
В меню "Рабочий процесс" выберите пункт Обзор.
На панели инструментов "Обзор" нажмите кнопку "Выполнить".>
Воспроизводите условия, необходимые триггеру для выполнения рабочего процесса.
Возврат строк на основе фильтра
Для действий, возвращающих строки, такие как действие "Список строк ", можно использовать запрос ODATA, возвращающий строки на основе указанного фильтра. Например, можно настроить действие, которое возвращает только строки для активных учетных записей. Дополнительные сведения о примере действия см. в разделе "Список строк".
В конструкторе в действии откройте список дополнительных параметров и выберите свойство "Фильтр строк".
В свойстве "Фильтр строк" , которое теперь отображается в действии, введите выражение запроса ODATA, например:
statuscode eq 1
Дополнительные сведения о параметрах системного запроса см. в $filter
разделе "Запрос данных с помощью веб-API — фильтрация результатов".
Возврат строк на основе порядка сортировки
Для действий, возвращающих строки, например действия "Список строк ", можно использовать запрос ODATA, возвращающий строки в определенной последовательности, которая зависит от строк, возвращаемых действием. Например, можно настроить действие для возврата строк, организованных по имени учетной записи. Дополнительные сведения о примере действия см. в разделе "Список строк".
В конструкторе в действии откройте список дополнительных параметров и выберите свойство Sort By .
В свойстве Sort By , которое теперь отображается в действии, введите имя столбца, используемое для сортировки, например имя:
Дополнительные сведения о параметрах системного запроса см. в $orderby
разделе "Запрос данных с помощью веб-API — сортировка по".
Типы данных полей
В триггере или действии тип данных значения поля должен соответствовать требуемому типу данных поля. Это требование применяется, если вы вручную вводите значение или выбираете значение из динамического списка содержимого.
Примечание.
Соединитель Dataverse имеет параметры, относящиеся к операции, и параметры для конкретной базы данных. Например, при выборе таблицы параметры, доступные для этой таблицы, различаются и отличаются от других таблиц.
Например, предположим, что у вас есть таблица с именем Tasks. Эта таблица содержит поля, которые применяются только к этой таблице, а другие таблицы имеют собственные поля. В примере таблицы "Задачи " в следующей таблице описываются некоторые типы полей и типы данных, необходимые для их значений.
Поле | Тип данных | Description |
---|---|---|
Текстовое поле | Однострочный текст | Требуется одна строка текста или динамического содержимого с типом текстовых данных, например следующие свойства: - Description - Категория |
целочисленное поле. | Целое число | Требует целочисленного или динамического содержимого, имеющего целочисленный тип данных, например следующие свойства: - Процент выполнения - Длительность |
Поле даты | Дата и время | Требуется либо дата в формате MM/DD/YYY, либо динамическое содержимое с типом данных даты, например следующие свойства: - Создано - Дата начала - Фактическое начало - Фактическое окончание - Срок оплаты |
Поле, ссылающееся на другую строку сущности | Первичный ключ | Требуется как идентификатор строки, например GUID, так и тип подстановки, что означает, что значения из динамического списка содержимого не будут работать, например, следующие свойства: - Владелец: должен быть допустимым идентификатором пользователя или идентификатором строки команды. - Тип владельца: должен быть типом поиска, например systemusers или teams соответственно. - Что касается: должен быть допустимым идентификатором строки, например идентификатором учетной записи или идентификатором строки контакта. - Тип "В отношении": должен быть типом поиска, например accounts или contacts соответственно. - Клиент: должен быть допустимым идентификатором строки, например идентификатором учетной записи или идентификатором строки контакта. - Тип клиента: должен быть типом поиска, например accounts или contacts соответственно. |
Предположим, что в таблице "Задачи " используется действие "Добавить новую строку " для создания новой строки, связанной с другими строками сущностей, в частности, строки пользователя и строки учетной записи. Таким образом, в этом действии необходимо указать идентификаторы и типы подстановок для этих строк сущностей, используя значения, соответствующие ожидаемым типам данных для соответствующих свойств.
На основе свойства Owner, указывающего идентификатор пользователя и свойство "Тип владельца", указывающее
systemusers
тип подстановки, действие связывает новую строку с конкретным пользователем.На основе свойства "Относительно", указывающего идентификатор строки и свойство "Относительно типа",
accounts
указывающее тип подстановки, действие связывает новую строку с определенной учетной записью.
Устранение неполадок и решение проблем
Вызовы из нескольких сред
Соединитель Dataverse хранит сведения о рабочих процессах приложения логики, которые получают и требуют уведомлений об изменениях сущности базы данных с помощью callbackregistrations
сущности в базе данных Dataverse. Если скопировать организацию Dataverse, то будут скопированы все веб-перехватчики. Если вы копируете организацию перед отключением рабочих процессов, сопоставленных с вашей организацией, все скопированные веб-перехватчики также указывают на одни и те же рабочие процессы приложения логики, которые затем получают уведомления от нескольких организаций.
Чтобы остановить нежелательные уведомления, удалите callbackregistrations
сущность из организации, которая отправляет эти уведомления, выполнив следующие действия:
Определите и войдите в организацию Dataverse, из которой требуется удалить уведомления.
В браузере Chrome найдите регистрацию обратного вызова, которую вы хотите удалить.
Просмотрите общий список для всех регистраций обратного вызова по следующему универсальному коду ресурса (URI) OData, чтобы можно было просматривать данные внутри сущности
callbackregistrations
:https://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations
:Примечание.
Если значения не возвращаются, возможно, у вас нет разрешений на просмотр этого типа сущности или вы, возможно, не вошли в правильную организацию.
Фильтрация по активации логического имени
entityname
сущности и событию уведомления, которое соответствует рабочему процессу приложения логики (сообщение). Каждый тип события сопоставляется с целым числом сообщения следующим образом.Тип события Целое число сообщения Создание 1 Удаление 2 Обновить 3 CreateOrUpdate 4 CreateOrDelete 5 UpdateOrDelete 6 CreateOrUpdateOrDelete 7 В следующем примере показано, как фильтровать
Create
уведомления для сущности с именемnov_validation
с помощью следующего URI OData для примера организации:https://fabrikam-preprod.crm1.dynamics.com/api/data/v9.0/callbackregistrations?$filter=entityname eq 'nov_validation' and message eq 1
Примечание.
Если для одной и той же сущности или события существует несколько триггеров, можно отфильтровать список с помощью дополнительных фильтров, например атрибутов
createdon
и_owninguser_value
. Имя пользователя владельца отображается в разделе/api/data/v9.0/systemusers({id})
.После нахождения идентификатора для регистрации обратного вызова, который требуется удалить, выполните следующие действия.
В браузере Chrome откройте Средства для разработчиков Chrome (клавиша на клавиатуре: F12).
В верхней части окна перейдите на вкладку Консоль.
В командной строке введите следующую команду, которая отправляет запрос на удаление указанной регистрации обратного вызова:
fetch('http://{organization-name}.crm{instance-number}.dynamics.com/api/data/v9.0/callbackregistrations({ID-to-delete})', { method: 'DELETE'})
Внимание
Убедитесь, что запрос выполняется на странице неуниверсального клиентского интерфейса (UCI), например на странице отклика OData или API. В противном случае логика в файле app.js может помешать выполнению этой операции.
Чтобы убедиться, что регистрации обратного вызова больше не существует, просмотрите список регистраций обратного вызова.
Повторяющаяся сущность callbackregistrations
В рабочих процессах приложения логики уровня "Стандартный" в определенных условиях, таких как перемещение экземпляра или перезапуск приложения, триггер Microsoft Dataverse запускает повторяющийся запуск, который создает дубликат callbackregistrations
сущности в базе данных Dataverse. Если изменить рабочий процесс уровня "Стандартный", который начинается с триггера Dataverse, проверка, дублируется ли эта callbackregistrations
сущность. Если дубликат существует, удалите дубликат callbackregistrations
сущности вручную.