Udostępnij za pośrednictwem


Rozwiązywanie problemów z aplikacją osadzoną

W tym artykule omówiono niektóre typowe problemy, które mogą wystąpić podczas osadzania zawartości z usługi Power BI.

Narzędzia do rozwiązywania problemów

Śledzenie Fiddler

Fiddler to bezpłatne narzędzie firmy Telerik, które monitoruje ruch HTTP. Za pomocą interfejsów API usługi Power BI można zobaczyć ruch z komputera klienckiego. To narzędzie może wyświetlać błędy i inne powiązane informacje.

Zrzut ekranu przedstawiający okno danych wyjściowych narzędzia Fiddler, które pokazuje ruch HTTP interfejsu API usługi Power BI.

F12 w przeglądarce na potrzeby debugowania frontonu

Klucz F12 uruchamia okno dewelopera w przeglądarce. To narzędzie umożliwia zapoznanie się z ruchem sieciowym i wyświetlenie innych cennych informacji.

Zrzut ekranu przedstawiający kartę Sieć okna dewelopera przeglądarki internetowej, która pokazuje ruch sieciowy.

Wyodrębnianie szczegółów błędu z odpowiedzi usługi Power BI

Ten fragment kodu pokazuje, jak wyodrębnić szczegóły błędu z wyjątku HTTP:

public static string GetExceptionText(this HttpOperationException exc)
{
    var errorText = string.Format("Request: {0}\r\nStatus: {1} ({2})\r\nResponse: {3}",
    exc.Request.Content, exc.Response.StatusCode, (int)exc.Response.StatusCode, exc.Response.Content);
    if (exc.Response.Headers.ContainsKey("RequestId"))
    {
        var requestId = exc.Response.Headers["RequestId"].FirstOrDefault();
        errorText += string.Format("\r\nRequestId: {0}", requestId);
    }

    return errorText;
}

Zalecamy rejestrowanie identyfikatora żądania (i szczegóły błędu na potrzeby rozwiązywania problemów). Podaj identyfikator żądania podczas zbliżania się do pomocy technicznej firmy Microsoft.

Rejestracja aplikacji

Niepowodzenie rejestracji aplikacji

Komunikaty o błędach w witrynie Azure Portal lub na stronie rejestracji aplikacji Power BI powiadomią Cię, jeśli nie masz wystarczających uprawnień do zarejestrowania aplikacji. Aby zarejestrować aplikację, musisz być administratorem w dzierżawie firmy Microsoft Entra lub rejestracje aplikacji muszą być włączone dla użytkowników niebędących administratorami.

Usługa Power BI nie jest wyświetlana w witrynie Azure Portal podczas rejestrowania nowej aplikacji

Co najmniej jeden użytkownik musi być zarejestrowany w usłudze Power BI. Jeśli nie widzisz usługi Power BI na liście interfejsów API, żaden użytkownik nie jest zarejestrowany do Power BI.

Jaka jest różnica między identyfikatorem obiektu aplikacji a identyfikatorem obiektu podmiotu zabezpieczeń?

Podczas rejestrowania aplikacji Microsoft Entra istnieją dwa parametry: identyfikator obiektu i. W tej sekcji opisano przeznaczenie każdego parametru i sposób uzyskiwania go.

Identyfikator obiektu aplikacji

Identyfikator obiektu aplikacji, znany również jako identyfikator obiektu , jest unikatowym identyfikatorem obiektu aplikacji Microsoft Entra.

Aby uzyskać identyfikator obiektu aplikacji, przejdź do aplikacji Microsoft Entra i skopiuj ją z Overview.

Zrzut ekranu przedstawiający okno witryny Azure Portal, które pokazuje identyfikator obiektu w bloku Przegląd aplikacji Microsoft Entra.

Identyfikator podmiotu głównego

Identyfikator obiektu głównego, znany również jako identyfikator obiektu , jest unikatowym identyfikatorem obiektu głównego jednostki usługi powiązanego z aplikacją Microsoft Entra.

Aby uzyskać identyfikator obiektu głównego, przejdź do aplikacji Microsoft Entra i z Przegląd, wybierz link aplikacji w Zarządzana aplikacja w katalogu lokalnym.

Zrzut ekranu przedstawiający okno witryny Azure Portal z opcją Zarządzana aplikacja w katalogu lokalnym w bloku Przegląd aplikacji Microsoft Entra.

W sekcji właściwości skopiuj identyfikator obiektu .

Zrzut ekranu przedstawiający okno witryny Azure Portal, które pokazuje identyfikator obiektu głównego w sekcji właściwości w bloku Przegląd aplikacji Microsoft Entra.

Uwierzytelnianie

Uwierzytelnianie nie powiodło się z AADSTS70002 lub AADSTS50053

(AADSTS70002: Błąd podczas sprawdzania poprawności poświadczeń. AADSTS50053: próbowano zalogować się zbyt wiele razy przy użyciu niepoprawnego identyfikatora użytkownika lub hasła)

Jeśli używasz uwierzytelniania bezpośredniego usługi Power BI Embedded i firmy Microsoft Entra, podczas próby zalogowania się może zostać wyświetlony komunikat podobny do poprzedniego, ponieważ bezpośrednie uwierzytelnianie nie jest włączone.

Bezpośrednie uwierzytelnianie można włączyć ponownie przy użyciu zasad firmy Microsoft Entra, które są ograniczone do organizacji, lub jednostki usługi.

Zalecamy włączenie tych zasad tylko dla poszczególnych aplikacji.

Aby utworzyć te zasady, musisz być administratorem globalnym dla katalogu, w którym tworzysz zasady i przypisujesz je. Oto przykładowy skrypt do tworzenia polityki dla tej aplikacji i przypisywania jej do SP:

  1. Zainstaluj Microsoft Graph PowerShell SDK .

  2. Uruchom następujące polecenia programu PowerShell wiersz po wierszu (upewniając się, że zmienna $sp nie ma więcej niż jednej aplikacji w wyniku).

    Connect-MgGraph -Scopes "Directory.Read.All","Policy.ReadWrite.ApplicationConfiguration"
    
    $sp = Get-MgServicePrincipal -Filter "DisplayName eq 'Name_Of_Application'"
    
    $policy = New-MgBetaPolicyActivityBasedTimeoutPolicy -Definition @("{`"AllowCloudPasswordValidation`":true}") `
       -DisplayName EnableDirectAuth -IsOrganizationDefault:$false
    
    $params = @{
       "@odata.id" = "https://graph.microsoft.com/v1.0/policies/claimsMappingPolicies/$policy.Id"
    }
    New-MgBetaServicePrincipalClaimMappingPolicyByRef -ServicePrincipalId $sp.Id `
       -BodyParameter $params
    

Po przypisaniu polityki poczekaj około 15–20 sekund na propagację przed rozpoczęciem testowania.

Generowanie tokenu kończy się niepowodzeniem w przypadku zapewnienia efektywnej tożsamości

GenerateToken może zakończyć się niepowodzeniem z obowiązującą tożsamością podaną z kilku różnych powodów:

  • Model semantyczny nie obsługuje efektywnej tożsamości.
  • Nie podano nazwy użytkownika.
  • Rola nie została podana.
  • DatasetId nie podano.
  • Użytkownik nie ma odpowiednich uprawnień.

Aby ustalić problem, spróbuj wykonać następujące czynności:

  • Uruchom pobierz zestaw danych. Czy właściwość IsEffectiveIdentityRequired jest prawdziwa?
  • Nazwa użytkownika jest wymagana dla dowolnego EffectiveIdentity.
  • Jeśli IsEffectiveIdentityRolesRequired ma wartość true, wymagana jest Rola.
  • DatasetId jest wymagany dla dowolnego EffectiveIdentity.
  • W przypadku usług Analysis Services użytkownik główny musi być administratorem bramy.

AADSTS90094: Udzielenie wymaga uprawnień administratora

objawy :

Gdy użytkownik niebędący administratorem próbuje zalogować się do aplikacji po raz pierwszy podczas udzielania zgody, otrzymuje jeden z następujących błędów:

  •   ConsentTest needs permission to access resources in your organization that only an admin can grant. Ask an admin to grant permission to this app before you can use it.
    
  •   AADSTS90094: The grant requires admin permission.
    

    Zrzut ekranu przedstawiający okno logowania w witrynie Azure Portal, w którym jest wyświetlany błąd uprawnień Testu zgody.

Administrator może pomyślnie zalogować się i udzielić zgody.

przyczyna główna:

Zgoda użytkownika jest wyłączona dla najemcy.

istnieje kilka poprawek:

  • Włącz zgodę użytkownika dla całego dzierżawcy (wszyscy użytkownicy, wszystkie aplikacje):
  1. W portalu Azure przejdź do Microsoft Entra ID>Użytkownicy i grupy>Ustawienia użytkownika.
  2. Włącz ustawienie Użytkownicy mogą wyrazić zgodę na aplikacje, które uzyskują dostęp do danych firmowych w ich imieniu i zapisz zmiany.

Zrzut ekranu witryny Azure Portal.

  • Administrator może przyznać uprawnienia do aplikacji — dla całego dzierżawcy lub konkretnego użytkownika.

Błąd CS1061

Pobierz Microsoft.IdentityModel.Clients.ActiveDirectory, jeśli wystąpi następujący błąd:

'AuthenticationContext' does not contain a definition for 'AcquireToken' and no accessible 'AcquireToken' accepting a first argument of type 'AuthenticationContext' could be found (are you missing a using directive or an assembly reference?)

Token Microsoft Entra dla innego dzierżawcy (użytkownik gościnny)

W przypadku osadzania dla organizacji, aby zezwolić użytkownikom-gościom firmy Microsoft Entra na dostęp do zawartości, należy określić identyfikator dzierżawy w parametrze authorityUri.

  • Adres URL do uwierzytelniania się w dzierżawie organizacji:

    https://login.microsoftonline.com/common/v2.0

  • Adres URL uwierzytelniania użytkownika usługi Microsoft Entra gościa:

    https://login.microsoftonline.com/<tenant ID>

Aby znaleźć identyfikator dzierżawcy, możesz użyć instrukcji w Znajdź identyfikator dzierżawcy Microsoft Entra i nazwę głównej domeny.

Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji wielotenantowej.

Źródła danych

ISV chce mieć różne poświadczenia dla tego samego źródła danych

Źródło danych może mieć jeden zestaw poświadczeń dla jednego użytkownika głównego. Jeśli musisz użyć różnych poświadczeń, utwórz więcej użytkowników głównych. Następnie przypisz różne poświadczenia do poszczególnych kontekstów użytkowników głównych i osadź przy użyciu tokenu Microsoft Entra tego użytkownika.

Rozwiązywanie problemów z aplikacją osadzoną za pomocą obiektu IError

Użyj obiektu IError zwróconego przez zdarzenie błędu z zestawu SDK języka JavaScript, aby debugować aplikację i lepiej zrozumieć przyczynę błędów.

Po uzyskaniu obiektu IError należy zapoznać się z odpowiednią tabelą typowych błędów, która pasuje do używanego typu osadzania. Porównaj właściwości IError z tymi w tabeli i znajdź możliwe przyczyny niepowodzenia.

Typowe błędy podczas osadzania dla użytkowników usługi Power BI

Komunikat Szczegółowy komunikat Kod błędu Możliwe przyczyny
Token wygasł Token dostępu wygasł, prześlij ponownie przy użyciu nowego tokenu dostępu 403 Wygasły token
PowerBIEntityNotFound Pobieranie raportu nie powiodło się 404
  • Nieprawidłowy identyfikator raportu
  • Raport nie istnieje
  • Nieprawidłowe parametry nie określono parametru powerbiToken N/A
  • Nie podano tokenu dostępu
  • Brak podanego identyfikatora raportu
  • ŁadowanieRaportuNiepowiodłoSię Nie udało się zainicjować; nie udało się rozwiązać klastra 403
  • Nieprawidłowy token dostępu
  • Typ osadzania nie jest zgodny z typem tokenu
  • PowerBINotAuthorizedException Pobieranie raportu nie powiodło się 401
  • Nieprawidłowy identyfikator grupy
  • Nieautoryzowana grupa
  • Token wygasł Token dostępu wygasł, prześlij ponownie przy użyciu nowego tokenu dostępu. Nie można renderować wizualizacji raportu zatytułowanej: tytuł wizualizacji N/A
  • Wykonywanie zapytań o dane
  • Wygasły token
  • OpenConnectionError Nie można wyświetlić wizualizacji. Nie można renderować wizualizacji raportu zatytułowanej: tytuł wizualizacji N/A Pojemność została wstrzymana lub usunięta, gdy raport związany z pojemnością był otwarty w sesji
    ExplorationContainer_FailedToLoadModel_DefaultDetails Nie można załadować schematu modelu skojarzonego z tym raportem. Upewnij się, że masz połączenie z serwerem i spróbuj ponownie. N/A
  • Zatrzymano działanie
  • Usunięto pojemność
  • Typowe błędy podczas osadzania dla użytkowników spoza usługi Power BI (przy użyciu tokenu osadzania)

    Komunikat Szczegółowy komunikat Kod błędu Możliwe przyczyny
    Token wygasł Token dostępu wygasł, prześlij ponownie przy użyciu nowego tokenu dostępu 403 Wygasły token
    Nie udało się wczytać raportu Pobieranie raportu nie powiodło się 404
  • Nieprawidłowy identyfikator raportu
  • Raport nie istnieje
  • ŁadowanieRaportuNiepowiodłoSię Pobieranie raportu nie powiodło się 403 Identyfikator raportu nie jest zgodny z tokenem
    Nie udało się załadować raportu Pobieranie raportu nie powiodło się 500 Podany identyfikator w raporcie nie jest GUID-em.
    Nieprawidłowe parametry nie określono parametru powerbiToken N/A
  • Nie podano tokenu dostępu
  • Brak podanego identyfikatora raportu
  • Nie udało się załadować raportu Nie udało się zainicjować — nie rozpoznano klastra 403 Nieprawidłowy typ tokenu lub nieprawidłowy token
    PowerBINotAuthorizedException Pobieranie raportu nie powiodło się 401 Nieprawidłowy/nieautoryzowany identyfikator grupy
    Token wygasł Token dostępu wygasł, prześlij ponownie przy użyciu nowego tokenu dostępu. Nie można wyświetlić wizualizacji raportu pod tytułem: tytuł wizualizacji N/A
  • Wykonywanie zapytań o dane
  • Wygasły token
  • OpenConnectionError Nie można wyświetlić wizualizacji. Nie można renderować wizualizacji raportu zatytułowanej: tytuł wizualizacji N/A Pojemność została wstrzymana lub usunięta, gdy raport związany z pojemnością był otwarty w sesji
    KontenerEksploracji_NieUdałoSięZaładowaćModelu_DomyślneSzczegóły Nie można załadować schematu modelu skojarzonego z tym raportem. Upewnij się, że masz połączenie z serwerem i spróbuj ponownie. N/A
  • Wstrzymana wydajność
  • Usunięto pojemność
  • Pobieranie raportu kończy się niepowodzeniem — błąd 401 — samodzielne rozwiązywanie problemów

    W scenariuszu użytkownik jest właścicielem danych, czasami użytkownicy otrzymają błąd 401, który rozwiązuje się po dokonaniu dostępu do portalu usługi Power BI. Po wystąpieniu błędu 401 dodaj w aplikacji wywołanie RefreshUser Permissions, jak wyjaśniono w Update user permissions.

    Modele semantyczne

    Zarządzanie częścią danych, które użytkownicy mogą zobaczyć

    Każdy użytkownik z uprawnieniami do odczytu dla modelu semantycznego może zobaczyć cały schemat (tabele, kolumny i miary) i wszystkie dane. Nie można kontrolować uprawnień do wyświetlania danych pierwotnych i zagregowanych oddzielnie w tym samym modelu semantycznym.

    Aby zarządzać częścią danych, które użytkownicy mogą wyświetlać, użyj jednej z następujących metod:

    Renderowanie zawartości

    Aby rozwiązać problemy z renderowaniem w osadzonych elementach usługi Power BI (takich jak raporty i pulpity nawigacyjne), zapoznaj się z tą sekcją.

    Sprawdź, czy element usługi Power BI jest ładowany w usłudze Power BI

    Aby wykluczyć problemy z aplikacją lub osadzanymi interfejsami API, sprawdź, czy element można wyświetlić w usłudze Power BI (powerbi.com).

    Sprawdź, czy element Power BI ładuje się w środowisku testowym osadzonej analityki Power BI.

    Aby wykluczyć problemy z aplikacją, sprawdź, czy element Power BI można wyświetlić w środowisku testowym osadzonych analiz Power BI.

    Sprawdź, czy token dostępu nie wygaśnie

    Ze względów bezpieczeństwa, token dostępu (token Entra firmy Microsoft lub token osadzania) ma ograniczony okres istnienia. W razie potrzeby należy stale monitorować token dostępu i odświeżać go. Aby uzyskać więcej informacji, zobacz Odśwież token dostępu.

    Wydajność

    Aby uzyskać najlepszą wydajność osadzonej zawartości, zalecamy wykonanie najlepszych rozwiązań analizy osadzonej usługi Power BI.

    Power BI Embedded — często zadawane pytania

    Więcej pytań? Zapytaj społeczność usługi Power BI