Запускать потоки при добавлении, изменении или удалении строки

Триггер При добавлении, изменении или удалении строки запускает поток всякий раз, когда строка выбранной таблицы и область изменяется или создается.

Предпосылки

  • Чтобы создать поток, который запускается при создании, изменении или удалении строки, у вас должны быть разрешения на уровне пользователя для создания, чтения, записи и удаления в таблице Регистрация ответного звонка.

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

Задание параметров для триггера

Следующая информация необходима для использования триггера При добавлении, изменении или удалении строки.

  • Условие триггера
  • Имя таблицы
  • Область

Power Automate позволяет использовать либо новый дизайнер, либо классический дизайнер для настройки облачного потока. Шаги схожи в обоих конструкторах. Подробнее (с примерами) см. в статье Определение различий между новым конструктором и классическим конструктором.

В вашем потоке выберите карточку для триггера При добавлении, изменении или удалении строки. Слева откроется область с выбранной вкладкой Параметры.

Снимок экрана с вкладкой «Параметры».

Условие триггера

Условие триггера, Изменить тип, определяет комбинацию изменений в строке, которая запускает поток.

Когда поток запускает создание, обновление или удаление строки, triggerOutputs()['body/SdkMessage'] принимает значение Create, Update или Delete, соответственно.

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

Имя таблицы

В списке Имя таблицы отфильтрованы строки, строки которых изменяются до запуска потока. Подробнее см. в разделе Таблицы в Dataverse.

Триггер При добавлении, добавлении или удалении строки не поддерживает запуск потоков на отношениях типа 1:N или N:N.

Область

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

Вот что означает каждая область:

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

Условия фильтра

Используйте условия фильтра, чтобы задать условия, когда запускать потоки.

Фильтровать столбцы

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

Note

Поток выполняется, даже когда включенные значения совпадают с существующими значениями.

Это свойство применяется только к состоянию Обновить. Создать и Удалить применяются ко всем столбцам строки.

Это свойство не поддерживается в виртуальных таблицах.

Это важно

  • Столбцы подстановки (столбцы, в которых хранятся ссылки на другие строки таблицы) не поддерживаются в фильтре Выбор столбцов. Если указать столбец подстановки, изменения в этом столбце не будет активировать поток. Используйте только скалярные типы столбцов, такие как текст, число, дата и время и столбцы выбора.
  • Поток активируется, когда любой столбец в столбцах Select входит в состав обновления независимо от того, изменились ли данные в этом столбце. Не включайте столбцы, которые всегда присутствуют при обновлении, например первичный ключ сущности. Это может привести к тому, что все обновления будут запускать поток.

Выражение фильтра

Выражение фильтра позволяет вам определить выражение фильтра стиля OData, чтобы помочь вам еще точнее определить условия триггера. Поток выполняется только тогда, когда выражение оценивается как истина после сохранения изменения в Dataverse. В следующих примерах поток запускается, когда firstname обновляется на Джон.

Примеры для Фильтр строк:

firstname eq 'John'

contains(firstname,'John')

Дополнительные сведения см. в статьях Стандартные операторы фильтров и Функции запросов.

Дополнительные параметры

Вы можете задать другие свойства, чтобы определить более точное время выполнения потока и профиля пользователя, который он использует.

Чтобы получить доступ к расширенным параметрам, выберите Показать все в поле Дополнительные параметры.

Снимок экрана дополнительных параметров.

Условие ожидания с задержкой до определенного момента

Используйте метку времени в стиле OData в свойстве Задержка до, чтобы отложить запуск потока до определенного времени в формате UTC.

Ключевое преимущество использования свойства Dataverse Задержка до вместо стандартного действияЗадержка до состоит в том, что срок действия свойства Задержка до Dataverse никогда не истекает, что позволяет потоку ждать в течение длительного периода времени.

Олицетворение пользователя с помощью параметра "Запустить от имени"

Владелец потока должен иметь права Microsoft Dataverse Действовать от имени другого пользователя (prvActOnBehalfOfAnotherUser). Роль безопасности Делегат включает эту привилегию по умолчанию. Вы можете включить ее в любой роли безопасности. Подробнее см. в разделе Олицетворение другого пользователя.

Когда вы создаете потоки с триггером При добавлении, изменении или удалении строки, вы можете настроить каждое действие Microsoft Dataverse в потоке так, чтобы оно выполнялось с использованием контекста пользователя, отличного от владельца потока.

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

Для шагов, на которых он не выбран, предполагается пользователь по умолчанию. При этом базовые API-интерфейсы вызываются на основе выбранного пользователя, а не владельца потока. Если ничего не указано, по умолчанию используется владелец потока, создавший поток, а именно, автор.

Вот другие варианты:

  • Владелец потока. Пользователь, создавший поток.

  • Владелец строки: пользователь, который владеет строкой Microsoft Dataverse, изменение которой запускает поток. Если строка принадлежит рабочей группе, этот параметр по умолчанию запускается от имени владельца потока.

  • Вносящий изменения пользователь: пользователь, который предпринял действия со строкой Microsoft Dataverse, инициировав или изменив поток.

Кроме того, мгновенные потоки позволяют выполнять шаги любого другого коннектора, такого как Microsoft Teams, Microsoft 365 Outlook или SharePoint, в том же потоке, используя подключение инициатора. Для этого выполните следующие действия:

  1. Перейдите на страницу обзора потока.

  2. Выберите Изменить в параметрах Пользователи с правами только на выполнение.

  3. В области Управление разрешениями только на запуск перейдите на вкладку Пользователь и группы, а затем выберите Предоставлено пользователем с правами только для запуска в списке Используемые подключения.