Udostępnij za pośrednictwem


Najlepsze rozwiązania dotyczące aktualizowania przepływu używanego przez aplikację Power App

W tym artykule opisano najlepsze rozwiązania i kroki w celu wyeliminowania typowych błędów występujących podczas uruchamiania przepływów firmy Microsoft w usłudze Power Apps.

Dotyczy: Power Apps
Oryginalny numer KB: 4477072

Kod błędu "InvokerConnectionOverrideFailed" w przebiegu przepływu

Nie można uruchomić niektórych przepływów w usłudze Power Apps. W historii uruchamiania usługi Flow lub telemetrii usługi Power Apps może zostać wyświetlony błąd podobny do następującego:

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

Uwaga 16.

Ten błąd występuje również podczas wywoływania interfejsu install API w usłudze Common Data Service (CDS), ale odpowiedź jest ogólnym błędem "Niepowodzenie instalacji przepływu".

Przyczyna

Ten problem występuje, ponieważ przepływ został zaktualizowany w celu użycia nowego połączenia, ale aplikacja nadal używa starych metadanych przepływu. Aktualizowanie przepływu nie powoduje zaktualizowania aplikacji korzystających z przepływu. Aby rozwiązać ten problem, należy ręcznie zaktualizować aplikację, aby zmiany zostały odzwierciedlone w aplikacji i aby przepływ działał.

Kroki zaradcze

Uwaga 16.

Pamiętaj, aby wykonać następujące kroki w środowisku źródłowym lub programistycznym i zaktualizować rozwiązanie. Po zaktualizowaniu rozwiązania zaimportuj je do wszystkich środowisk docelowych lub produkcyjnych.

  1. Otwórz aplikację do edycji przy użyciu najnowszej wersji programu Power Apps Studio.
  2. Usuń przepływy z aplikacji (usuń przepływy z karty Usługi Power Automate).
  3. Ponownie dodaj przepływy do aplikacji.
  4. Zapisz i ponownie opublikuj aplikację.

Kod błędu "ConnectionAuthorizationFailed" w przebiegu przepływu

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

Przyczyna

Ten błąd oznacza, że mimo że twórca ma uprawnienia do przepływu, twórca nie ma uprawnień do zależnych połączeń używanych w akcjach przepływu. Jest to ograniczenie integracji usług Power Apps i Flow.

Kroki zaradcze

Uwaga 16.

Pamiętaj, aby wykonać następujące kroki w środowisku źródłowym lub programistycznym i zaktualizować rozwiązanie. Po zaktualizowaniu rozwiązania zaimportuj je do wszystkich środowisk docelowych lub produkcyjnych.

To ograniczenie ma na celu posiadanie wszystkich połączeń w przepływie przez jednego użytkownika, a następnie dodanie przepływu do aplikacji przez tego użytkownika.

Kod błędu "WorkflowTriggerIsNotEnabled" w przebiegu przepływu

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

Przyczyna

Ten błąd oznacza, że przepływ jest wyłączony.

Kroki zaradcze

Uwaga 16.

Pamiętaj, aby wykonać następujące kroki w środowisku źródłowym lub programistycznym i zaktualizować rozwiązanie. Po zaktualizowaniu rozwiązania zaimportuj je do wszystkich środowisk docelowych lub produkcyjnych.

Ograniczenie ryzyka polega na włączeniu przepływu.

Kod błędu wewnętrznego "ResponseTimeout" w przebiegu przepływu

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

Przyczyna

Ten błąd oznacza, że ukończenie synchronicznego przepływu trwa dłużej niż 120 sekund (2 minuty), co powoduje przekroczenie limitu czasu. Dowiedz się więcej o limicie limitu czasu żądania synchronicznego ruchu wychodzącego.

Kroki zaradcze

Uwaga 16.

Pamiętaj, aby wykonać następujące kroki w środowisku źródłowym lub programistycznym i zaktualizować rozwiązanie. Po zaktualizowaniu rozwiązania zaimportuj je do wszystkich środowisk docelowych lub produkcyjnych.

Ograniczenie ryzyka polega na znalezieniu, które uruchomienie przepływu trwa zbyt długo i zoptymalizowanie go do uruchomienia w ciągu dwóch minut przy użyciu rozwiązań podanych w temacie Rozwiązywanie problemów z wolnym działaniem przepływów.

Kod błędu "0x80040265" lub "0x80048d0b" w przebiegu usługi Flow

    {

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

    }  
    {

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

    } 

Kroki zaradcze

Uwaga 16.

Pamiętaj, aby wykonać następujące kroki w środowisku źródłowym lub programistycznym i zaktualizować rozwiązanie. Po zaktualizowaniu rozwiązania zaimportuj je do wszystkich środowisk docelowych lub produkcyjnych.

Wypróbuj rozwiązania wymienione dla jednego z następujących kodów błędów:

Kod błędu "MissingConnectionReference" w przebiegu przepływu

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

Przykładowy błąd:

Odwołanie do połączenia "<nazwa> połączenia" nie zostało podane przez invoker.

Przyczyna

Zasadniczo metadane aplikacji i przepływu muszą być synchronizowane. Wszelkie zmiany wprowadzone w przepływie wymagają od twórcy aplikacji edytowania aplikacji przy użyciu przepływu i usunięcia lub ponownego dodania zmienionego przepływu.

W przypadku aplikacji lub przepływów rozwiązania aplikacja może pomyślnie wywołać przepływ w środowisku źródłowym, a następnie zakończyć się niepowodzeniem w środowisku docelowym z następującym komunikatem o błędzie:

Połączenie nie zostało skonfigurowane dla tej usługi.

Przyczyną może być zmiana przepływu w środowisku docelowym, ale nie istnieje w środowisku źródłowym.

Kroki zaradcze

Uwaga 16.

Pamiętaj, aby wykonać następujące kroki w środowisku źródłowym lub programistycznym i zaktualizować rozwiązanie. Po zaktualizowaniu rozwiązania zaimportuj je do wszystkich środowisk docelowych lub produkcyjnych.

  1. W środowisku źródłowym edytuj aplikację. Usuń, a następnie ponownie dodaj przepływy do aplikacji. Zapisz i opublikuj zmiany.

  2. W środowisku docelowym usuń wszystkie niezarządzane warstwy w aplikacji i przepływie.

  3. Wyeksportuj rozwiązanie i zaimportuj je do środowiska docelowego.

    Uwaga 16.

    W przepływie lub aplikacji nie może istnieć żadne niezarządzane warstwy, ponieważ może to powodować problemy w połączeniu z przepływem.

Kod błędu "NotAllowedConnectionReferenceon" w przebiegu przepływu

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

Przykładowy błąd:

Odwołanie do połączenia "<nazwa> połączenia" nie zostało podane przez invoker.

Przyczyna

Ten błąd oznacza, że aplikacja ma metadane przepływu, które określają, że połączenie SQL jest wymagane w instalacji, ale rzeczywiste metadane przepływu są inne.

Kroki zaradcze

Uwaga 16.

Pamiętaj, aby wykonać następujące kroki w środowisku źródłowym lub programistycznym i zaktualizować rozwiązanie. Po zaktualizowaniu rozwiązania zaimportuj je do wszystkich środowisk docelowych lub produkcyjnych.

Opcja ograniczania ryzyka 1

  1. W środowisku źródłowym edytuj aplikację. Usuń, a następnie ponownie dodaj przepływy do aplikacji. Zapisz i opublikuj zmiany.

  2. W środowisku docelowym usuń wszystkie niezarządzane warstwy w aplikacji i przepływie.

  3. Wyeksportuj rozwiązanie i zaimportuj je do środowiska docelowego.

    Uwaga 16.

    W przepływie lub aplikacji nie może istnieć żadne niezarządzane warstwy, ponieważ może to powodować problemy w połączeniu z przepływem.

Opcja ograniczania ryzyka 2

  1. Zmień połączenie z Embedded na Invoker.
  2. Przejdź do portalu przepływu, aby edytować i zaktualizować ustawienia przepływu.
  3. Na stronie Szczegóły przepływu w sekcji Użytkownicy mogący tylko uruchamiać wybierz pozycję Edytuj.
  4. Aby zaktualizować źródło połączenia przepływu do wywołania, wybierz pozycję Dostarczone przez użytkownika tylko do uruchomienia i zapisz.
  5. Aby zaktualizować źródło połączenia przepływu do pozycji Embedded, wybierz pozycję Użyj tego połączenia i zapisz.
  6. Zweryfikuj, wyzwalając przepływ. Zobaczysz, że wywołania "zainstaluj sieć przepływu" teraz kończą się powodzeniem.

Inne objawy

Po zaktualizowaniu przepływu wywołania tego przepływu z usługi Power Apps kończą się niepowodzeniem.

  • Jeśli nowe dane wejściowe zostaną dodane do przepływu bez aktualizowania aplikacji Power App, przepływ zakończy się niepowodzeniem z komunikatem o błędzie podobnym do następującego:

    Nie można przetworzyć wyrażeń języka szablonu w akcji danych wejściowych "Send_me_a_mobile_notification" w wierszu "1" i kolumnie "1900": "Nie można wybrać wyrażenia języka szablonu "triggerBody()["Sendmeamobilenotification_Text"], ponieważ nie można wybrać właściwości "Sendmeamobilenotification_Text". Aby uzyskać szczegółowe informacje o użyciu, zobacz https://aka.ms/logicexpressions .

    Zrzut ekranu przedstawiający komunikat o błędzie podczas dodawania nowych danych wejściowych do przepływu bez aktualizowania aplikacji Power App.

  • Jeśli połączenia wymagane do uruchomienia przepływu zmienią się, powinien zostać wyświetlony błąd zgłaszający błędy dotyczące połączeń:

    W usłudze Power Apps może to wyglądać następująco:

    Zrzut ekranu przedstawiający komunikat o błędzie narzekający na połączenia w usłudze Power Apps.

    Lub w usłudze Flow może to wyglądać następująco:

    Nie można przetworzyć wyrażeń języka szablonu w akcji "Send_an_email" danych wejściowych w wierszu "1" i kolumnie "1899": "Wyrażenie języka szablonu "json(decodeBase64(triggerOutputs().headers["X -MS-APIM-Tokens'])['$connections']['shared_office365']['connectionId']' nie można ocenić, ponieważ właściwość "shared_office365" nie istnieje, dostępne właściwości są "shared_flowpush". Aby uzyskać szczegółowe informacje o użyciu, zobacz https://aka.ms/logicexpressions .

    Zrzut ekranu przedstawiający komunikat o błędzie narzekający na połączenia w usłudze Flow.

  • Jeśli dane wyjściowe odpowiedzi zostaną usunięte, usługa Power Apps będzie traktować wartość jako pustą, a aplikacja Power App będzie zachowywać się nieoczekiwanie.

Przyczyna

Aby wywołać przepływ z usługi Power Apps, usługa Power Apps musi wiedzieć, jakich danych wejściowych potrzebuje przepływ, jakie połączenia należy dostarczyć do przepływu i jakie dane wyjściowe będą zwracane przez przepływ. Usługa Power Apps przechowuje te informacje w definicji aplikacji Power App, która tworzy powiązanie między wersją aplikacji Power App i przepływami używanymi w niej. Zmiana dowolnego z tych trzech aspektów przepływu może przerwać wszystkie poprzednie wersje usługi Power Apps, które integrują się z tym przepływem. Aby rozwiązać problem z aplikacją Power App lub użyć jednej z tych zmian przepływu, należy zaktualizować aplikację Power App.

Typy zmian, które najprawdopodobniej przerywają wywoływanie przepływu przez usługę Power Apps, to:

  • Dodawanie nowego tokenu Zapytaj w usłudze Power Apps.

    Zrzut ekranu przedstawiający dodawanie nowego tokenu Zapytaj w usłudze Power Apps.

  • Dodawanie nowego połączenia. Na przykład przez dodanie nowej akcji z łącznika, który nie był wcześniej używany jak łącznik programu SharePoint.

    Zrzut ekranu przedstawia przykład dodawania nowego połączenia.

  • Zmiana istniejącego połączenia. Na przykład zmiana istniejącego połączenia na nowe połączenie.

    Zrzut ekranu przedstawiający zmianę istniejącego połączenia w usłudze Flow.

  • Usuwanie danych wyjściowych z akcji Reagowanie na usługę Power Apps.

    Zrzut ekranu przedstawiający usuwanie danych wyjściowych z akcji Odpowiadanie na usługę Power Apps.

Inne zmiany w danych wejściowych lub wyjściowych nie spowodują przerwania integracji między usługą Power Apps i usługą Flow, ale będą wymagały zaktualizowania aplikacji Power App, aby mogła z nich korzystać.

Rozwiązanie

Zmienianie aktywnej aplikacji Power App

Po opublikowaniu aplikacji Power App zawsze zaleca się tworzenie kopii przepływów używanych przez usługę Power Apps w celu wprowadzania aktualizacji. Każda aktualizacja przepływu, do którego odwołuje się aktywna aplikacja Power App, może przerwać istniejących użytkowników. Nie usuwaj ani nie wyłączaj istniejących przepływów, dopóki wszyscy użytkownicy nie zostaną uaktualnioni do nowej opublikowanej wersji aplikacji Power App.

Zrzut ekranu przedstawiający tworzenie kopii przepływów używanych przez aplikację Power App przez wybranie opcji Zapisz jako.

W nowej wersji aplikacji Power App odwołaj się do nowych przepływów. Po opublikowaniu nowej wersji aplikacji Power App użytkownicy zaczną używać nowych przepływów z poprawnymi danymi wejściowymi, wyjściowymi i połączeniami. Dzięki temu aktualizacje przepływu dla nowych wersji usługi Power Apps nie będą wpływać na użytkowników istniejącej wersji.

Zmienianie wersji programowania aplikacji Power App

Podczas tworzenia aplikacji Power App wprowadzanie zmian w przepływie, które nie jest używane przez wersję na żywo aplikacji Power App, jest łatwe. Po wprowadzeniu zmian w danych wejściowych, danych wyjściowych lub połączeniach przepływu nieopublikowany ponownie wybierz przepływ z okienka Przepływy .

Zrzut ekranu przedstawiający aktualizowanie definicji przepływu w usłudze Power Apps.

Spowoduje to zaktualizowanie definicji przepływu w aplikacji Power App, aby weryfikować, czy w aplikacji Power App są używane poprawne dane wejściowe, dane wyjściowe i połączenia.

Użytkownicy aplikacji Power App nie zaczną korzystać z nowych przepływów, dopóki aplikacja Power App nie zostanie opublikowana. Aktualizacja istniejącego przepływu jest w porządku, dopóki nie będzie używana przez wersję na żywo aplikacji Power App.