Рекомендации по обновлению потока, используемого приложением Power App
В этой статье описаны рекомендации и шаги по устранению распространенных ошибок при запуске потоков Майкрософт в Power Apps.
Область применения: Power Apps
Исходный номер базы знаний: 4477072
Код ошибки "InvokerConnectionOverrideFailed" во время выполнения потока
Некоторые потоки не выполняются в Power Apps. В журнале выполнения потока или телеметрии Power Apps может появиться сообщение об ошибке, похожей на следующее:
{
"code": "InvokerConnectionOverrideFailed",
"message": "Failed to parse invoker connections from trigger 'manual' outputs. Exception: Could not find any valid connection for connection reference name '<some_connection>' in APIM tokens header."
}
Примечание.
Эта ошибка также возникает при вызове install
API в Common Data Service (CDS), но ответ является универсальной ошибкой "Ошибка установки потока".
Причина
Эта проблема возникает, так как поток был обновлен для использования нового подключения, но приложение по-прежнему использует старые метаданные потока. Обновление потока не обновляет приложения, использующие поток. Чтобы устранить эту проблему, необходимо вручную обновить приложение, чтобы изменения отображались в приложении и для работы потока.
Шаги по устранению
Примечание.
Выполните следующие действия в исходной или среде разработки и обновите решение. После обновления решения импортируйте его во все целевые или рабочие среды.
- Откройте приложение для редактирования с помощью последней версии Power Apps Studio.
- Удалите потоки из приложения (удаление потоков с вкладки Power Automate).
- Повторно добавьте потоки в приложение.
- Сохраните и повторно опубликуйте приложение.
Код ошибки "ConnectionAuthorizationFailed" в выполнении потока
{
"code": "ConnectionAuthorizationFailed",
"message": "The caller with object id '{user_id}' does not have the minimum required permission to perform the requested operation on connection '{some_connection_id}' under API '{some_connection_api}'."
}
Причина
Эта ошибка означает, что хотя производитель имеет разрешения на поток, создатель не имеет разрешений на зависимые подключения, используемые в действиях потока. Это ограничение интеграции Power Apps и Flow.
Шаги по устранению
Примечание.
Выполните следующие действия в исходной или среде разработки и обновите решение. После обновления решения импортируйте его во все целевые или рабочие среды.
Это позволяет использовать все подключения в потоке, принадлежащие одному пользователю, а затем добавить этот поток в приложение.
Код ошибки "WorkflowTriggerIsNotEnabled" во время выполнения потока
{
"code": "WorkflowTriggerIsNotEnabled",
"message": "Could not execute workflow '<GUID>' trigger 'manual' with state 'Disabled': trigger is not enabled."
}
Причина
Эта ошибка означает, что поток отключен.
Шаги по устранению
Примечание.
Выполните следующие действия в исходной или среде разработки и обновите решение. После обновления решения импортируйте его во все целевые или рабочие среды.
Устранение рисков заключается в включении потока.
Код внутренней ошибки "ResponseTimeout" во время выполнения потока
{
"error": {
"code": 504,
"source": "<api hub source>",
"clientRequestId": "<GUID>",
"message": "BadGateway",
"innerError": {
"error": {
"code": "ResponseTimeout",
"message": "The server did not receive a timely response from the upstream server. Request tracking id '<some_tracking_id>'."
}
}
}
}
Причина
Эта ошибка означает, что синхронный поток занимает больше 120 секунд (2 минуты), что приводит к истечении времени ожидания. Дополнительные сведения об ограничении времени ожидания исходящего синхронного запроса.
Шаги по устранению
Примечание.
Выполните следующие действия в исходной или среде разработки и обновите решение. После обновления решения импортируйте его во все целевые или рабочие среды.
Устранение неполадок заключается в том, чтобы найти, какой поток выполняется слишком долго , и оптимизировать его для выполнения в течение двух минут с помощью разрешений, предоставленных в разделе "Устранение неполадок медленных потоков".
Код ошибки "0x80040265" или "0x80048d0b" при выполнении потока
{
"code": " 0x80040265",
"message": "Failed to install the flow."
}
{
"code": " 0x80048d0b",
"message": "Failed to install the flow."
}
Шаги по устранению
Примечание.
Выполните следующие действия в исходной или среде разработки и обновите решение. После обновления решения импортируйте его во все целевые или рабочие среды.
Попробуйте использовать решения, упомянутые для одного из следующих кодов ошибок:
Код ошибки "MissingConnectionReference" во время выполнения потока
{
"code": " MissingConnectionReference' ",
"message": " Connection reference '<connection name>' was not given by invoker."
}
Пример ошибки
Ссылка на подключение "<имя> подключения" не была предоставлена вызывающим методом.
Причина
По сути, метаданные приложения и потока должны быть синхронизированы. Любые изменения, внесенные в поток, требуют от разработчика приложений изменять приложения с помощью потока и удалять или повторно добавлять измененный поток.
Для приложений или потоков решения приложение может успешно вызвать поток в исходной среде, а затем завершиться сбоем в целевой среде с этим сообщением об ошибке:
Подключение не настроено для этой службы.
Причина заключается в том, что в целевой среде может быть изменен поток, но он не существует в исходной среде.
Шаги по устранению
Примечание.
Выполните следующие действия в исходной или среде разработки и обновите решение. После обновления решения импортируйте его во все целевые или рабочие среды.
В исходной среде измените приложение. Удалите и повторно добавьте потоки в приложение. Сохраните и опубликуйте изменения.
В целевой среде удалите все неуправляемые слои в приложении и потоке.
Экспортируйте решение и импортируйте его в целевую среду.
Примечание.
В потоке или приложении не может быть неуправляемых слоев, так как это может привести к проблемам в подключении к потоку.
Код ошибки "NotAllowedConnectionReferenceon" во время выполнения потока
{
"code": " NotAllowedConnectionReference",
"message": "Connection reference '<connection name>' was not given by invoker."
}
Пример ошибки
Ссылка на подключение "<имя> подключения" не была предоставлена вызывающим методом.
Причина
Эта ошибка означает, что приложение имеет метаданные потока, указывающие, что для установки требуется подключение SQL, но фактические метаданные потока отличаются.
Шаги по устранению
Примечание.
Выполните следующие действия в исходной или среде разработки и обновите решение. После обновления решения импортируйте его во все целевые или рабочие среды.
Вариант устранения рисков 1
В исходной среде измените приложение. Удалите и повторно добавьте потоки в приложение. Сохраните и опубликуйте изменения.
В целевой среде удалите все неуправляемые слои в приложении и потоке.
Экспортируйте решение и импортируйте его в целевую среду.
Примечание.
В потоке или приложении не может быть неуправляемых слоев, так как это может привести к проблемам в подключении к потоку.
Вариант устранения рисков 2
- Измените подключение с Embedded на Invoker.
- Перейдите на портал потока, чтобы изменить и обновить параметры потока.
- На странице сведений о потоке в разделе Пользователи только с правом запуска выберите Изменить.
- Чтобы обновить источник подключения потока к invoker, выберите "Предоставить только для запуска" и сохраните его.
- Чтобы обновить источник подключения потока на Embedded, выберите "Использовать это подключение" и сохраните его.
- Проверьте, активировав поток. Вы видите, что вызовы "сети потока установки" теперь выполняются успешно.
Другие симптомы
После обновления потока вызовы этого потока из Power Apps начинаются сбоем.
Если новые входные данные добавляются в поток без обновления Приложения Power App, поток завершится ошибкой с сообщением об ошибке, которое напоминает следующее:
Не удается обработать выражения языка шаблона в действии "Send_me_a_mobile_notification" входных данных в строке "1" и столбце "1900": "Выражение языка шаблона "triggerBody()['Sendmeamobilenotification_Text']" не может быть оценено, так как свойство "Sendmeamobilenotification_Text" не может быть выбрано. Дополнительные сведения об использовании см. в разделе
https://aka.ms/logicexpressions
"Сведения об использовании".Если подключения, необходимые для выполнения изменения потока, появится ошибка, жалующаяся на подключения:
В Power Apps может выглядеть следующим образом:
Или в Flow может выглядеть следующим образом:
Не удается обработать выражения языка шаблона в действии "Send_an_email" входных данных в строке "1" и столбце "1899": "Выражение языка шаблона "json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Token'])['$connections']['shared_office365']['connectionId']] невозможно оценить, так как свойство "shared_office365" не существует, доступные свойства : "shared_flowpush". Дополнительные сведения об использовании см. в разделе
https://aka.ms/logicexpressions
"Сведения об использовании".Если выходные данные ответа удалены, Power Apps будет рассматривать значение как пустое, и Приложение Power App будет вести себя неожиданно.
Причина
Чтобы вызвать поток из Power Apps, Power Apps должен знать, какие входные данные требуются потоку, какие подключения предоставляются потоку, а также какие выходные данные будут возвращать поток. Power Apps хранит эти сведения в определении приложения Power, которое создает привязку между версией Power App и потоками, используемыми в нем. Изменение любого из этих трех аспектов потока может нарушить все предыдущие версии Power Apps, которые интегрируются с этим потоком. Чтобы исправить затронутое приложение Power App или использовать одно из этих изменений потока, необходимо обновить приложение Power.
Типы изменений, скорее всего, прерывают возможность вызова потока Power Apps:
Добавление нового маркера Ask в Power Apps.
Добавление нового подключения. Например, добавив новое действие из соединителя, который ранее не использовался, как соединитель SharePoint.
Изменение существующего подключения. Например, изменение существующего подключения к новому подключению.
Удаление выходных данных из действия Реагирования на действие Power Apps.
Другие изменения входных или выходных данных не прерывают интеграцию между Power Apps и Flow, но требуют обновления приложения Power App, чтобы использовать их.
Решение
Изменение динамического приложения Power App
После публикации Power App всегда рекомендуется создавать копии потоков, используемых Power Apps для внесения обновлений. Любое обновление потока, на который ссылается динамическое приложение Power App, может нарушить существующие пользователи. Не удалять или отключать существующие потоки до тех пор, пока все пользователи не будут обновлены до новой опубликованной версии Power App.
В новой версии Приложения Power App со ссылкой на новые потоки. После публикации новой версии Power App пользователи начнут использовать новые потоки с правильными входными данными, выходными данными и подключениями. Это позволит предотвратить обновление потока для новых версий Power Apps, влияющих на пользователей существующей версии.
Изменение версии разработки Power App
При разработке Power App внесение изменений в поток, который не используется динамической версией Приложения Power App, легко. После внесения изменений в входные данные, выходные данные или подключения неопубликуемого потока повторно выберите поток из области "Потоки ".
Он обновит определение потока в Power App, проверяя, что правильные входные, выходные данные и подключения используются в Приложении Power App.
Пользователи Power App не начнут использовать новые потоки, пока приложение Power App не будет опубликовано. Таким образом, обновление существующего потока в порядке, пока оно не будет использоваться динамической версией Power App.