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.
- Otwórz aplikację do edycji przy użyciu najnowszej wersji programu Power Apps Studio.
- Usuń przepływy z aplikacji (usuń przepływy z karty Usługi Power Automate).
- Ponownie dodaj przepływy do aplikacji.
- 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.
W środowisku źródłowym edytuj aplikację. Usuń, a następnie ponownie dodaj przepływy do aplikacji. Zapisz i opublikuj zmiany.
W środowisku docelowym usuń wszystkie niezarządzane warstwy w aplikacji i przepływie.
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
W środowisku źródłowym edytuj aplikację. Usuń, a następnie ponownie dodaj przepływy do aplikacji. Zapisz i opublikuj zmiany.
W środowisku docelowym usuń wszystkie niezarządzane warstwy w aplikacji i przepływie.
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
- Zmień połączenie z Embedded na Invoker.
- Przejdź do portalu przepływu, aby edytować i zaktualizować ustawienia przepływu.
- Na stronie Szczegóły przepływu w sekcji Użytkownicy mogący tylko uruchamiać wybierz pozycję Edytuj.
- Aby zaktualizować źródło połączenia przepływu do wywołania, wybierz pozycję Dostarczone przez użytkownika tylko do uruchomienia i zapisz.
- Aby zaktualizować źródło połączenia przepływu do pozycji Embedded, wybierz pozycję Użyj tego połączenia i zapisz.
- 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
.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:
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
.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.
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.
Zmiana istniejącego połączenia. Na przykład zmiana istniejącego połączenia na nowe połączenie.
Usuwanie danych wyjściowych z akcji Reagowanie 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.
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 .
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.