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


Создание дочерних потоков

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

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

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

Вам понадобится решение с двумя потоками.

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

Создание дочернего потока в решении

  1. Войдите в Power Automate, выберите Решения, а затем выберите существующее решение.

    Кроме того, вы можете создать решение, если не хотите использовать существующее решение.

  2. Выберите Создать>Автоматизация>Облачный поток>Мгновенный.

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

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

  4. Выберите триггер Активировать поток вручную.

  5. Выберите Создать.

  6. Выберите Добавить входные данные.

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

  7. В этом пошаговом руководстве дочерний поток создает контакт, поэтому ему нужны поля ввода для Имя контакта и Электронная почта контакта. Добавьте ввод ContactName и ContactEmail в карточку Активировать поток вручную.

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

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

    i. Ответить на Power App или поток (под соединителем Power Apps).

    ii. Ответ (в премиальном соединителе запросов/ответов HTTP).

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

    Снимок экрана с ответом дочернего потока.

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

  10. Наконец, если ваш поток использует что-то кроме встроенных действий или соединителя Microsoft Dataverse, вам нужно обновить поток, чтобы использовать соединения, встроенные в поток. Для этого перейдите на страницу свойств дочернего потока и выберите Редактировать на плитке Пользователи только с правом запуска.

  11. На появившейся панели для каждого соединения, используемого в потоке, вам нужно будет выбрать Использовать это соединение (<имя соединения>) вместо Предоставляется пользователем только для запуска.

  12. Выберите Сохранить.

    Заметка

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

Создание родительского потока в решении

  1. Создайте родительский поток в том же решении, в котором вы создали дочерний поток.

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

  2. Найдите место в своем родительском потоке, из которого вы хотите вызвать дочерний поток, затем добавьте действие Запустить дочерний поток, расположенное под соединителем Потоки на вкладке Встроенный.

  3. Выберите дочерний поток, созданный ранее.

    Заметка

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

    Выберите дочерний поток для запуска.

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

    Поля ввода.

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

  5. Сохраните и протестируйте этот поток.

    Совет

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

Известная проблема

Мы работаем над устранением следующих известных проблем и ограничений.

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