manually-removing-concurrency-control-flow-a-power-automate-flow

Ручное снятие ограничений контроля параллелизма с потока Power Automate

Adam MaurerTechnical Leave a Comment

Ключевой особенностью Flows является возможность ограничить одновременное выполнение нескольких потоков для данного конкретного потока. Степень параллелизма может быть установлена в диапазоне от 1 до 100, что позволяет предотвратить перегрузку API, повысить производительность и улучшить целостность данных. Это особенно полезно для предотвращения дублирования триггеров. Например, если ваш триггер - это Webhook, который может срабатывать несколько раз, и нет уникальных идентификаторов, чтобы отсеять дубликаты Webhook, вы можете включить Concurrency Control Limits в паре с записью информации из Webhook в файл Excel или базу данных и создать условие для проверки, существуют ли уже эти данные, прежде чем продолжить работу с потоком.
Image

Однако, как только эта функция включается, назад дороги уже нет... до сих пор!

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

Возможно, вы также стали жертвой того, что поток больше не срабатывает после установки Concurrency Control в значение On, и вы просто хотите вернуть его к тому состоянию, в котором он будет срабатывать. Известны случаи, когда поток отмечался как потенциально содержащий круговой цикл, и при сохранении потока вы получали следующее уведомление: Your flow was saved, but with a warning: Ваш поток может иметь круговую петлю. Действия в этом потоке могут привести к бесконечному циклу срабатывания. Убедитесь, что вы добавили соответствующие условные проверки, чтобы предотвратить самопроизвольное срабатывание этого потока.

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

К счастью, есть решение, требующее минимальных усилий: вы можете экспортировать Flow в .zip-файл, вручную обновить файл definition.json и импортировать его как новый Flow.

Экспорт потока

Это довольно простой процесс, экспорт потока выполняется на странице подробностей самого потока. Выберите Экспорт затем Пакет (.zip).

Image
Дайте пакету имя и выберите Экспорт.
Image
Откройте файл .zip, загруженный на ваш компьютер, и Извлечь все содержимое в выбранное вами место.
Image

Редактирование потока


Из извлеченного содержимого перейдите в раздел Microsoft.Flow -> потоки -> уникальный идентификатор папки потока -> затем откройте definition.json.

ImageImageImageImage
Используя выбранную вами программу для изменения файла definition.json, выполните поиск (Ctrl + F) по термину "conditions", а затем удалите из кода следующий фрагмент:
,
"условия": [],
"runtimeConfiguration": { "concurrency": { "runs": 1 } }

Сохраните файл definition.json, перезаписав извлеченный файл definition.json. Убедитесь, что изменения вступили в силу. Если нет, то, скорее всего, вы пытались сохранить поверх файла definition.json в .zip-файле, а не в файле, который был извлечено из файла .zip.

Теперь вернитесь к основному содержимому извлеченного файла .zip, выделите папку и файл, щелкните правой кнопкой мыши и выберите Сжать в ZIP-файл. Дайте только что созданному файлу .zip имя по своему усмотрению.

ImageImage

Импортирование потока

Теперь вы готовы импортировать исправленный поток без ограничений контроля параллелизма обратно в Power Automate.

Перейдите в раздел Мои потоки -> выберите Импорт выпадающий список -> затем выберите Пакет импорта (Legacy).

Image
Выберите Загрузить -> Выберите новый .zip-файл, который вы только что создали -> затем выберите Открыть.
Image
Пройдите все необходимые этапы импорта, чтобы убедиться, что все соединения установлены. Все восклицательные знаки нужно превратить в крестики, как показано ниже.
Image

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

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

Адам

Адам Маурер

Главный операционный директор в Connecting Software

Автор:

Я являюсь операционным директором компании Connecting Software, управляя повседневной деятельностью на различных предприятиях. Я увлечен постоянным совершенствованием и повышением эффективности. Если вы хотите присоединиться к нашей замечательной команде в Словакии или на Мадейре, пожалуйста, свяжитесь со мной.

Добавить комментарий

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

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.