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


Устранение неполадок интеграции потока Power Apps

Область применения: Power Apps
Исходный номер базы знаний: 4477072

При интеграции потоков Power Automate с Power Apps могут возникнуть ошибки ссылки на подключения, ошибки авторизации или триггеры, которые не срабатывают, что приводит к сбою потока. Эта статья поможет устранить эти проблемы и предоставляет рекомендации по управлению обновлениями потока.

Ошибки интеграции потока обычно возникают при:

  • Метаданные потока перестают синхронизироваться с приложением
  • Недостаточно разрешений подключения или неправильно настроены
  • Потоки отключены или время ожидания истекло
  • Определения потоков изменяются после развертывания приложения

В этом документе рассматриваются следующие коды ошибок, а также их причины и стратегии устранения рисков:

Код ошибки "InvokerConnectionOverrideFailed" в процессе выполнения потока Power Automate

Некоторые потоки Power Automate могут не выполняться в Power Apps, и может появиться ошибка, аналогичная следующей в журнале выполнения потока Power Automate или телеметрии 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." 
    }

Примечание.

Эта ошибка также может возникать при вызове API установки в Dataverse (прежнее название — Common Data Service), что приводит к универсальному сообщению об ошибке : "Сбой потока установки".

Причина

Эта проблема возникает при обновлении потока Power Automate для использования нового подключения, но приложение по-прежнему использует старые метаданные потока. Несмотря на обновление потока, приложения, ссылающиеся на поток, по-прежнему сохраняют предыдущие метаданные потока.

Шаги по устранению

Примечание.

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

Чтобы устранить эту ошибку, вручную измените приложение, чтобы изменения отображались в приложении, а поток работает.

  1. Откройте приложение для редактирования с помощью последней версии Power Apps Studio.
  2. Удалите потоки Power Automate из приложения.
  3. Считывал потоки в приложение.
  4. Сохраните и повторно опубликуйте приложение.

Код ошибки "ConnectionAuthorizationFailed" в потоке Power Automate

    { 
        "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 Automate. Эта проблема является ограничением интеграции потока Power Apps и Power Automate.

Шаги по устранению

Примечание.

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

Чтобы устранить эту проблему, убедитесь, что все подключения, используемые в потоке Power Automate, авторизованы для пользователя, добавляющего поток в приложение. У пользователя должны быть необходимые разрешения для каждого подключения, на который ссылается поток Power Automate. Дополнительные сведения см. в разделе Обзор владения и доступа к потокам.

Код ошибки "WorkflowTriggerIsNotEnabled" в потоке Power Automate

    { 
        "code": "WorkflowTriggerIsNotEnabled", 
        "message": "Could not execute workflow '<GUID>' trigger 'manual' with state 'Disabled': trigger is not enabled."  
    } 

Причина

Поток Power Automate отключен или выключен.

Шаги по устранению

Примечание.

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

Убедитесь, что поток Power Automate включен, и проверьте исполнение потока, протестировав его вручную.

Код внутренней ошибки "ResponseTimeout" при запуске потока в Power Automate

        {
            "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>'."
                    }
                }
            }
        } 

Причина

Эта ошибка означает, что синхронный запуск потока Power Automate превышает максимально допустимое время выполнения в 120 секунд (2 минуты), что приводит к истечении времени ожидания. Дополнительные сведения об ограничении времени ожидания исходящего синхронного запроса.

Шаги по устранению

Примечание.

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

Чтобы устранить эту проблему, определите, какие запуски потока Power Automate превышают ограничение времени ожидания и оптимизируйте действия потока так, чтобы они завершались в течение 120 секунд. Ознакомьтесь с рекомендациями, приведенными в статье "Устранение неполадок медленных потоков".

Код ошибки "0x80040265" или "0x80048d0b" в потоке Power Automate

    {

        "code": " 0x80040265", 
        "message": "Failed to install the flow."  

    }  
    {

        "code": " 0x80048d0b", 
        "message": "Failed to install the flow."  

    } 

Шаги по устранению

Примечание.

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

Попробуйте выполнить действия по устранению рисков, описанные в следующих кодах ошибок, так как основные причины могут быть похожи:

Код ошибки "MissingConnectionReference" в потоке Power Automate

    { 
        "code": " MissingConnectionReference' ", 
        "message": " Connection reference '<connection name>' was not given by invoker."
    } 

Пример ошибки

Ссылка на подключение "<подключение имя>" не была предоставлена вызывающей стороной.

Причина

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

Для приложений или потоков, включенных в решение, приложение может успешно вызвать поток в исходной среде, но не сработать в целевой среде с таким сообщением об ошибке:

Подключение не настроено для этой службы.

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

Шаги по устранению

Примечание.

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

  1. В исходной среде измените приложение. Удалите и затем добавьте повторно потоки в приложение. Сохраните и опубликуйте изменения.

  2. В целевой среде удалите все неуправляемые слои решения из приложения и потока.

  3. Экспортируйте решение и импортируйте его в целевую среду.

    Примечание.

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

Код ошибки NotAllowedConnectionReference в потоке Power Automate

    {
        "code": " NotAllowedConnectionReference", 
        "message": "Connection reference '<connection name>' was not given by invoker."
    }

Пример ошибки

Ссылка на подключение "<подключение имя>" не была предоставлена вызывающей стороной.

Причина

Эта ошибка возникает, когда метаданные потока приложения ожидают определенной ссылки на подключение (например, подключение SQL) во время установки. Если текущие метаданные потока не соответствуют этому ожиданию, возникает ошибка.

Шаги по устранению

Примечание.

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

Вариант устранения рисков 1

Перезагрузите потоки Power Automate в приложении:

  1. В исходной среде измените приложение. Удалите и затем добавьте повторно потоки в приложение. Сохраните и опубликуйте изменения.

  2. В целевой среде удалите все неуправляемые слои решения из приложения и потока.

  3. Экспортируйте решение и импортируйте его в целевую среду.

    Примечание.

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

Вариант устранения рисков 2

Измените подключение с Embedded на Invoker:

  1. Чтобы изменить и обновить параметры потока, перейдите на портал потока Power Automate.
  2. На странице сведений о потоке в разделе "Пользователь только для выполнения" выберите "Изменить".
  3. Чтобы обновить источник подключения потока к Invoker, выберите Предоставлено только пользователем выполнения и сохраните.
  4. Проверьте, активировав поток.

Сбои, вызванные обновлениями потока Power Automate

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

Симптом 1

Если в поток Power Automate добавляются новые входные данные, но приложение Power App не обновляется, поток может завершиться ошибкой. Если поток завершается сбоем, он возвращает сообщение об ошибке, похожее на следующий пример:

Не удается обработать выражения языка шаблона в действии "Send_me_a_mobile_notification" входных данных в строке "1" и столбце "1900": "Выражение языка шаблона "triggerBody()['Sendmeamobilenotification_Text']" не может быть оценено, так как свойство "Sendmeamobilenotification_Text" не может быть выбрано. Дополнительные сведения об использовании см. в разделе https://aka.ms/logicexpressions "Сведения об использовании".

Снимок экрана: сообщение об ошибке при добавлении новых входных данных в поток без обновления Power App.

Симптом 2

Если изменятся подключения, необходимые для запуска потока Power Automate, возможно, вы получите ошибку.

В Power Apps может выглядеть следующим образом:

Снимок экрана: сообщение об ошибке, которое жалуется на подключения в Power Apps.

В потоке Power Automate это может выглядеть так:

Невозможно обработать выражения языка шаблона в действии "Send_an_email" во входных данных в строке "1" и столбце "1899": "Выражение языка шаблона 'json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$connections']['shared_office365']['connectionId']' не может быть оценено, так как свойство 'shared_office365' не существует, доступные свойства: 'shared_flowpush'. Дополнительные сведения об использовании см. в разделе https://aka.ms/logicexpressions "Сведения об использовании".

Снимок экрана: сообщение об ошибке, жалующееся на подключения в Flow.

Симптом 3

Если выходные данные ответа удалены, Power Apps обрабатывает значение как пустое, и приложение ведет себя неожиданно.

Причина

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

Типы изменений, которые, вероятнее всего, нарушат способность Power Apps вызывать поток Power Automate, включают:

  1. Добавление нового маркера Ask в Power Apps .

    Снимок экрана: добавление нового токена

  2. Добавление нового подключения. Например, добавив новое действие из Коннектора, который ранее не использовался, например, Коннектор SharePoint.

    Снимок экрана: пример добавления нового подключения.

  3. Изменение существующего подключения. Например, замена существующего подключения на новое.

    Снимок экрана: изменение существующего подключения в Flow.

  4. Удаление выходных данных из действия Ответ на Power Apps.

    Снимок экрана удаления выходных данных из действия

Другие изменения входных или выходных данных могут не нарушить интеграцию между Power Apps и потоком Power Automate. Однако приложение должно быть обновлено для распознавания и использования новых или измененных входных и выходных данных.

Решение

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

Изменение опубликованного (активного) приложения Power App

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

Выполните следующие действия:

  1. Создайте копии потоков, которые необходимо обновить с помощью параметра "Сохранить как ".

    Снимок экрана: копирование потоков, используемых Приложением Power App, с помощью параметра

  2. Внесите изменения в скопированные потоки.

  3. Обновите приложение, чтобы использовать новые потоки вместо исходных.

  4. Протестируйте и опубликуйте обновленное приложение.

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

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

Изменение версии разработки приложения Power App

При разработке приложения (еще не опубликовано), можно безопасно обновлять потоки напрямую, не создавая копии.

Выполните следующие действия:

  1. Внесите изменения в поток (входные данные, выходные данные или подключения).
  2. В Power Apps Studio перейдите на панель "Потоки ".
  3. Удалите поток из приложения.
  4. Добавьте обновленный поток обратно в приложение.
  5. Сохраните приложение.

Этот процесс обновляет приложение для использования новой конфигурации потока. Так как приложение еще не опубликовано, изменения не влияют на пользователей.

Ссылки