Rozwiązywanie problemów z osadzoną aplikacją
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 za pomocą narzędzia Fiddler
Fiddler to bezpłatne narzędzie firmy Telerik, które monitoruje ruch HTTP. Możesz zobaczyć ruch z interfejs API usługi Power BI z komputera klienckiego. To narzędzie może wyświetlać błędy i inne powiązane informacje.
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.
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ługa Power BI na liście interfejsów API, żaden użytkownik nie jest zarejestrowany w usłudze Power BI.
Jaka jest różnica między identyfikatorem obiektu aplikacji a identyfikatorem obiektu podmiotu zabezpieczeń?
Podczas rejestrowania aplikacji Microsoft Entra istnieją dwa parametry nazywane identyfikatorem obiektu. 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 sekcji Przegląd.
Identyfikator obiektu podmiotu zabezpieczeń
Identyfikator obiektu głównego, znany również po prostu jako identyfikator obiektu, jest unikatowym identyfikatorem obiektu jednostki usługi skojarzonego z aplikacją Microsoft Entra.
Aby uzyskać identyfikator obiektu podmiotu zabezpieczeń, przejdź do aplikacji Microsoft Entra, a następnie w obszarze Przegląd wybierz link aplikacji w aplikacji zarządzanej w katalogu lokalnym.
W sekcji Właściwości skopiuj identyfikator obiektu.
Uwierzytelnianie
Uwierzytelnianie nie powiodło się z błędem AADSTS70002 lub AADSTS50053
(AADSTS70002: Błąd podczas sprawdzania poprawności poświadczeń. AADSTS50053: Próbowano zalogować się zbyt wiele razy przy użyciu nieprawidłowego 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ć globalnym Administracja istratorem katalogu, w którym tworzysz zasady i przypisujesz je. Oto przykładowy skrypt do tworzenia zasad i przypisywania go do dostawcy usług dla tej aplikacji:
Zainstaluj zestaw MICROSOFT Graph PowerShell SDK.
Uruchom następujące polecenia programu PowerShell wiersz po wierszu (upewniając się, że zmienna
$sp
nie ma więcej niż jednej aplikacji w rezultacie).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 zasad 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 kilku różnych powodów podanych przez obowiązującą tożsamość:
- 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 polecenie Pobierz zestaw danych. Czy właściwość
IsEffectiveIdentityRequired
jest prawdziwa? - Nazwa użytkownika jest wymagana dla dowolnego
EffectiveIdentity
elementu . - Jeśli
IsEffectiveIdentityRolesRequired
wartość jest prawdziwa, wymagana jest rola. DatasetId
jest wymagany dla dowolnegoEffectiveIdentity
elementu .- W przypadku usług Analysis Services użytkownik główny musi być administratorem bramy.
AADSTS90094: Wyrażanie zgody 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.
Administrator może pomyślnie zalogować się i udzielić zgody.
Główna przyczyna:
Zgoda użytkownika jest wyłączona dla dzierżawy.
Możliwe jest kilka poprawek:
- Włącz zgodę użytkownika dla całej dzierżawy (wszyscy użytkownicy, wszystkie aplikacje):
- W witrynie Azure Portal przejdź do pozycji Microsoft Entra ID>Użytkownicy i grupy>Ustawienia użytkownika.
- Włącz opcję Użytkownicy mogą wyrazić zgodę na aplikacje, które uzyskują dostęp do danych firmowych w ich imieniu, i zapisują zmiany.
- Administrator może udzielić uprawnień do aplikacji — dla całej dzierżawy lub określonego użytkownika.
Błąd CS1061
Pobierz plik 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 firmy Microsoft Entra dla innej dzierżawy (użytkownik-gość)
Jeśli osadzasz dla swojej organizacji, aby zezwolić użytkownikom-gościom usługi Microsoft Entra na dostęp do zawartości, musisz określić identyfikator dzierżawy w parametrze authorityUri
.
Adres URL uwierzytelniania 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żawy, możesz użyć instrukcji w artykule Znajdowanie identyfikatora dzierżawy firmy Microsoft Entra i podstawowej nazwy domeny.
Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji wielodostępnej.
Źródła danych
Niezależnego dostawcy oprogramowania 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 JAVAScript SDK, 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 |
---|---|---|---|
TokenExpired | 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łowe parametry | nie określono parametru powerbiToken | Nie dotyczy | |
LoadReportFailed | Nie można zainicjować — nie można rozpoznać klastra | 403 | |
PowerBINotAuthorizedException | Pobieranie raportu nie powiodło się | 401 | |
TokenExpired | Token dostępu wygasł, prześlij ponownie przy użyciu nowego tokenu dostępu. Nie można renderować wizualizacji raportu zatytułowanej: tytuł wizualizacji | Nie dotyczy | |
Otwórz Połączenie ionError | Nie można wyświetlić wizualizacji. Nie można renderować wizualizacji raportu zatytułowanej: tytuł wizualizacji | Nie dotyczy | 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. | Nie dotyczy |
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 | Przyczyny |
---|---|---|---|
TokenExpired | Token dostępu wygasł, prześlij ponownie przy użyciu nowego tokenu dostępu | 403 | Wygasły token |
LoadReportFailed | Pobieranie raportu nie powiodło się | 404 | |
LoadReportFailed | Pobieranie raportu nie powiodło się | 403 | Identyfikator raportu nie jest zgodny z tokenem |
LoadReportFailed | Pobieranie raportu nie powiodło się | 500 | Identyfikator podany w raporcie nie jest identyfikatorem GUID |
Nieprawidłowe parametry | nie określono parametru powerbiToken | Nie dotyczy | |
LoadReportFailed | Nie można zainicjować — nie można rozpoznać klastra | 403 | Nieprawidłowy typ tokenu lub nieprawidłowy token |
PowerBINotAuthorizedException | Pobieranie raportu nie powiodło się | 401 | Nieprawidłowy/nieautoryzowany identyfikator grupy |
TokenExpired | Token dostępu wygasł, prześlij ponownie przy użyciu nowego tokenu dostępu. Nie można renderować wizualizacji raportu zatytułowanej: tytuł wizualizacji | Nie dotyczy | |
Otwórz Połączenie ionError | Nie można wyświetlić wizualizacji. Nie można renderować wizualizacji raportu zatytułowanej: tytuł wizualizacji | Nie dotyczy | 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. | Nie dotyczy |
Pobieranie raportu kończy się niepowodzeniem — błąd 401 — samodzielne rozwiązywanie problemów
W scenariuszu użytkownika będącego 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 wywołanie RefreshUser Permissions w aplikacji, zgodnie z opisem w temacie Aktualizowanie uprawnień użytkownika.
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:
Filtrowanie na poziomie wiersza przy użyciu zabezpieczeń na poziomie wiersza (RLS) usługi Power BI.
Rozdziel dane na różne modele semantyczne. Na przykład można utworzyć model semantyczny, który zawiera tylko zagregowane dane i przyznać użytkownikom dostęp tylko do tego modelu semantycznego.
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ługa Power BI
Aby wykluczyć problemy z aplikacją lub interfejsami API osadzania, sprawdź, czy element można wyświetlić w usługa Power BI (powerbi.com).
Sprawdź, czy element usługi Power BI ładuje się na placu zabaw osadzonej analizy usługi Power BI
Aby wykluczyć problemy z aplikacją, sprawdź, czy element usługi Power BI można wyświetlić na osadzonym placu zabaw analizy usługi Power BI.
Sprawdź, czy token dostępu nie wygaśnie
W celach zabezpieczających tokeny dostępu (token entra firmy Microsoft lub token osadzania) mają 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żanie tokenu dostępu.
Wydajność
Aby uzyskać najlepszą wydajność osadzonej zawartości, zalecamy stosowanie najlepszych rozwiązań z zakresu osadzonej analizy usługi Power BI.
Narzędzie do konfigurowania osadzania
Aby szybko pobrać przykładową aplikację, możesz przejść przez narzędzie do konfigurowania osadzania. Następnie możesz porównać aplikację z przykładem.
Wymagania wstępne
Przed użyciem narzędzia do konfigurowania osadzania sprawdź, czy masz wszystkie odpowiednie wymagania wstępne. Potrzebujesz konta usługi Power BI Pro i subskrypcji platformy Microsoft Azure .
- Jeśli nie masz konta w usłudze Power BI Pro, przed rozpoczęciem utwórz konto bezpłatnej wersji próbnej .
- Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
- Musisz mieć własną konfigurację dzierżawy firmy Microsoft Entra.
- Potrzebny jest zainstalowany program Visual Studio (wersja 2013 lub nowsza).
Typowe problemy
Niektóre typowe problemy, które mogą wystąpić podczas testowania za pomocą narzędzia do konfigurowania osadzania, to:
Korzystanie z przykładowej aplikacji Osadzanie dla klientów
Jeśli pracujesz z funkcją Osadzanie dla swoich klientów , zapisz i rozpakuj plik PowerBI-Developer-Samples.zip . Następnie otwórz folder PowerBI-Developer-Samples-master\App Owns Data i uruchom plik PowerBIEmbedded_AppOwnsData.sln .
- Podczas wybierania pozycji Udziel uprawnień (krok Udzielanie uprawnień) występuje następujący błąd:
AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
Rozwiązaniem jest zamknięcie wyskakującego okienka, odczekaj kilka sekund i spróbuj ponownie. Może być konieczne powtórzenie tej akcji kilka razy. Interwał czasu powoduje, że problem polega na zakończeniu procesu rejestracji aplikacji do momentu, gdy jest on dostępny dla zewnętrznych interfejsów API.
- Podczas uruchamiania przykładowej aplikacji zostanie wyświetlony następujący komunikat o błędzie:
Password is empty. Please fill password of Power BI username in web.config.
Ten błąd występuje, ponieważ jedyną wartością, która nie jest wstrzykiwana do przykładowej aplikacji, jest hasło użytkownika. Otwórz plik Web.config w rozwiązaniu i wypełnij pbiPassword
pole hasłem użytkownika.
- Jeśli zostanie wyświetlony komunikat o błędzie:
AADSTS50079: The user is required to use multi-factor authentication.
Musisz użyć konta Microsoft Entra, które nie ma włączonej uwierzytelniania wieloskładnikowego.
Korzystanie z przykładowej aplikacji Embed for your organization
Jeśli pracujesz z funkcją Osadzanie dla swojej organizacji , zapisz i rozpakuj plik PowerBI-Developer-Samples.zip . Następnie otwórz folder PowerBI-Developer-Samples-master\User Owns Data\integrate-report-web-app i uruchom plik pbi-saas-embed-report.sln .
- Po uruchomieniu przykładowej aplikacji Osadzanie dla organizacji zostanie wyświetlony następujący błąd:
AADSTS50011: The reply URL specified in the request doesn't match the reply URLs configured for the application: <client ID>
Ten błąd jest spowodowany tym, że adres URL przekierowania określony dla aplikacji serwera internetowego różni się od adresu URL przykładu. Jeśli chcesz zarejestrować przykładową aplikację, użyj jej https://localhost:13526/
jako adresu URL przekierowania.
Jeśli chcesz edytować zarejestrowaną aplikację, zaktualizuj zarejestrowaną aplikację firmy Microsoft, aby aplikacja mogła zapewnić dostęp do internetowych interfejsów API.
Jeśli chcesz edytować profil użytkownika lub dane usługi Power BI, dowiedz się, jak edytować dane usługi Power BI.
- Jeśli zostanie wyświetlony komunikat o błędzie:
AADSTS50079: The user is required to use multi-factor authentication.
Musisz użyć konta Microsoft Entra, które nie ma włączonej uwierzytelniania wieloskładnikowego.
Aby uzyskać więcej informacji, zobacz Często zadawane pytania dotyczące usługi Power BI Embedded.
Aby uzyskać dalszą pomoc, skontaktuj się z pomocą techniczną lub utwórz bilet pomocy technicznej za pośrednictwem witryny Azure Portal i podaj napotkane komunikaty o błędach.
Powiązana zawartość
Usługa Power BI Embedded — często zadawane pytania
Masz więcej pytań? Zapytaj Społeczność usługi Power BI