Препратка към код на грешка в поток в облака

Използвайте тази статия, за да отстраните най-често срещаните грешки в Power Automate потоци в облака. Всеки запис обяснява какво означава грешката, защо се случва и как да я коригирате.

Бележка

Тази препратка се отнася за всички нива на лиценз за поток в облака на Power Automate. Научете за грешките, специфични за потоците на работния плот, в Отстраняване на грешки в потока на работния плот.

Грешки по време на проектиране

Тези грешки възникват, когато записвате, проверявате или публикувате поток.

Невалиден шаблон

Какво означава: Дефиницията на потока съдържа синтактична грешка в израз или конфигурация на действие.

Често срещани причини:

  • Несъответстващи скоби или кавички в израз
  • Препращане към резултат от действие, което не съществува (правописна грешка в името на действието)
  • Използване на функция с грешен брой аргументи (например createArray() без аргументи)
  • Несъответствие на типове в константа на израз (например int('abc') или div(100, 0))– ядрото ги проверява при спестяване на време
  • Copy-pasting expressions from documentation, that includes invisible Unicode characters

Как да коригирате:

  1. Отворете действието, осветено в червено в конструктора.
  2. Проверете израза в лентата за формули. Потърсете несъвпадащи () знаци или ' знаци.
  3. Проверете дали имената на действията в изразите съвпадат точно (с различаване на главните и малките букви): outputs('Get_item') не outputs('Get Item').
  4. Ако изразът изглежда правилно, изтрийте го и го въведете отново ръчно, за да премахнете скритите знаци.

Съвет

Имената на действията в изразите използват знаци за подчертаване вместо интервали. Ако вашето действие е с име "Получаване на елемент", препратката към израза е outputs('Get_item').

Свързана информация: ExpressionEvaluationFailed, FlowCheckerError

FlowCheckerError

Какво означава: Програмата за проверка на потока е намерила един или повече проблеми при проверката, които пречат на записването.

Често срещани причини:

  • Задължителното поле е празно с едно или повече действия
  • Не е избрана връзка за действие на конектор
  • Израз препраща към стойност на динамично съдържание от паралелно разклонение (не е гарантирано, че съществува)
  • Входните данни за превключвателя са непълни

Как да коригирате:

  1. Изберете банера за грешка в горната част на конструктора, за да се покаже пълният списък с проблеми.
  2. Изберете всяка грешка, за да достигнете до засегнатото действие.
  3. Попълнете задължителните полета, коригирайте повредени изрази и изберете връзки.
  4. "Запиши отново". Програмата за проверка се изпълнява автоматично при записване.

Свързана информация: InvalidTemplate, MissingRequiredProperty

ДублираноИме на действие

Какво означава: Две или повече действия в потока имат едно и също вътрешно име.

Често срещани причини:

  • Копиране и поставяне на действие, без да се преименува
  • Импортиране на дефиниция на поток, която е редактирана ръчно с дублиращи се клавиши
  • Преименуване на действие с име, което вече е използвано от друго действие в същия обхват

Как да коригирате:

  1. Търсене в потока за действия с идентични имена (проверете вътре Apply to Each и Scope контейнерите също).
  2. Преименувайте един от дубликатите. Изберете менюто ... в действието, след което изберете Преименуване.
  3. Актуализирайте всички изрази, които препращат към преименуваното действие: outputs('Old_Name') на outputs('New_Name').

Свързана информация: Невалиден шаблон

MissingRequiredProperty

Какво означава: Задължителното входно поле на действие или превключвател е празно.

Често срещани причини:

  • Добавяне на действие на конектор, но не и завършване на конфигурацията
  • В задължително поле е използван маркер за динамично съдържание, който е разрешен като празен
  • Поток, импортиран от решение, при което не са зададени променливи на средата

Как да коригирате:

  1. Отворете действието, маркирано с флаг с грешката.
  2. Потърсете полета, маркирани с червена звездичка (*), които са празни.
  3. Попълнете задължителната стойност със статичен текст или маркер за динамично съдържание.
  4. За потоци на решения проверете дали всички променливи на средата имат стойности в целевата среда.

Свързана информация: FlowCheckerError

Грешки в изрази за време на изпълнение

Тези грешки възникват, когато се изпълнява поток и не може да се оцени израз.

ExpressionEvaluationFailed

Какво означава:

Неуспешна оценка на израз по време на изпълнение, защото действителните данни не съответстват на това, което се очаква от израза. Тази грешка възниква само когато изразът използва динамични стойности (променливи, основен текст на превключвателя, изходи на действия), които не могат да бъдат проверени при спестяване на време.

Бележка

Ако даден израз използва само константни стойности (като int('abc') или div(100, 0)), вместо това ядрото на потока улавя грешката по време на записването като InvalidTemplate .

Често срещани причини:

  • Извикване int() на променлива, която съдържа нечислен низ по време на изпълнение
  • Достъп до свойство в обект Null (outputs('Get_item')?['body/title'] когато Get_item не върна нищо)
  • Несъответствие на формата на датата във formatDateTime() или parseDateTime() когато форматът идва от променлива
  • Деление на нула, когато делителят е динамична стойност, която се случва да бъде 0

Как да коригирате:

  1. Отворете неуспешното изпълнение и изберете неуспешното действие за показване на израза и входните стойности.
  2. Пренасяне на рискови изрази с празни проверки: if(empty(triggerBody()?['value']), 'default', triggerBody()?['value']).
  3. Използвайте coalesce() , за да предоставите резервни стойности: coalesce(outputs('Get_item')?['body/title'], 'Untitled').
  4. Проверка на типовете данни преди конвертиране: if(isInt(variables('input')), int(variables('input')), 0).

Съвет

Научете повече за библиотека с готови за използване модели на изрази с нулева безопасност при работа в готварската книга за изрази за потоци в облака.

Свързана информация: InvalidTemplate, ContentConversionFailed

ContentConversionFailed

Какво означава: Потокът не можа да преобразува данни от един тип в друг между действия.

Често срещани причини:

  • Преминаване на низ, където се очаква цяло число или булева стойност
  • Изпращане на масив в действие, което очаква един обект
  • Низ за дата в неочакван формат (например DD/MM/YYYY кога MM/DD/YYYY се очаква)
  • Двоично съдържание (файл), предадено на въвеждане на текст

Как да коригирате:

  1. Проверете входните данни за неуспешното действие в хронологията на изпълнение. Сравнете типа на действителната стойност с това, което очаква действието.
  2. Използване на явни функции за конвертиране: int(), float(), string(), bool(), json().
  3. За дати използвайте parseDateTime() с изрична езикова променлива или formatDateTime() за нормализиране, преди да преминете.
  4. За масиви използвайте first() , за да извлечете отделен елемент, ако действието надолу по веригата очаква една стойност.

Свързана информация: ExpressionEvaluationFailed

Грешки при свързване и удостоверяване

Тези грешки възникват, когато потокът не може да се удостовери в свързана услуга.

InvalidConnection

Какво означава: Препратка към връзка в потока сочи към връзка, която е прекъсната, изтрита или с изтекъл срок.

Често срещани причини:

  • Потребителят, създал връзката, е променил паролата си или е нулирал многофакторното удостоверяване
  • Връзката е изтрита от страницата "Връзки"
  • Администратор е премахнал връзката чрез центъра за администриране на Платформата Power
  • Потокът е импортиран в среда, в която връзката не съществува

Как да коригирате:

  1. Отваряне на потока в режим на редактиране. Действията със повредени връзки показват икона с предупреждение.
  2. Изберете действието и изберете Промяна на връзката или Добавяне на нова връзка.
  3. Влезте със съответните идентификационни данни, за да създадете нова връзка.
  4. Запазете и тествайте потока.

Важно

За производствени потоци помислете за използване на връзки на главен субект на услуга вместо лични потребителски връзки. Срокът на основните връзки на услугата не изтича, когато потребителят промени паролата си или напусне организацията.

Свързана информация: ConnectionNotConfigured, ConnectionAuthorizationFailed

ConnectionNotConfigured

Какво означава: Действие изисква връзка, но никое не е избрано.

Често срещани причини:

  • Потокът е импортиран от решение и препратките към връзка не са нанесени
  • Добавено е ново действие, но стъпката на връзката е пропусната
  • Препратката към връзка сочи към променлива на средата без стойност

Как да коригирате:

  1. Отворете потока в режим на редактиране и намерете действието с предупреждението за връзката.
  2. Изберете съществуваща връзка от падащото меню или създайте нова.
  3. За потоци на решения отидете наПрепратки към връзка с>>по подразбиране.
  4. Задайте връзката за всяка препратка.

Свързана информация: InvalidConnection

Неупълномощено (401)

Какво означава: API отхвърли искането, защото маркерът за удостоверяване е невалиден или е изтекъл.

Често срещани причини:

  • Маркерът за OAuth е изтекъл и връзката не можа да се обнови автоматично
  • Потребителският акаунт е забранен или паролата е променена
  • Срокът на основната тайна на услугата или сертификатът е изтекъл
  • Правилата за условен достъп блокираха влизането (географско местоположение, съответствие на устройството)

Как да коригирате:

  1. Отидете на Power Automate>Connections и намерете връзката, използвана от неуспешното действие.
  2. Ако връзката показва предупреждение, изберете Коригиране на връзката и повторно удостоверяване.
  3. За основни връзки на услугата завъртете тайната в Microsoft Entra ID и актуализирайте връзката.
  4. Проверете Microsoft Entra ID регистрационните файлове за влизане за блокове с условен достъп: Azure portal>Microsoft Entra ID>Влизане регистрационни файлове филтрирайте по името на приложението.

Свързана информация: Забранено (403), ConnectionAuthorizationFailed

Забранено (403)

Какво означава: Удостоверен потребител или приложение няма разрешение да изпълнява исканата операция.

Често срещани причини:

  • Правилата за DLP (защита от загуба на данни) блокират действието на конектора или конектора в тази среда
  • Потребителят няма разрешения за целевия ресурс (например няма достъп за писане до SharePoint list)
  • Администратор е ограничил конектора чрез настройките на ниво клиент
  • Конекторът изисква премиен лиценз и потребителят е на заден план

Как да коригирате:

  1. Проверете DLP правилата:Правила за данни в > за администриране на Power Platform. Потърсете правила, които блокират конектора в групата на вашата среда.
  2. Проверете дали потребителят на връзката има правилните разрешения за целевата услуга (SharePoint разрешения за сайт, права за достъп dataverse и други подобни).
  3. Ако това е проблем с премийния конектор, проверете дали собственикът на потока или повикващият има лиценз за Power Automate Premium.
  4. Обърнете се към вашия администратор, ако DLP правила трябва да бъдат променени.

Свързана информация: Неупълномощена (401), DirectApiAuthorizationRequired

ConnectionAuthorizationFailed

Какво означава това: Връзката съществува, но съхранените й идентификационни данни вече не са валидни.

Често срещани причини:

  • Паролата на потребителя е променена или MFA методът е нулиран
  • Маркерът за обновяване на OAuth е изтекъл (често с неизползвани връзки за 90+ дни)
  • Администраторът е анулирал съгласието си за приложението в Microsoft Entra ID
  • Споделената връзка не е споделена от собственика

Как да коригирате:

  1. Отворете Power Automate>Connections.
  2. Намерете засегнатата връзка.
  3. Изберете връзката и след това изберете Коригиране на връзката за повторно удостоверяване.
  4. Ако използвате споделена връзка, помолете собственика на връзката да я сподели отново.
  5. За акаунти за услуги задайте напомняне в календара, за да завъртите идентификационните данни, преди да изтече срокът им.

Съвет

Намерете подробен урок за проблеми с връзката по конектор (SharePoint, Outlook, SQL Server, Dataverse, HTTP) в Корекции на връзката в потоци в облака.

Свързана информация: InvalidConnection, неупълномощен (401)

Грешки в конектор и API

Тези грешки идват от услугата надолу по веригата, която потокът извиква.

С премахнати действия

Какво означава: Действие върна състояние на неуспех. Това е обща обвивка. Подробните данни за действителната грешка са в основния текст на резултата от действието.

Често срещани причини:

  • API надолу по веригата върна грешка 4xx или 5xx
  • Дъщерен поток (наречен чрез "Изпълнение на дъщерен поток") е неуспешен
  • Конектор по избор върна неочакван формат на отговор
  • Настройките за конфигуриране на изпълнение след действието са го накарали да се изпълни след предишна грешка

Как да коригирате:

  1. Отворете неуспешното изпълнение и изберете неуспешното действие.
  2. Разгънете Изходи, за да покажете действителното съобщение за грешка и кода на състоянието от API.
  3. Коригирайте основния проблем въз основа на конкретната грешка в API (прегледайте записите 400, 401, 403 и 404 в тази препратка).
  4. Ако действието трябва да се изпълни дори когато предишните действия са неуспешни, проверете дали конфигурирането му се изпълнява след настройките.

Свързана информация: BadRequest (400), NotFound (404)

BadRequest (400)

Какво означава: API на конектора отхвърли искането, защото входните данни са неправилно формирани или невалидни.

Често срещани причини:

  • Изпращане на поле с грешен тип данни (низ вместо число, или обратно)
  • Липсват задължителни полета от основния текст на искането
  • Невалидни знаци в имена на файлове или заглавия на елементи от списък
  • Превишаване на ограничението за дължина на поле (например SharePoint текст с един ред = 255 знака)

Как да коригирате:

  1. Отворете неуспешното действие в хронологията на изпълнение и погледнете раздела Входове , за да покажете точно това, което е изпратено.
  2. Сравнете входните данни с очакваната схема на API (проверете документацията на конектора).
  3. Дезинфекцирайте въведеното от потребителя, replace() като премахвате невалидните знаци, преди да преминете към действието.
  4. Използвайте substring() или take() за да отрязвате дълги стойности до максималната дължина на полето.

Свързана информация: ActionFailed, ContentConversionFailed

NotFound (404)

Какво означава: Ресурсът, до който се опитва да получи достъп, не съществува.

Често срещани причини:

  • Преименуван или изтрит SharePoint list, библиотека или сайт
  • Премахната е Outlook папка или канал на Teams
  • Потокът препраща към твърдо кодиран ИД за ресурс, който вече не съществува
  • Таблицата или редът dataverse са изтрити от друг процес

Как да коригирате:

  1. Проверете дали ресурсът все още съществува в целевата услуга.
  2. Ако е преименуван, актуализирайте действието, за да използвате новото име или ИД.
  3. Заместете твърдо кодираните идентификатори с динамични справки, където е възможно (например "Получаване на елементи" с филтър вместо "Получаване на елемент" със статичен ИД).
  4. Добавяне на обработване на грешки: конфигурирайте следващото действие за изпълнение, след>като е неуспешно , и обработи 404 грациозно.

Свързана информация: ActionFailed

Активиране на грешки

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

TriggerConditionNotMet

Какво означава: Превключвателят е оценил състоянието си и е определил, че събитието не трябва да стартира изпълнение на поток.

Често срещани причини:

  • Израз за условие за активиране винаги дава резултат "неистина" (логическа грешка)
  • Условието за активиране препраща към поле, което не съществува в полезния обем на превключвателя
  • Събитието е възникнало, но данните не съвпадат с филтъра (например "Когато е създаден елемент" с условие "Състояние", но "Състояние" е празно)

Как да коригирате:

  1. Отидете в настройките на превключвателя и прегледайте израза за условие на активиране.
  2. Тествайте условието спрямо известен полезен обем на събитие. Използвайте кода за надникването на превключвателя, за да покажете суровата схема.
  3. Временно премахнете условието, активирайте потока ръчно и проверете резултата от превключвателя, за да проверите имената и стойностите на полетата.
  4. Коригирайте израза и разрешете отново условието.

Свързана информация: ExpressionEvaluationFailed

Грешки при изтичане на времето на изчакване и ограничаване

Тези грешки възникват, когато потокът или действието надвишават ограниченията за време или скорост.

ActionTimedOut

Какво означава: Едно действие надхвърли конфигурираното време на изчакване и е отменено.

Често срещани причини:

  • HTTP действие, извикващо бавен външен API с време на изчакване по подразбиране от 100 секунди
  • "Wait for an approval" with an expiration that passed
  • Качване или изтегляне на голям файл чрез бавна връзка
  • Заявка за обръщане на данни, връщаща твърде много редове без страниране

Как да коригирате:

  1. Отворете настройките на действието и увеличете стойността на времето на изчакване (например PT5M продължителност на времето на изчакване ISO 8601 за 5 минути).
  2. За HTTP действия проверете дали външният API има продължителен модел на операция (запитване с повторен опит след).
  3. За Dataverse добавете $filter и $top намалете набора от резултати.
  4. За одобрения задайте смислен срок на изтичане и добавете разклонение за изтичане на времето за изчакване, за да обработите неотговорилите.

Свързана информация: OperationTimedOut

OperationTimedOut

Какво означава: Дълго изпълняваща се операция (чакане на webhook, одобрение, HTTP запитване) надхвърли максималното време на изчакване.

Често срещани причини:

  • Действие на HTTP уеб човек, чакащо обратно повикване, което никога не е било върнато
  • Действие за одобрение без изтичане на срока, достигане на ограничението за 30-дневен поток
  • Действие "Delay until", зададено на дата след ограничението за продължителност на изпълнение от 30 дни
  • Външната услуга се изключи и никога не изпрати очаквания отговор

Как да коригирате:

  1. Винаги задавайте изрични времена на изчакване в webhook и действия за одобрение.
  2. За действия на HTTP webhook внедрете разклонение за изтичане на времето за изчакване с времето на изчакване на "Конфигуриране", след>като изтече времето за изчакване.
  3. Разделете дългите чакания на по-къси сегменти, като използвате цикъл с ежедневни проверки.
  4. За ограничението за 30-дневно изпълнение създайте нов дизайн на продължителните процеси, за да използвате шаблон за "предаване": Завършете текущото изпълнение и започнете ново състояние с предадено състояние чрез Dataverse или файл.

Важно

Потоците в облака имат максимална продължителност на изпълнение от 30 дни. За процеси, които отнемат повече време, ги разделете на няколко потока, изпълнявани със споделено състояние.

Свързана информация: ActionTimedOut

WorkflowRunActionRepetitionQuotaExceeded

Какво означава: Приложете към всеки цикъл надвишава максималния брой итерации (по подразбиране: 100 000 за премия, 5000 за профили за производителност).

Често срещани причини:

  • Обработка на голяма SharePoint list или таблица Dataverse без първо филтриране
  • Вложени Apply to Each цикли, които умножават итерации (100 x 100 = 10 000)
  • Действие Get items , което връща всички редове вместо филтрирано подмножество

Как да коригирате:

  1. Добавете филтри към действието на източника на данни, за да намалите броя на елементите преди цикъла.
  2. Използвайте OData $filter и $top при Получаване на действия за елементи, вместо да филтрирате вътре в цикъла.
  3. За големи набори от данни пакетиране работата в множество потоци се изпълнява с помощта на маркери за страниране или диапазони от дати.
  4. Помислете за използване Select или Filter array действия, вместо Apply to Each когато трябва само да трансформирате или филтрирате данни.

Свързана информация: FlowRunQuotaExceeded

FlowRunQuotaExceeded

Какво означава: Потокът или клиентът са надвишили дневния лимит за изпълнение на действието.

Често срещани причини:

  • Безлиценен лиценз: 6000 действия на ден на потребител
  • Премиен лиценз: 40 000 действия на ден на потребител
  • Лиценз за обработка: 250 000 действия на ден на поток
  • Циклично протичащ поток, който изразходва хиляди действия за изпълнение

Как да коригирате:

  1. Проверете текущото използване в центъра за администриране на платформата Power>Analytics>Power Automate.
  2. Оптимизирайте потоците, за да използвате по-малко действия: заместете Apply to Each (Приложи към всяко) с Избор/филтриране, пакетни операции, намаляване на честотата на запитване.
  3. Надстройте нивото на лиценза, ако работното натоварване законосъобразно се нуждае от повече капацитет.
  4. Разпределете работните натоварвания между множество потоци или планирайте голям обем да се изпълнява по време на ненатоварените часове.

Бележка

Научете повече за ограниченията за ежедневни действия по ниво лиценз в Power Automate ограничения и конфигурация.

Свързана информация: WorkflowRunActionRepetitionQuotaExceeded, DirectApiAuthorizationRequired

Грешки при лицензиране

DirectApiAuthorization Задължително

Какво означава: Потокът използва премиен конектор, но повикващият няма премиен лиценз.

Често срещани причини:

  • Поток с първокласни конектори (HTTP, SQL Server, Dataverse, конектори по избор) се изпълнява от потребител на зародиш Microsoft 365 лиценз
  • Собственикът на потока има premium, но потребителят, който задейства, не (лицензът на повикващия има значение, а не на собственика)
  • Собственик на планиран поток е загубил премийния си лиценз
  • Връзката на контекстния поток с неговото Power App е била разпределена, което го прави извън контекста

Как да коригирате:

  1. Определете кой конектор изисква premium. Съобщението за грешка обикновено го наименизира.
  2. Дайте лиценз за Power Automate Premium на потребителя, който задейства или изпълнява потока.
  3. За планирани или автоматизирани потоци се уверете, че собственикът на потока има премиен лиценз.
  4. Помислете дали лицензът за процес (по поток) е по-рентабилен за споделени потоци с голям обем.

Свързана информация: Забранено (403), FlowRunQuotaExceeded

Таблица за бързи справки

Грешка Категория Най-вероятната корекция
Невалиден шаблон Време за проектиране Коригиране на синтаксиса на изрази
ExpressionEvaluationFailed Времетраене Добавяне на проверки Null, проверка на типове
С премахнати действия Времетраене Проверка на изходите от действия за грешка в API
FlowCheckerError Време за проектиране Попълване на задължителни полета, коригиране на връзки
InvalidConnection Connection Повторно удостоверяване на връзката
ConnectionNotConfigured Connection Избор или създаване на връзка
Неупълномощено (401) Auth Коригиране на връзка, завъртане на идентификационни данни
Забранено (403) Auth Проверка на DLP правила, разрешения
BadRequest (400) API Проверка на формата на входните данни
NotFound (404) API Проверка дали ресурсът съществува, актуализирай препратките
TriggerConditionNotMet Активиране Преглед на израз за условие за активиране
ActionTimedOut Време на изчакване Увеличаване на времето на изчакване в настройките за действие
ДублираноИме на действие Време за проектиране Преименуване на едно от дублираните действия
MissingRequiredProperty Време за проектиране Попълване на задължителни полета
ContentConversionFailed Времетраене Използване на явни преобразувания на типове
WorkflowRunActionRepetitionQuotaExceeded Дроселиране Филтриране на данни преди циклично изпълнение
DirectApiAuthorization Задължително Лицензиране Даване на премиен лиценз на повикващия
FlowRunQuotaExceeded Дроселиране Оптимизиране на броя действия, надстройка на лиценза
ConnectionAuthorizationFailed Connection Коригиране на връзка, повторно удостоверяване
OperationTimedOut Време на изчакване Задаване на изрични времена на изчакване, използване на схема на предаване

Забележка: Авторът създаде тази статия с помощта на AI. Научете повече