Рекомендации по обновлению потока, используемого 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), но ответом является общая ошибка "Сбой потока установки".

Причина

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

Действия по устранению рисков

Примечание.

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

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

Код ошибки 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."
    } 

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

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

Причина

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

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

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

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

Действия по устранению рисков

Примечание.

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

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

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

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

    Примечание.

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

Код ошибки NotAllowedConnectionReferenceon при выполнении потока

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

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

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

Причина

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

Действия по устранению рисков

Примечание.

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

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

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

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

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

    Примечание.

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

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

  1. Измените подключение с Embedded на Invoker.
  2. Перейдите на портал потока, чтобы изменить и обновить параметры потока.
  3. На странице сведений о потоке в разделе Запуск только пользователей выберите Изменить.
  4. Чтобы обновить источник подключения потока на Invoker, выберите Пункт Предоставлено только для запуска пользователя и сохраните.
  5. Чтобы обновить источник подключения потока до внедренного, выберите Использовать это подключение и сохраните.
  6. Проверьте, активировав поток. Вы видите, что вызовы "install flow network" теперь успешно выполняются.

Другие симптомы

После обновления потока вызовы этого потока из Power Apps начинают завершать сбой.

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

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

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

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

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

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

    Или в Потоке он может выглядеть следующим образом:

    Не удалось обработать выражения языка шаблона в действии входных данных "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 App, которое создает привязку между версией Power App и используемыми в ней потоками. Изменение любого из этих трех аспектов потока может нарушить все предыдущие версии Power Apps, которые интегрируются с этим потоком. Чтобы исправить затронутое приложение Power App или использовать одно из этих изменений потока, необходимо обновить Приложение Power App.

Ниже перечислены типы изменений, которые, скорее всего, нарушают возможность вызова потока в Power Apps.

  • Добавление нового маркера Ask в 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 App пользователи начнут использовать новые потоки с правильными входными, выходными данными и подключениями. Это предотвратит влияние обновлений потока для новых версий Power Apps на пользователей существующей версии.

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

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

Снимок экрана: обновление определения потока в Power Apps.

Он обновит определение потока в Power App, проверяя, что правильные входные, выходные данные и подключения используются в Power App.

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