다음을 통해 공유


Power App에서 사용하는 흐름을 업데이트할 때의 모범 사례

이 문서에서는 Power Apps에서 Microsoft 흐름을 실행할 때 일반적인 오류를 완화하는 모범 사례 및 단계를 설명합니다.

적용 대상: Power Apps
원본 KB 번호: 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." 
    }

참고

이 오류는 CDS(Common Data Service)에서 API를 호출 install 할 때도 발생하지만 응답은 일반적인 오류인 "흐름 설치 실패"입니다.

원인

이 문제는 흐름이 새 연결을 사용하도록 업데이트되었지만 앱에서 여전히 이전 흐름 메타데이터를 사용하기 때문에 발생합니다. 흐름을 업데이트해도 흐름을 사용하는 앱은 업데이트되지 않습니다. 이 문제를 해결하려면 앱에 반영할 변경 내용과 흐름이 작동하도록 앱을 수동으로 업데이트해야 합니다.

완화 단계

참고

원본 또는 개발 환경에서 다음 단계를 수행하고 솔루션을 업데이트해야 합니다. 솔루션이 업데이트되면 모든 대상 또는 프로덕션 환경으로 가져옵니다.

  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 및 흐름 통합의 제한 사항입니다.

완화 단계

참고

원본 또는 개발 환경에서 다음 단계를 수행하고 솔루션을 업데이트해야 합니다. 솔루션이 업데이트되면 모든 대상 또는 프로덕션 환경으로 가져옵니다.

이 완화는 흐름의 모든 연결을 단일 사용자가 소유하게 한 다음, 해당 사용자가 앱에 흐름을 추가하도록 하는 것입니다.

흐름 실행 시 오류 코드 "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분) 이상 걸리므로 시간이 초과됨을 의미합니다. 아웃바운드 동기 요청의 시간 제한에 대해 자세히 알아봅니다.

완화 단계

참고

원본 또는 개발 환경에서 다음 단계를 수행하고 솔루션을 업데이트해야 합니다. 솔루션이 업데이트되면 모든 대상 또는 프로덕션 환경으로 가져옵니다.

완화 방법은 너무 오래 걸리는 흐름 실행을 찾고 느린 실행 흐름 문제 해결에 제공된 해결 방법을 사용하여 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. 흐름 연결 원본을 Embedded로 업데이트하려면 이 연결 사용을 선택하고 저장합니다.
  6. 흐름을 트리거하여 확인합니다. 이제 "흐름 네트워크 설치" 호출이 성공하는 것을 볼 수 있습니다.

기타 증상

흐름을 업데이트한 후 Power Apps에서 해당 흐름에 대한 호출이 실패하기 시작합니다.

  • Power App을 업데이트하지 않고 흐름에 새 입력을 추가하면 다음과 유사한 오류 메시지와 함께 흐름이 실패합니다.

    '1' 줄 및 열 '1900'의 'Send_me_a_mobile_notification' 입력에서 템플릿 언어 식을 처리할 수 없습니다. '템플릿 언어 식 'triggerBody()['Sendmeamobilenotification_Text']' 속성 '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 버전과 해당 앱에 사용되는 흐름 간에 바인딩을 만듭니다. 흐름의 이러한 세 가지 측면을 변경하면 해당 흐름과 통합되는 모든 이전 버전의 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에서 사용하지 않는 흐름을 쉽게 변경할 수 있습니다. 게시되지 않은 흐름의 입력, 출력 또는 연결을 변경한 후 흐름 창에서 흐름을 다시 선택합니다.

Power Apps에서 흐름 정의를 업데이트하는 스크린샷

Power App에서 올바른 입력, 출력 및 연결이 사용되는지 유효성을 검사하는 Power App의 흐름 정의를 업데이트합니다.

Power App의 사용자는 Power App이 게시될 때까지 새 흐름을 사용하기 시작하지 않습니다. 따라서 Power App의 라이브 버전에서 사용할 때까지 기존 흐름을 업데이트해도 괜찮습니다.