Power Automate: чтение журнала выполнений и поиск ошибок
Как правильно читать журнал выполнений в Power Automate и находить причину неудачного выполнения.
Поток выполняется не так, как ожидалось, но с первого взгляда редко понятно, в чём именно причина. Power Automate записывает каждое отдельное выполнение в журнале выполнений, включая время начала, длительность, статус и, в случае ошибки, точный шаг, на котором это произошло. Если вы знаете, где найти эту информацию и как её читать, обычно причину удаётся найти за несколько минут, а не после долгих проб и ошибок.
В этой статье показано, где открыть журнал выполнений в Power Automate, как пошагово прочитать неудачное выполнение и какие коды ошибок и ошибки выражений чаще всего встречаются на практике. Так вы сохраняете контроль над своими потоками, даже если что-то пойдёт не так.
Где найти журнал выполнений
Войдите на make.powerautomate.com и выберите слева Мои потоки. В строке нужного потока откройте поток напрямую либо через меню с тремя точками откройте страницу Сведения. Там вы найдёте раздел Журнал выполнений (в более старых интерфейсах также называемый 28-дневный журнал выполнений), в котором каждое выполнение отображается отдельной строкой с временем начала, длительностью и статусом. Зелёная галочка означает успех, красный восклицательный знак означает ошибку.
Важно знать: по умолчанию Power Automate хранит данные о выполнениях только 28 дней. Если ваш поток запускается редко или журнал должен оставаться доступным для анализа дольше, стоит обратить внимание на подробности об этом, потому что более старые выполнения иначе просто становится невозможно найти. Подробности об этом, включая возможность более длительного хранения журнала выполнений через Dataverse, Microsoft описывает в статье Отсутствует журнал выполнений или триггеров для потока.
Как пошагово прочитать неудачное выполнение
Щёлкните в списке по дате начала неудачного выполнения, чтобы перейти к подробному просмотру. Там весь поток отображается в виде цепочки действий, и как минимум один шаг отмечен красным восклицательным знаком. Это и есть фактическое место ошибки, все предыдущие действия выполнились успешно.
- Откройте отмеченный шаг щелчком, чтобы он развернулся.
- В правой области под Сведения вы увидите код состояния и конкретное сообщение об ошибке коннектора.
- Дополнительно проверьте вкладки Входные данные и Выходные данные предыдущих шагов, ведь зачастую фактическая причина кроется не в самом неудачном шаге, а в неверном или пустом значении, переданном откуда-то выше.
- Если ошибка возникает в блоке Scope, может оказаться, что несколько последующих действий помечены как «пропущено». Это нормально, ведь неудачный Scope прерывает все вложенные в него зависимые действия.
Для тех, кто предпочитает структурированный подход хаотичным щелчкам, Microsoft опубликовала своего рода дерево решений: в зависимости от того, не сохраняется ли поток вовсе, не запускается, действие завершается ошибкой или просто выдаёт неверный результат, статья Устранение неполадок с ошибками облачного потока ведёт к соответствующему разделу с конкретными шагами проверки.
Основные коды ошибок на одном экране
Большинство ошибок в неудачном действии можно приблизительно классифицировать по коду состояния ещё до того, как вы вообще прочитаете подробное сообщение об ошибке.
| Код | Значение | Первая проверка |
| --- | --- | --- |
| 401 | Ошибка аутентификации | Повторно аутентифицируйте подключение в разделе Подключения |
| 403 | Доступ запрещён | Проверьте разрешения на целевой ресурс, затем уточните политики DLP у администратора |
| 404 | Ресурс не найден | Список SharePoint, файл, почтовый ящик или конечная точка были переименованы, перемещены или удалены |
| 429 | Слишком много запросов (ограничение частоты) | Добавьте задержку или включите повтор с экспоненциальной задержкой в настройках действия |
| 500 / 502 | Ошибка сервера целевой службы | Обычно временная, повторите выполнение через Отправить повторно |
Коды в диапазоне 400 почти всегда указывают на проблему с вашей собственной конфигурацией, тогда как коды в диапазоне 500 скорее указывают на временную проблему у вызываемой службы и часто решаются простым повторением выполнения.
Распознавание и классификация ошибок выражений
В журнале выполнений особенно часто встречаются два сообщения об ошибках: «Invalid template» или «Unable to process template language expressions», а также «ExpressionEvaluationFailed». Оба означают, что выражение синтаксически некорректно либо во время выполнения ссылается на значение, которого вообще не существует. Типичные причины этого:
- Ссылка на динамическое содержимое из шага, который вообще не выполнялся из-за невыполненного условия.
- Неверный тип данных, например строка там, где ожидается число.
- Пустое или null-значение, которое обрабатывается дальше без защиты. Функция `coalesce()` или предварительная проверка `if(empty(...))` перехватывает это.
Если вместо этого журнал сообщает «ActionFailed. An action failed. No dependent actions succeeded.», фактическим триггером обычно является вышестоящий блок Scope. Вместо того чтобы по отдельности исследовать каждое из последующих действий, помеченных как неудачные, стоит целенаправленно искать первое неудачное действие внутри Scope, ведь именно там кроется фактическая причина.
Когда поток проходит, но результат неверен
Не каждая ошибка проявляется в виде красного восклицательного знака. Иногда поток проходит полностью зелёным, но в итоге получается неверный результат, например неотправленное письмо об одобрении или неверно заполненное поле. В этом случае классический взгляд на красные ошибки не поможет, вместо этого нужно пройти по каждому действию отдельно и сравнить входные данные с выходными.
- В условиях проверяйте фактически сравниваемые значения. Частые ловушки — начальные пробелы, различие регистра («Утверждено» против «утверждено») или числовое значение, поступающее в виде строки.
- В цикле Применить к каждому стоит обратить внимание на входные данные, по которым проходит цикл. Если массив содержит больше или меньше элементов, чем ожидалось, проблема обычно кроется уже в предшествующем шаге получения данных.
- Если поток обновляет запись и сразу же считывает её заново, может потребоваться небольшая задержка в несколько секунд между записью и чтением, чтобы не возвращались устаревшие данные.
- Для целенаправленной отладки помогают вставленные в ключевых местах потока действия Compose. Они выводят именно то значение, которое вы хотите проверить, и впоследствии доступны для просмотра в журнале выполнений, не изменяя сам поток.
Эти и другие сценарии, включая конкретные примеры ошибок аутентификации и устранения неполадок с помощью Copilot в новом конструкторе, Microsoft подробно описывает в статье Устранение неполадок облачного потока.
Когда стоит заглянуть в сообщество
Не каждое сообщение об ошибке однозначно, особенно при необычных сочетаниях коннектора и источника данных. В таких случаях обычно быстрее скопировать точный текст ошибки и поискать его на форумах сообщества Power Automate на powerusers.microsoft.com, вместо того чтобы самостоятельно перебирать все возможные причины. Часто кто-то другой уже публиковал точно такое же сообщение об ошибке и находил рабочее решение.
Тот, кто регулярно просматривает журнал выполнений, быстро развивает чутьё на то, какие ошибки безобидны, а какие структурны. Тому, кто предпочитает опытный взгляд со стороны или хочет с самого начала настроить поток надёжно, поможет консультация NordFlux по Power Automate — единая точка контакта с фиксированной ценой вместо почасовой оплаты.
Часто задаваемые вопросы
Как долго неудачное выполнение остаётся видимым в журнале выполнений?
По умолчанию 28 дней. После этого выполнение исчезает из обычного журнала выполнений, даже если сам поток продолжает существовать. Тому, кому нужна более длительная прослеживаемость, можно сохранять журнал выполнений через подключение Dataverse или вручную документировать детали ошибок до их удаления.
Почему несколько шагов после фактической ошибки помечены как пропущенные?
Обычно это происходит, когда ошибка возникает внутри блока Scope. Если действие внутри него завершается ошибкой, все зависящие от него последующие действия в этом же блоке автоматически прерываются и отображаются как пропущенные. Фактическая причина почти всегда кроется в первом неудачном действии внутри Scope.
Что означает код ошибки 429 в журнале выполнений?
Код 429 указывает, что вызываемая служба получила слишком много запросов за слишком короткое время и поэтому отклоняет запрос. Обычно помогает небольшая задержка перед затронутым шагом или включённая логика повторов с экспоненциальной задержкой в настройках действия.
Поток проходит зелёным, но ничего видимого не происходит. В чём причина?
В этом случае обычно речь идёт не о технической ошибке, а о логической проблеме, например об условии, которое оценивается иначе, чем задумано, или о цикле, который сталкивается с пустым массивом. Здесь помогает открыть каждое действие в журнале по отдельности и сравнить фактические входные и выходные данные с ожиданиями.
Нужно ли перезапускать весь поток при каждом неудачном выполнении?
Нет. В подробном просмотре неудачного выполнения доступна опция Отправить повторно. Она повторяет выполнение с теми же входными данными, как только вы устраните основную причину, например повторно аутентифицируете подключение или исправите ошибочное действие.
NordFlux UG (haftungsbeschränkt)
NordFlux создаёт цифровых сотрудников для организаций: автоматизации и КИ-агентов, которые берут на себя повторяющуюся работу. Вы сохраняете контроль.
Конкретные вопросы по автоматизации или КИ?
В рамках бесплатного первичного анализа мы напрямую обсудим Ваш случай. Без обязательств.