次の方法で共有


Power App で使用されるフローを更新するときのベスト プラクティス

この記事では、Power Apps で Microsoft フローを実行するときの一般的なエラーを軽減するためのベスト プラクティスと手順について説明します。

適用対象: Power Apps
元の KB 番号: 4477072

Flow の実行時のエラー コード "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." 
    }

Note

このエラーは、Common Data Service (CDS) で install API を呼び出した場合にも発生しますが、応答は一般的なエラー "インストール フローが失敗しました" です。

原因

この問題は、新しい接続を使用するようにフローが更新されたが、アプリでは引き続き古いフロー メタデータが使用されるために発生します。 フローを更新しても、フローを使用するアプリは更新されません。 この問題を解決するには、変更がアプリに反映されるようにアプリを手動で更新し、フローを機能させる必要があります。

軽減の手順

Note

ソースまたは開発環境で次の手順を実行し、ソリューションを更新してください。 ソリューションが更新されたら、すべてのターゲット環境または運用環境にインポートします。

  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 の統合の制限です。

軽減の手順

Note

ソースまたは開発環境で次の手順を実行し、ソリューションを更新してください。 ソリューションが更新されたら、すべてのターゲット環境または運用環境にインポートします。

この軽減策は、フロー内のすべての接続を 1 人のユーザーが所有し、そのユーザーにそのフローをアプリに追加することです。

Flow の実行時のエラー コード "WorkflowTriggerIsNotEnabled"

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

原因

このエラーは、フローがオフになっていることを意味します。

軽減の手順

Note

ソースまたは開発環境で次の手順を実行し、ソリューションを更新してください。 ソリューションが更新されたら、すべてのターゲット環境または運用環境にインポートします。

軽減策は、フロー 戻ることです

フロー実行の内部エラー コード "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 分) より長くかかるため、タイムアウトになります。 送信同期要求のタイムアウト制限について詳しく説明します。

軽減の手順

Note

ソースまたは開発環境で次の手順を実行し、ソリューションを更新してください。 ソリューションが更新されたら、すべてのターゲット環境または運用環境にインポートします。

軽減策は、 実行に時間がかかりすぎるフローをし 低速実行フロー で提供される解像度を使用して 2 分で実行するように最適化

Flow の実行時のエラー コード "0x80040265" または "0x80048d0b"

    {

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

    }  
    {

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

    } 

軽減の手順

Note

ソースまたは開発環境で次の手順を実行し、ソリューションを更新してください。 ソリューションが更新されたら、すべてのターゲット環境または運用環境にインポートします。

次のいずれかのエラー コードに関する解決策をお試しください。

フロー実行時のエラー コード "MissingConnectionReference"

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

エラーの例:

接続参照 '<connection name>' は呼び出し子によって指定されませんでした。

原因

基本的には、アプリとフローのメタデータを同期する必要があります。 フローに加えられた変更には、アプリ 作成者がフローを使用してアプリを編集し、変更されたフローを削除または再追加する必要があります。

ソリューション アプリまたはフローの場合、アプリはソース環境でフローを正常に呼び出した後、次のエラー メッセージでターゲット環境で失敗する可能性があります。

このサービスに対して構成されていない接続。

その理由は、ターゲット環境ではフローに変更が加えられる可能性がありますが、ソース環境には存在しないためです。

軽減の手順

Note

ソースまたは開発環境で次の手順を実行し、ソリューションを更新してください。 ソリューションが更新されたら、すべてのターゲット環境または運用環境にインポートします。

  1. ソース環境で、アプリを編集します。 フローを削除してから、アプリに再追加します。 変更を 保存して公開します

  2. ターゲット環境で、アプリとフロー上のすべてのアンマネージド レイヤーを削除します。

  3. ソリューションをエクスポートし、ターゲット環境にインポートします。

    Note

    フローに関連して問題が発生する可能性があるため、フローまたはアプリにアンマネージド レイヤーを使用することはできません。

Flow 実行時のエラー コード "NotAllowedConnectionReferenceon"

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

エラーの例:

接続参照 '<connection name>' は呼び出し子によって指定されませんでした。

原因

このエラーは、インストール時に SQL 接続が必要であることを指定するフロー メタデータがアプリにあることを意味しますが、実際のフロー メタデータは異なります。

軽減の手順

Note

ソースまたは開発環境で次の手順を実行し、ソリューションを更新してください。 ソリューションが更新されたら、すべてのターゲット環境または運用環境にインポートします。

軽減策のオプション 1

  1. ソース環境で、アプリを編集します。 フローを削除してから、アプリに再追加します。 変更を 保存して公開します

  2. ターゲット環境で、アプリとフロー上のすべてのアンマネージド レイヤーを削除します。

  3. ソリューションをエクスポートし、ターゲット環境にインポートします。

    Note

    フローに関連して問題が発生する可能性があるため、フローまたはアプリにアンマネージド レイヤーを使用することはできません。

軽減策のオプション 2

  1. 接続を Embedded から Invoker に変更します。
  2. フロー ポータルに移動して、フロー設定を編集および更新します。
  3. フローの詳細ページの 実行専用ユーザー セクションで、編集 を選択します。
  4. フロー接続ソースを Invoker に更新するには、 Provided by run-only user を選択して保存します。
  5. フロー接続ソースを Embedded に更新するには、 [この接続を使用]を選択 保存します。
  6. フローをトリガーして確認します。 "フロー ネットワークのインストール" 呼び出しが成功していることがわかります。

その他の症状

フローを更新すると、Power Apps からそのフローへの呼び出しが失敗し始めます。

  • Power App が更新されずに新しい入力がフローに追加されると、フローは次のようなエラー メッセージで失敗します。

    '1' 行目と列 '1900' のアクション 'Send_me_a_mobile_notification' 入力でテンプレート言語式を処理できません:プロパティ 'Sendmeamobilenotification_Text' を選択できないため、テンプレート言語式 'triggerBody()['Sendmeamobilenotification_Text'' を評価できません。 使用の詳細については、 https://aka.ms/logicexpressions を参照してください。'。

    Power App を更新せずにフローに新しい入力を追加するときのエラー メッセージのスクリーンショット。

  • フローの実行に必要な接続が変更された場合は、接続に関するエラーが表示されます。

    Power Apps では、次のようになります。

    Power Apps の接続に関して不平を言うエラー メッセージのスクリーンショット。

    または Flow では、次のようになります。

    '1' 行目と列 '1899' のアクション 'Send_an_email' 入力でテンプレート言語式を処理できません: 'テンプレート言語式 'json(decodeBase64(triggerOutputs().headers['X-MS-APIM-Tokens']))['$connections']['shared_office365']['connectionId']' はプロパティ 'shared_office365' が存在しないため、評価できません。 使用可能なプロパティは 'shared_flowpush' です。 使用の詳細については、 https://aka.ms/logicexpressions を参照してください。'。

    Flow の接続に関して不平を言うエラー メッセージのスクリーンショット。

  • 応答出力が削除されると、Power Apps は値を空白として扱い、Power App は予期せず動作します。

原因

Power Apps からフローを呼び出すには、Power Apps でフローに必要な入力、フローに提供する接続、フローから返される出力を把握する必要があります。 Power Apps は、Power App の定義にこの情報を格納します。これにより、Power App のバージョンと、その中で使用されるフローとの間にバインディングが作成されます。 フローのこれら 3 つの側面のいずれかを変更すると、そのフローと統合される以前のバージョンの Power Apps がすべて中断される可能性があります。 影響を受ける Power App を修正したり、これらのフローの変更のいずれかを使用したりするには、Power App を更新する必要があります。

Power Apps でフローを呼び出す機能を中断する可能性が最も高い変更の種類は次のとおりです。

  • Power Apps で新しい Ask トークンを追加する。

    Power Apps で新しい Ask トークンを追加するスクリーンショット。

  • 新しい接続の追加。 たとえば、以前は SharePoint コネクタのように使用されていなかったコネクタから新しいアクションを追加します。

    新しい接続を追加する例を示すスクリーンショット。

  • 既存の接続を変更する。 たとえば、既存の接続を新しい接続に変更します。

    Flow で既存の接続を変更するスクリーンショット。

  • Power Apps への応答アクションからの出力の削除。

    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 のライブ バージョンでは使用されないフローを簡単に変更できます。 発行されていないフローの入力、出力、または接続を変更した後、 Flows ペインからフローを再選択します。

Power Apps でのフロー定義の更新のスクリーンショット。

Power App で正しい入力、出力、接続が使用されていることを検証する Power App のフローの定義が更新されます。

Power App のユーザーは、Power App が公開されるまで新しいフローの使用を開始しません。 そのため、既存のフローの更新は、Power App のライブ バージョンで使用されるまでは問題ありません。