Фильтрация и копирование данных с Power Automate

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

Хотя в этом руководстве копируются данные из списка Microsoft SharePoint (источник) в таблицу базы данных SQL Azure (место назначения), данные можно копировать между любыми из более чем 900 соединителей, поддерживаемых Power Automate.

Совет

Подробные сведения об использовании SharePoint с Power Automate см. в разделе Документация по SharePoint.

Предварительные условия

  • Доступ к источнику данных и месту назначения. Это руководство не содержит инструкций по созданию источника и места назначения.

  • Доступ к Power Automate.

  • Базовое представление о способе хранения данных.

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

Совет

Каждое имя столбца в источнике и месте назначения не обязательно должно совпадать. Однако вы должны предоставить данные для всех обязательных столбцов при вставке или обновлении элемента. Power Automate определяет обязательные поля за вас.

Краткий обзор шагов

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

Внимание

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

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

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

  3. Задайте триггер для отслеживания источника на наличие изменений.

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

  5. Используйте условие, как в следующем примере:

    • Если новый или измененный элемент не существует в месте назначения, создайте его.
    • Если новый или измененный элемент существует в месте назначения, обновите его.
  6. Активируйте поток, а затем подтвердите, что новые или измененные элементы копируются из источника в место назначения.

Если вы еще не создали подключение к SharePoint или базе данных SQL Azure, следуйте инструкциям, когда появится запрос на вход.

Ниже описаны подробные действия по созданию потока.

Отслеживание источника на наличие изменений

  1. Войдите в Power Automate.

  2. Выберите Мои потоки>Создать с нуля.

  3. Выполните поиск SharePoint>, выберите триггер SharePoint — при создании или изменении элемента из списка триггеров.

  4. Введите адрес сайта, а затем выберите имя списка в карточке При создании или изменении элемента.

  5. Укажите Адрес сайта и Имя списка для списка SharePoint, в котором поток будет отслеживать новые или измененные элементы.

Поиск новых или измененных элементов в месте назначения

Для поиска нового или измененного элемента в месте назначения используйте действие SQL Server — получить строки.

  1. Выберите Новый шаг>Добавить действие.

  2. Найдите пункт Получить строки, выберите SQL Server — получить строки, а затем выберите таблицу для отслеживания из списка Имя таблицы.

  3. Выберите Показать дополнительные параметры.

  4. В поле Запрос фильтра введите Title eq ', выберите токен Заголовок из списка динамического содержимого, а затем введите '.

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

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

    попытка получить элемент из базы данных назначения.

Проверка результатов поиска нового или измененного элемента

Мы используем действие Условие, чтобы проверить, был ли найден новый или измененный элемент.

  1. Выберите Новый шаг>Добавить условие, чтобы открыть карточку Условие.

  2. На карточке условия сделайте следующее.

    1. Выберите поле слева.

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

    2. Выберите значение из категории Получить строки.

    Совет

    Подтвердите выбранное значение из категории Получить строки. Не следует выбирать значение из категории При создании или изменении элемента.

  3. Выберите равно из списка в центральной области.

  4. Введите 0 (ноль) в поле с правой стороны.

    Карточка Условие теперь должна выглядеть так:

    Снимок экрана: отображаемая карточка условия.

  5. Выберите Изменить в расширенном режиме.

    При открытии расширенного режима вы увидите в поле выражение @equals(body('Get_rows')?['value'], 0). Измените это выражение, добавив length() вокруг функции body('Get_items')?['value']. Теперь все выражение выглядит следующим образом: @equals(length(body('Get_rows')?['value']), 0)

    Карточка Условие теперь должна выглядеть так:

    Снимок экрана с обновленной карточкой условия.

    Совет

    Добавление функции length() позволяет потоку проверить список значений и определить, содержатся ли в нем какие-либо элементы.

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

Результат Следующий шаг
Элемент существует Обновление элемента
Элемент не существует Создание нового элемента

Заметка

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

Создание элемента в месте назначения

Если элемент не существует в месте назначения, создайте его с помощью действия SQL Server — вставить строку.

В ветви Если даусловия выполните следующее.

  1. Выберите Добавить действие, найдите пункт вставить строку, а затем выберите SQL Server — вставить строку.

    Откроется карточка Вставить строку.

  2. В списке Имя таблицы выберите таблицу, в которую будет вставлен новый элемент.

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

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

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

    Карточка Вставить строку теперь будет выглядеть так, как показано на этом снимке экрана:

    Снимок экрана карточки условия в новом состоянии.

Обновление элемента в месте назначения

Если элемент существует в месте назначения, обновите его, добавив необходимые изменения.

  1. Добавьте действие SQL Server — обновить строку в ветвь Если нетусловия.

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

    Снимок экрана элементов пункта назначения.

  3. В верхней части страницы введите имя вашей последовательности в поле Имя потока, а затем выберите Создать поток, чтобы ее сохранить.

Теперь всякий раз при изменении элемента в списке SharePoint (источник) поток будет срабатывать и либо вставлять новый элемент, либо обновлять существующий в базе данных SQL Azure (место назначения).

Заметка

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

См. также

Использование операций с данными