Udostępnij za pośrednictwem


Rozwiązywanie problemów i diagnozowanie błędów przepływów pracy w usłudze Azure Logic Apps

Dotyczy: Azure Logic Apps (Zużycie + Standardowa)

Przepływ pracy aplikacji logiki generuje informacje, które mogą ułatwić diagnozowanie i debugowanie problemów w aplikacji. Przepływ pracy można zdiagnozować, przeglądając dane wejściowe, wyjściowe i inne informacje dla każdego kroku w przepływie pracy przy użyciu Azure Portal. Możesz też dodać kilka kroków do przepływu pracy na potrzeby debugowania środowiska uruchomieniowego.

Sprawdzanie historii wyzwalacza

Każde uruchomienie przepływu pracy rozpoczyna się od wyzwalacza, który jest uruchamiany zgodnie z harmonogramem lub oczekuje na przychodzące żądanie lub zdarzenie. Historia wyzwalacza zawiera listę wszystkich prób wyzwalacza wykonanych przez przepływ pracy oraz informacje o danych wejściowych i wyjściowych dla każdej próby wyzwalacza. Jeśli wyzwalacz nie zostanie wyzwolony, spróbuj wykonać następujące czynności.

  1. Aby sprawdzić stan wyzwalacza w aplikacji logiki Zużycie, przejrzyj historię wyzwalaczy. Aby wyświetlić więcej informacji na temat próby wyzwalacza, wybierz to zdarzenie wyzwalacza, na przykład:

    Zrzut ekranu przedstawiający Azure Portal z historią wyzwalacza przepływu pracy aplikacji logiki zużycie.

  2. Sprawdź dane wejściowe wyzwalacza, aby potwierdzić, że są wyświetlane zgodnie z oczekiwaniami. W okienku Historia w obszarze Dane wejściowe wybierz link, który zawiera okienko Dane wejściowe .

    Dane wejściowe wyzwalacza obejmują dane oczekiwane przez wyzwalacz i wymagają uruchomienia przepływu pracy. Przejrzenie tych danych wejściowych może pomóc w ustaleniu, czy dane wejściowe wyzwalacza są poprawne i czy warunek został spełniony, aby umożliwić kontynuowanie przepływu pracy.

    Zrzut ekranu przedstawiający dane wejściowe wyzwalacza przepływu pracy aplikacji logiki zużycie.

  3. Sprawdź dane wyjściowe wyzwalaczy, jeśli istnieją, aby potwierdzić, że są wyświetlane zgodnie z oczekiwaniami. W okienku Historia w obszarze Dane wyjściowe wybierz link, który zawiera okienko Dane wyjściowe .

    Dane wyjściowe wyzwalacza obejmują dane, które wyzwalacz przekazuje do następnego kroku w przepływie pracy. Przejrzenie tych danych wyjściowych może pomóc w ustaleniu, czy prawidłowe lub oczekiwane wartości zostały przekazane do następnego kroku w przepływie pracy.

    Na przykład komunikat o błędzie wskazuje, że kanał informacyjny RSS nie został znaleziony:

    Zrzut ekranu przedstawiający dane wyjściowe wyzwalacza przepływu pracy aplikacji logiki zużycie.

    Porada

    Jeśli znajdziesz dowolną zawartość, której nie rozpoznajesz, dowiedz się więcej o różnych typach zawartości w usłudze Azure Logic Apps.

Sprawdzanie historii uruchamiania przepływu pracy

Za każdym razem, gdy wyzwalacz jest uruchamiany, usługa Azure Logic Apps tworzy wystąpienie przepływu pracy i uruchamia to wystąpienie. Jeśli uruchomienie zakończy się niepowodzeniem, spróbuj wykonać następujące czynności, aby sprawdzić, co się stało podczas tego przebiegu. Możesz przejrzeć stan, dane wejściowe i wyjściowe dla każdego kroku w przepływie pracy.

  1. Aby sprawdzić stan uruchomienia przepływu pracy w aplikacji logiki Zużycie, przejrzyj historię przebiegów. Aby wyświetlić więcej informacji na temat nieudanego przebiegu, w tym wszystkich kroków w tym przebiegu w ich stanie, wybierz przebieg, który zakończył się niepowodzeniem.

    Zrzut ekranu przedstawiający Azure Portal z przebiegami przepływu pracy aplikacji logiki zużycie i wybranym niepowodzeniem.

  2. Po pojawieniu się wszystkich kroków przebiegu zaznacz każdy krok, aby rozwinąć kształty.

    Zrzut ekranu przedstawiający przepływ pracy aplikacji logiki Zużycie z wybranym krokiem wskazującym niepowodzenie.

  3. Przejrzyj dane wejściowe, dane wyjściowe i wszelkie komunikaty o błędach dla kroku, który zakończył się niepowodzeniem.

    Zrzut ekranu przedstawiający przepływ pracy aplikacji logiki Zużycie ze szczegółowymi informacjami o kroku, który zakończył się niepowodzeniem.

    Na przykład poniższy zrzut ekranu przedstawia dane wyjściowe z akcji RSS, która zakończyła się niepowodzeniem.

    Zrzut ekranu przedstawiający przepływ pracy aplikacji logiki Zużycie z danymi wyjściowymi kroku, które zakończyły się niepowodzeniem.

Wykonywanie debugowania środowiska uruchomieniowego

Aby ułatwić debugowanie, możesz dodać kroki diagnostyczne do przepływu pracy aplikacji logiki oraz przejrzeć historię wyzwalacza i przebiegów. Możesz na przykład dodać kroki korzystające z usługi testera elementu webhook , aby sprawdzić żądania HTTP i określić ich dokładny rozmiar, kształt i format.

  1. W przeglądarce przejdź do witryny testera elementu webhook i skopiuj wygenerowany unikatowy adres URL.

  2. W aplikacji logiki dodaj akcję HTTP POST z zawartością treści, którą chcesz przetestować, na przykład wyrażenie lub inne dane wyjściowe kroku.

  3. Wklej adres URL z testera elementu webhook do akcji HTTP POST.

  4. Aby sprawdzić, jak usługa Azure Logic Apps generuje i tworzy żądanie, uruchom przepływ pracy aplikacji logiki. Następnie możesz ponownie wrócić do witryny testera elementu webhook, aby uzyskać więcej informacji.

Wydajność — często zadawane pytania

Dlaczego czas trwania przebiegu przepływu pracy jest dłuższy niż suma wszystkich czasów trwania akcji przepływu pracy?

Planowanie obciążenia istnieje podczas uruchamiania akcji, podczas oczekiwania między akcjami mogą wystąpić z powodu obciążenia systemu zaplecza. Czas trwania przebiegu przepływu pracy obejmuje te czasy planowania i czasy oczekiwania wraz z sumą wszystkich czasów trwania akcji.

Zwykle mój przepływ pracy kończy się w ciągu 10 sekund. Jednak czasami ukończenie może trwać znacznie dłużej. Jak upewnić się, że przepływ pracy zawsze kończy się w ciągu 10 sekund?

  • Nie ma gwarancji sla w przypadku opóźnienia.

  • Przepływy pracy użycia są uruchamiane w usłudze Azure Logic Apps z wieloma dzierżawami, więc obciążenia innych klientów mogą negatywnie wpłynąć na wydajność przepływu pracy.

  • Aby uzyskać bardziej przewidywalną wydajność, warto rozważyć utworzenie standardowych przepływów pracy uruchamianych w usłudze Azure Logic Apps z jedną dzierżawą. Będziesz mieć większą kontrolę nad skalowaniem w górę lub w poziomie, aby zwiększyć wydajność.

Mój czas akcji upływa po 2 minutach. Jak mogę zwiększyć wartość limitu czasu?

Nie można zmienić wartości limitu czasu akcji i jest stała o 2 minutach. Jeśli używasz akcji HTTP i jesteś właścicielem usługi wywoływanej przez akcję HTTP, możesz zmienić usługę, aby uniknąć 2-minutowego limitu czasu przy użyciu wzorca asynchronicznego. Aby uzyskać więcej informacji, zobacz Wykonywanie długotrwałych zadań za pomocą wzorca akcji sondowania.

Typowe problemy — standardowe aplikacje logiki

Niedostępne artefakty na koncie usługi Azure Storage

Standardowe aplikacje logiki przechowują wszystkie artefakty na koncie usługi Azure Storage. Jeśli te artefakty nie są dostępne, mogą wystąpić następujące błędy. Na przykład samo konto magazynu może być niedostępne lub konto magazynu znajduje się za zaporą, ale nie skonfigurowaliśmy prywatnego punktu końcowego do użycia przez usługi magazynu.

lokalizacja Azure Portal Błąd
Okienko przeglądu - System.private.corelib:Odmowa dostępu do ścieżki "C:\home\site\wwwroot\hostj.son

- Azure.Storage.Blobs: to żądanie nie jest autoryzowane do wykonania tej operacji
Okienko Przepływy pracy - Nie można nawiązać połączenia ze środowiskiem uruchomieniowym hosta. Szczegóły błędu, kod: "BadRequest", komunikat: "Napotkano błąd (InternalServerError) ze środowiska uruchomieniowego hosta.

- Nie można nawiązać połączenia ze środowiskiem uruchomieniowym hosta. Szczegóły błędu, kod: "BadRequest", komunikat: "Napotkano błąd (ServiceUnavailable) ze środowiska uruchomieniowego hosta".

- Nie można nawiązać połączenia ze środowiskiem uruchomieniowym hosta. Szczegóły błędu, kod: "BadRequest", komunikat: "Napotkano błąd (BadGateway) ze środowiska uruchomieniowego hosta".
Podczas tworzenia i wykonywania przepływu pracy - Nie można zapisać przepływu pracy

- Błąd w projektancie: GetCallFailed. Nieudane pobieranie operacji

- Wywołanie ajaxExtended nie powiodło się

Opcje rozwiązywania problemów

Poniższa lista zawiera możliwe przyczyny tych błędów i kroków, które ułatwiają rozwiązywanie problemów.

  • W przypadku konta magazynu publicznego sprawdź dostęp do konta magazynu w następujący sposób:

    Jeśli łączność nie powiedzie się, sprawdź, czy klucz sygnatury dostępu współdzielonego (SAS) w parametrach połączenia jest najnowszy.

  • W przypadku konta magazynu, które znajduje się za zaporą, sprawdź dostęp do konta magazynu w następujący sposób:

    Jeśli znajdziesz problemy z łącznością, wykonaj następujące kroki:

    1. W tej samej sieci wirtualnej zintegrowanej z aplikacją logiki utwórz maszynę wirtualną platformy Azure, którą można umieścić w innej podsieci.

    2. W wierszu polecenia uruchom polecenie nslookup , aby sprawdzić, czy usługi Blob, File, Table i Queue Storage rozpoznają oczekiwane adresy IP.

      Składnia: nslookup [StorageaccountHostName] [OptionalDNSServer]

      Blob: nslookup {StorageaccountName}.blob.core.windows.net

      Plik: nslookup {StorageaccountName}.file.core.windows.net

      Tabeli: nslookup {StorageaccountName}.table.core.windows.net

      Kolejki: nslookup {StorageaccountName}.queue.core.windows.net

      • Jeśli usługa magazynu ma punkt końcowy usługi, usługa rozpoznaje publiczny adres IP.

      • Jeśli usługa magazynu ma prywatny punkt końcowy, usługa rozpoznaje odpowiednie prywatne adresy IP kontrolera interfejsu sieciowego (NIC).

    3. Jeśli poprzednie zapytania dotyczące serwera nazw domen (DNS) zostały pomyślnie rozwiązane, uruchom polecenia psping lub tcpping , aby sprawdzić łączność z kontem magazynu za pośrednictwem portu 443:

      Składnia: psping [StorageaccountHostName] [Port] [OptionalDNSServer]

      Blob: psping {StorageaccountName}.blob.core.windows.net:443

      Plik: psping {StorageaccountName}.file.core.windows.net:443

      Tabeli: psping {StorageaccountName}.table.core.windows.net:443

      Kolejki: psping {StorageaccountName}.queue.core.windows.net:443

    4. Jeśli każda usługa magazynu jest rozpoznawana z maszyny wirtualnej platformy Azure, znajdź system DNS używany przez maszynę wirtualną do rozpoznawania.

      1. Ustaw ustawienie aplikacji WEBSITE_DNS_SERVER aplikacji logiki na dns i upewnij się, że system DNS działa pomyślnie.

      2. Upewnij się, że integracja sieci wirtualnej jest poprawnie skonfigurowana z odpowiednią siecią wirtualną i podsiecią w aplikacji logiki w warstwie Standardowa.

    5. Jeśli używasz prywatnych stref DNS platformy Azure dla prywatnych usług punktu końcowego konta magazynu, sprawdź, czy połączenie sieci wirtualnej zostało utworzone do zintegrowanej sieci wirtualnej aplikacji logiki.

Aby uzyskać więcej informacji, zobacz Deploy Standard logic app to a storage account behind a firewall using service or private endpoints (Wdrażanie standardowej aplikacji logiki na koncie magazynu za zaporą przy użyciu usługi lub prywatnych punktów końcowych).

Następne kroki