Řešení potíží s vloženou aplikací
Tento článek popisuje některé běžné problémy, které se můžou zobrazit při vkládání obsahu z Power BI.
Nástroje pro řešení potíží
Trasování Fiddleru
Fiddler je bezplatný nástroj od Společnosti Telerik, který monitoruje provoz HTTP. Provoz můžete zobrazit pomocí rozhraní API Power BI z klientského počítače. Tento nástroj může zobrazit chyby a další související informace.
F12 v prohlížeči pro ladění front-endu
Klávesa F12 spustí okno pro vývojáře v prohlížeči. Tento nástroj umožňuje podívat se na síťový provoz a zobrazit další cenné informace.
Extrahování podrobností o chybě z odpovědi Power BI
Tento fragment kódu ukazuje, jak extrahovat podrobnosti o chybě z výjimky 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;
}
Doporučujeme protokolovat ID žádosti (a podrobnosti o chybě pro řešení potíží). Při přístupu k podpoře Microsoftu zadejte ID žádosti.
Registrace aplikace
Selhání registrace aplikace
Chybové zprávy na webu Azure Portal nebo na stránce registrace aplikace Power BI vás upozorní, pokud nemáte dostatečná oprávnění k registraci aplikace. Pokud chcete zaregistrovat aplikaci, musíte být správcem v tenantovi Microsoft Entra nebo registrace aplikací musí být povolené pro uživatele, kteří nejsou správci.
Služba Power BI se nezobrazuje na webu Azure Portal při registraci nové aplikace
K Power BI musí být zaregistrovaný alespoň jeden uživatel. Pokud v seznamu rozhraní API nevidíte službu Power BI, není k Power BI zaregistrovaný žádný uživatel.
Jaký je rozdíl mezi ID objektu aplikace a ID hlavního objektu?
Při registraci aplikace Microsoft Entra existují dva parametry s názvem ID objektu. Tato část vysvětluje účel každého parametru a jeho získání.
ID objektu aplikace
ID objektu aplikace , označované také jako ID objektu , je jedinečné ID objektu aplikace Microsoft Entra.
Pokud chcete získat ID objektu aplikace, přejděte do aplikace Microsoft Entra a zkopírujte jej z Přehled.
ID hlavního objektu
ID instančního objektu, označované také jako ID objektu , je jedinečné ID instančního objektu přidružené k vaší aplikaci Microsoft Entra.
Pokud chcete získat ID hlavního objektu, přejděte do aplikace Microsoft Entra a v Přehledvyberte odkaz aplikace v Spravovaná aplikace v místním adresáři.
V části Vlastnosti zkopírujte ID objektu.
Autentizace
Ověřování selhalo s AADSTS70002 nebo AADSTS50053
(AADSTS70002: Chyba při ověřování přihlašovacích údajů AADSTS50053: Pokusili jste se přihlásit příliš mnohokrát s nesprávným ID uživatele nebo heslem)
Pokud používáte Power BI Embedded a přímé ověřování Microsoft Entra, může se vám při pokusu o přihlášení zobrazit zpráva podobná předchozí zprávě, protože přímé ověřování není povolené.
Přímé ověřování můžete znovu zapnout pomocí zásad Microsoft Entra, které jsou vymezeny pro organizaci, nebo aplikačního objektu.
Tuto zásadu doporučujeme povolit jenom pro jednotlivé aplikace.
Abyste mohli tuto zásadu vytvořit, je nutné být globálním správcem adresáře, kde vytváříte a přiřazujete zásadu. Tady je ukázkový skript pro vytvoření zásady a jeho přiřazení k SP pro tuto aplikaci:
Spusťte následující příkazy PowerShellu po řádku (ujistěte se, že proměnná
$sp
nemá v důsledku toho víc než jednu aplikaci).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 přiřazení zásady počkejte před testováním přibližně 15 až 20 sekund, aby se změny projevily.
Selhání generování tokenu při poskytování efektivní identity
GenerateToken
může selhat s efektivní identitou zadanou z několika různých důvodů:
- Sémantický model nepodporuje efektivní identitu.
- Uživatelské jméno nebylo zadané.
- Role nebyla poskytnuta.
-
DatasetId
nebyl poskytnut. - Uživatel nemá správná oprávnění.
Pokud chcete zjistit problém, vyzkoušejte následující kroky:
- Spusťte pro získání datové sady. Je vlastnost
IsEffectiveIdentityRequired
true? - Uživatelské jméno je vyžadováno pro všechny
EffectiveIdentity
. - Pokud je
IsEffectiveIdentityRolesRequired
pravdivá, je vyžadována role. -
DatasetId
se vyžaduje pro jakýkolivEffectiveIdentity
. - Pro Analysis Services musí být hlavním uživatelem správce brány.
AADSTS90094: Udělení vyžaduje oprávnění správce.
příznaky :
Když se uživatel bez oprávnění správce pokusí přihlásit k aplikaci poprvé při udělování souhlasu, zobrazí se jedna z následujících chyb:
-
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.
Uživatel s oprávněním správce se může přihlásit a udělit souhlas úspěšně.
Hlavní příčina:
Souhlas uživatele je pro tenanta zakázaný.
je možné provést několik oprav:
- Povolení souhlasu uživatele pro celého tenanta (všichni uživatelé, všechny aplikace):
- Na webu Azure Portal přejděte na ID Microsoft Entra>Uživatelé a skupiny>Nastavení uživatele.
- Povolte nastavení Uživatelé můžou udělit souhlas s aplikacemi, které přistupují k firemním datům jejich jménem, a uložte změny.
- Správce může aplikaci udělit oprávnění – buď pro celého tenanta, nebo pro konkrétního uživatele.
Chyba CS1061
Pokud dojde k následující chybě, stáhněte Microsoft.IdentityModel.Clients.ActiveDirectory:
'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 pro jiného klienta (hostující uživatel)
Když vložení pro vaši organizaci, aby hosté Microsoft Entra měli přístup k vašemu obsahu, musíte v parametru authorityUri
zadat ID tenanta.
Adresa URL pro ověřování v tenantovi vaší organizace:
https://login.microsoftonline.com/common/v2.0
Adresa URL pro ověření hostujícího uživatele Microsoft Entra:
https://login.microsoftonline.com/<tenant ID>
K vyhledání ID tenanta můžete použít pokyny v Najít ID tenanta Microsoft Entra a primární název domény.
Další informace naleznete v tématu Jak vytvořit vaši aplikaci víceklientskou.
Zdroje dat
IsV chce mít pro stejný zdroj dat jiné přihlašovací údaje.
Zdroj dat může mít jednu sadu přihlašovacích údajů pro jednoho hlavního uživatele. Pokud potřebujete použít jiné přihlašovací údaje, vytvořte další hlavní uživatele. Potom přiřaďte k jednotlivým kontextům hlavního uživatele různé přihlašovací údaje a vložte je pomocí tokenu Microsoft Entra tohoto uživatele.
Řešení potíží s vloženou aplikací pomocí objektu IError
Použijte objekt IError vrácený událostí chyby ze sady JavaScript SDK k ladění aplikace a lepšímu pochopení příčiny chyb.
Po získání objektu IError byste se měli podívat na příslušnou tabulku běžných chyb, která odpovídá používanému typu vložení. Porovnejte vlastnosti IError s vlastnostmi v tabulce a vyhledejte možné důvody selhání.
Typické chyby při vkládání pro uživatele Power BI
Zpráva | Podrobná zpráva | Kód chyby | Možné důvody |
---|---|---|---|
Platnost tokenu vypršela | Platnost přístupového tokenu vypršela, odešlete prosím žádost znovu s novým přístupovým tokenem. | 403 | Token s vypršenou platností |
PowerBIEntityNotFound | Získání sestavy se nezdařilo. | 404 | |
Neplatné parametry | Parametr powerbiToken není zadaný. | Není k dispozici | |
NačteníZprávySelhalo | Nepodařilo se inicializovat – Nepodařilo se vyřešit cluster | 403 | |
PowerBINotAuthorizedException | Zprávu se nepodařilo získat. | 401 | |
Platnost tokenu vypršela | Platnost přístupového tokenu vypršela, odešlete znovu s novým přístupovým tokenem. Nelze vykreslit vizuál sestavy s názvem: název vizuálu | Není k dispozici | |
OpenConnectionError | Vizuál se nedá zobrazit. Vizuál sestavy nelze vykreslit s názvem: název vizuálu | Není k dispozici | Kapacita byla pozastavena nebo smazána během relace, kdy byla otevřena sestava související s kapacitou. |
Kontejner průzkumu: Nepodařilo se načíst model - Výchozí podrobnosti | Nelze načíst schéma modelu přidružené k této sestavě. Ujistěte se, že máte připojení k serveru, a zkuste to znovu. | Není k dispozici |
Typické chyby při vkládání pro uživatele mimo Power BI (pomocí tokenu pro vložení)
Zpráva | Podrobná zpráva | Kód chyby | Možné důvody |
---|---|---|---|
Platnost tokenu vypršela | Platnost přístupového tokenu vypršela, znovu odešlete žádost s novým přístupovým tokenem. | 403 | Token s vypršenou platností |
NačteníZprávySelhalo | Nepodařilo se získat sestavu. | 404 | |
NačteníZprávySelhalo | Získání sestavy se nezdařilo. | 403 | ID sestavy neodpovídá tokenu |
Selhání načítání zprávy | Nepodařilo se získat sestavu. | 500 | Zadané poskytnuté ID není GUID |
Neplatné parametry | Parametr powerbiToken není zadaný. | Není k dispozici | |
NačítáníZprávySelhalo | Nepodařilo se inicializovat – Nepodařilo se vyřešit cluster | 403 | Nesprávný typ tokenu nebo chybný token |
PowerBINotAuthorizedException | Sestavu se nepodařilo získat. | 401 | Nesprávné nebo neautorizované ID skupiny |
Platnost tokenu vypršela | Platnost přístupového tokenu vypršela, použijte nový přístupový token k odeslání žádosti znovu. Vizuál sestavy nelze vykreslit s názvem: název vizuálu | Není k dispozici | |
OpenConnectionError | Vizuál se nedá zobrazit. Nelze vykreslit vizuál sestavy s názvem: název vizuálu | Není k dispozici | Zatímco byla v relaci otevřena sestava související s kapacitou, kapacita byla pozastavena nebo odstraněna. |
Průzkumník_Kontejner_NepodařiloSeNačístModel_VýchozíPodrobnosti | Nelze načíst schéma modelu přidružené k této sestavě. Ujistěte se, že máte připojení k serveru, a zkuste to znovu. | Není k dispozici |
Načítání zprávy selže – chyba 401 – vyřešte sami
Ve scénáři uživatel vlastní data se někdy uživatelům zobrazí chyba 401, která se vyřeší po přístupu k portálu Power BI. Pokud dojde k chybě 401, přidejte do aplikace volání RefreshUser oprávnění, jak je uvedeno v Aktualizace uživatelských oprávnění.
Sémantické modely
Správa části dat, která uživatelé uvidí
Každý uživatel s oprávněním ke čtení pro sémantický model může zobrazit celé schéma (tabulky, sloupce a míry) a všechna data. Zobrazení oprávnění k nezpracovaným a agregovaným datům nemůžete řídit samostatně ve stejném sémantickém modelu.
Pokud chcete spravovat, kterou část dat můžou uživatelé zobrazit, použijte jednu z následujících metod:
Filtrování na úrovni řádků pomocí Power BI zabezpečení na úrovni řádků (RLS).
Data oddělte do různých sémantických modelů. Můžete například vytvořit sémantický model, který obsahuje pouze agregovaná data, a poskytnout uživatelům přístup pouze k sadě sémantických modelů.
Vykreslování obsahu
Pokud chcete vyřešit problémy s vykreslováním ve vložených položkách Power BI (například sestavách a řídicích panelech), projděte si tuto část.
Ověřte, že se položka Power BI načte ve službě Power BI
Pokud chcete vyloučit problémy s vaší aplikací nebo rozhraními API pro vkládání, ověřte, že je možné položku zobrazit ve službě Power BI (powerbi.com).
Ověřte, že se položka Power BI načte v testovacím prostředí Power BI pro vloženou analytiku.
Chcete-li vyloučit problémy s vaší aplikací, ověřte, že je možné položku Power BI zobrazit v integrovaném analytickém prostředí Power BI na .
Ověřte, že nevypršela platnost přístupového tokenu.
Pro účely zabezpečení mají přístupové tokeny (token Microsoft Entra nebo token pro vložení) omezenou životnost. V případě potřeby byste měli neustále monitorovat přístupový token a aktualizovat ho. Další informace najdete v tématu Aktualizace přístupového tokenu.
Výkon
Pokud chcete dosáhnout nejlepšího výkonu vloženého obsahu, doporučujeme se řídit osvědčenými postupy pro analýzy Power BI Embedded .
Související obsah
Power BI Embedded – nejčastější dotazy
Máte další otázky? Položit otázku komunitě Power BI