Upotetun sovelluksen vianmääritys
Tässä artikkelissa käsitellään joitain yleisiä ongelmia, joita voi ilmetä upotettaessa sisältöä Power BI:stä.
Vianmääritystyökalut
Jäljitys Fiddlerillä
Fiddler on Telerikin kehittämä maksuton työkalu, joka valvoo HTTP-liikennettä. Voit tarkastella Power BI -ohjelmointirajapintojen tiedonkulkua asiakaskoneelta. Tämä työkalu saattaa näyttää virheitä ja muita olennaisia tietoja.
F12 selainpuolen virheenkorjausta varten
F12-avain käynnistää kehittäjä-ikkunan selaimessasi. Tämän työkalun avulla voit tarkastella verkkoliikennettä ja nähdä muita arvokkaita tietoja.
Virhetietojen poimiminen Power BI:n vastauksesta
Tämä koodikatkelma näyttää, miten voit poimia virhetiedot HTTP-poikkeuksesta:
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;
}
On suositeltavaa kirjata pyyntötunnus (sekä virhetiedot vianmääritystä varten). Anna pyyntötunnus, kun otat yhteyttä Microsoft-tukeen.
Sovellusrekisteröinti
Sovelluksen rekisteröinnin virhe
Azure-portaali tai Power BI -sovelluksen rekisteröintisivulla olevat virhesanomat ilmoittavat, jos sinulla ei ole riittäviä oikeuksia sovelluksen rekisteröintiin. Voidaksesi rekisteröidä sovelluksen sinun on oltava Microsoft Entra -vuokraajan järjestelmänvalvoja tai sovellusten rekisteröiminen pitää sallia erikseen myös muille kuin järjestelmänvalvojille.
Power BI -palvelu ei näy Azure-portaali uutta sovellusta rekisteröitäessä
Vähintään yhden käyttäjän on oltava rekisteröitynyt Power BI:hin. Jos et näe Power BI -palvelu ohjelmointirajapintaluettelossa, kukaan käyttäjistä ei ole rekisteröitynyt Power BI:hin.
Mitä eroa on sovelluksen objektitunnuksella ja pääobjektitunnuksella?
Kun rekisteröit Microsoft Entra -sovelluksen, siinä on kaksi parametria, joita kutsutaan objektitunnuksi. Tässä osiossa kerrotaan kunkin parametrin tarkoitus ja sen hankkiminen.
Sovelluksen objektitunnus
Sovelluksen objektitunnus, jota kutsutaan myös objektitunnukseksi, on Microsoft Entra -sovellusobjektisi yksilöivä tunnus.
Jos haluat saada sovelluksen objektitunnuksen, siirry Microsoft Entra -sovellukseen ja kopioi se Yleiskatsaus-kohdasta.
Principal object ID
Objektitunnus, jota kutsutaan myös objektitunnukseksi, on Microsoft Entra -sovellukseen liittyvän palvelun pääobjektin yksilöivä tunnus.
Voit hakea ensisijaisen objektitunnuksen siirtymällä Microsoft Entra -sovellukseen ja valitsemalla Yleiskatsaus-kohdasta sovelluslinkin kohdassa Hallittu sovellus paikallisessa hakemistossa.
Kopioi Ominaisuudet-osiosta objektitunnus.
Todentaminen
todentaminen epäonnistui AADSTS70002 tai AADSTS50053 kanssa
(AADSTS70002: Virhe vahvistettaessa tunnistetietoja. AADSTS50053: Olet yrittänyt kirjautua sisään liian monta kertaa virheelliellä käyttäjätunnuksella tai salasanalla)
Jos käytät Power BI Embeddedin ja Microsoft Entran suoraa todennusta, saatat saada edellisen viestin kaltaisen viestin, kun yrität kirjautua sisään, koska suora todennus ei ole käytössä.
Voit ottaa suoran todennuksen takaisin käyttöön käyttämällä Microsoft Entra -käytäntöä, joka on rajoitettu organisaatioon, tai palvelun päänimeä.
Suosittelemme, että otat tämän käytännön käyttöön vain sovelluskohtaisesti.
Jotta voit luoda tämän käytännön, sinun on oltava sen hakemiston yleinen Hallinta määrite, johon luot ja määrität käytännön. Tässä on mallikomentosarja käytännön luomiseksi ja sen määrittämiseksi tämän sovelluksen SP:lle:
Suorita seuraavat PowerShell-komennot rivi riviltä (varmista, että muuttujan
$sp
tuloksena on vain yksi sovellus).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
Odota käytännön määrittämisen jälkeen noin 15–20 sekuntia välittämistä varten ennen testausta.
Tunnuksen muodostaminen epäonnistuu, kun käytössä oleva käyttäjätieto annetaan
GenerateToken
voi epäonnistua, jos käyttäjätietoja on annettu muutamasta eri syystä:
- Semanttinen malli ei tue voimassa olevia käyttäjätietoja.
- Käyttäjänimeä ei ole annettu.
- Roolia ei ole annettu.
DatasetId
ei ole annettu.- Käyttäjällä ei ole tarvittavia oikeuksia.
Voit selvittää ongelman seuraavasti:
- Suorita Hae tietojoukko. Onko ominaisuus
IsEffectiveIdentityRequired
tosi? - Käyttäjänimi vaaditaan jokaiselle
EffectiveIdentity
lle. - Jos
IsEffectiveIdentityRolesRequired
arvo on tosi, rooli vaaditaan. DatasetId
-arvo vaaditaan jokaiselle .-lleEffectiveIdentity
.- Pääkäyttäjän on oltava yhdyskäytävän järjestelmänvalvoja, jotta hän voi käyttää Analysis Servicesiä.
AADSTS90094: Myöntäminen edellyttää järjestelmänvalvojan käyttöoikeutta
Oireita:
Kun muu kuin järjestelmänvalvojana toimiva käyttäjä yrittää ensimmäistä kertaa kirjautua sisään sovellukseen luvan myöntämiseksi, näkyviin tulee jokin seuraavista virheistä:
-
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.
Järjestelmänvalvojana oleva käyttäjä voi kirjautua sisään ja myöntää luvan.
Syy:
Käyttäjän suostumus on poistettu käytöstä vuokraajalle.
Ongelma voidaan korjata usealla eri korjauksella:
- Ota käyttäjän lupa käyttöön koko vuokraajalle (kaikki käyttäjät, kaikki sovellukset):
- Siirry Azure-portaali kohtaan Microsoft Entra ID>-käyttäjät ja ryhmät>Käyttäjäasetukset.
- Anna Käyttäjille mahdollisuus antaa sovellukselle suostumus käyttää yrityksen tietoja puolestaan -asetus ja tallentaa muutokset.
- Järjestelmänvalvoja voi myöntää käyttöoikeudet sovellukseen joko koko vuokraajalle tai tietylle käyttäjälle.
CS1061-virhe
Lataa Microsoft.IdentityModel.Clients.ActiveDirectory , jos saat seuraavan virheilmoituksen:
'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?)
Microsoft Entra -tunnus toiselle vuokraajalle (vieraskäyttäjälle)
Kun upotat organisaatiolle, jotta Microsoft Entra -vieraskäyttäjät voivat käyttää sisältöäsi, sinun on määritettävä vuokraajatunnus parametrissa authorityUri
.
URL-osoite organisaatiosi vuokraajan todentamiseen:
https://login.microsoftonline.com/common/v2.0
URL-osoite Microsoft Entra -vieraan käyttäjän todentamiseen:
https://login.microsoftonline.com/<tenant ID>
Voit etsiä vuokraajatunnuksesi noudattamalla ohjeita kohdassa Etsi Microsoft Entra -vuokraajatunnus ja ensisijainen toimialuenimi.
Lisätietoja on kohdassa Sovelluksen määrittäminen usealle vuokraajalle.
Tietolähteet
ISV haluaa eri tunnistetiedot samalle tietolähteelle
Tietolähteellä voi olla vain yksi tunnistetietojoukko yhtä pääkäyttäjää varten. Jos sinun on käytettävä eri tunnistetietoja, luo enemmän pääkäyttäjiä. Määritä sitten eri tunnistetiedot kunkin pääkäyttäjän konteksteihin ja upota ne käyttämällä käyttäjän Microsoft Entra -tunnusta.
Upotetun sovelluksen vianmääritys IError-objektin avulla
IError-objektin hankkimisen jälkeen sinun tulee tarkastella asianmukaista yleisten virheiden taulukkoa, joka sopii käyttämääsi upotustyyppiin. Vertaa IError-ominaisuuksia taulukossa oleviin ja etsi mahdolliset syyt virheisiin.
Tavalliset virheet käytettäessä upottamista Power BI -käyttäjien käyttöön
Viesti | Yksityiskohtainen viesti | Virhekoodi | Mahdolliset syyt |
---|---|---|---|
Tunnus On vanhentunut | Käyttöoikeustietue on vanhentunut, lähetä uudelleen uudella käyttöoikeustietueella | 403 | Vanhentunut tunnus |
PowerBIEntityNotFound | Raportin hakeminen epäonnistui | 404 | |
Virheelliset parametrit | powerbiToken-parametria ei määritetty | – | |
LoadReportFailed | Alustaminen epäonnistui – klusteria ei voitu selvittää | 403 | |
PowerBINotAuthorizedException | Raportin hakeminen epäonnistui | 401 | |
Tunnus On vanhentunut | Käyttöoikeustietue on vanhentunut, lähetä uudelleen uudella käyttöoikeustietueella. Visualisoinnin otsikkoa ei voitu hahmontaa: visualisoinnin otsikko | – | |
Open Näyttöyhteys ionError | Visualisointia ei voi näyttää. Visualisoinnin otsikkoa ei voitu hahmontaa: visualisoinnin otsikko | – | Kapasiteetti on keskeytetty tai poistettu, kun kapasiteettiin liittyvä raportti oli avoimena istunnossa |
ExplorationContainer_FailedToLoadModel_DefaultDetails | Tähän raporttiin liittyvää mallirakennetta ei voitu ladata. Varmista, että palvelimeen on yhteys, ja yritä uudelleen. | – |
Tavalliset virheet käytettäessä upottamista Power BI -käyttäjien käyttöön (upotustunnuksen avulla)
Viesti | Yksityiskohtainen viesti | Virhekoodi | Syistä |
---|---|---|---|
Tunnus On vanhentunut | Käyttöoikeustietue on vanhentunut, lähetä uudelleen uudella käyttöoikeustietueella | 403 | Vanhentunut tunnus |
LoadReportFailed | Raportin hakeminen epäonnistui | 404 | |
LoadReportFailed | Raportin hakeminen epäonnistui | 403 | Raporttitunnus ei vastaa tunnusta |
LoadReportFailed | Raportin hakeminen epäonnistui | 500 | Annettu raporttitunnus ei ole GUID-tunnus |
Virheelliset parametrit | powerbiToken-parametria ei määritetty | – | |
LoadReportFailed | Alustaminen epäonnistui – klusteria ei voitu selvittää | 403 | Väärä tunnustyyppi tai virheellinen tunnus |
PowerBINotAuthorizedException | Raportin hakeminen epäonnistui | 401 | Väärä/valtuuttamaton ryhmän tunnus |
Tunnus On vanhentunut | Käyttöoikeustietue on vanhentunut, lähetä uudelleen uudella käyttöoikeustietueella. Visualisoinnin otsikkoa ei voitu hahmontaa: visualisoinnin otsikko | – | |
Open Näyttöyhteys ionError | Visualisointia ei voi näyttää. Visualisoinnin otsikkoa ei voitu hahmontaa: visualisoinnin otsikko | – | Kapasiteetti on keskeytetty tai poistettu, kun kapasiteettiin liittyvä raportti oli avoimena istunnossa |
ExplorationContainer_FailedToLoadModel_DefaultDetails | Tähän raporttiin liittyvää mallirakennetta ei voitu ladata. Varmista, että palvelimeen on yhteys, ja yritä uudelleen. | – |
Hae raportti epäonnistuu – virhe 401 – korjaa se itse
Käyttäjä omistaa tiedot -skenaariossa käyttäjät saavat joskus 401-virheen, joka korjaa itsensä Power BI -portaalin käytön jälkeen. Kun 401-virhe ilmenee, lisää RefreshUser Permissions -kutsu sovellukseen artikkelissa Käyttäjien käyttöoikeuksien päivittäminen selitettynä.
Semanttiset mallit
Käyttäjien näkemän tieto-osan hallinta
Kuka tahansa käyttäjä, jolla on semanttisen mallin lukuoikeudet, voi nähdä koko rakenteen (taulukot, sarakkeet ja mittarit) ja kaikki tiedot. Et voi hallita raaka- ja koostetietojen tarkasteluoikeuksia erikseen samassa semanttisessa mallissa.
Voit hallita sitä, mitä tietojen osaa käyttäjät voivat tarkastella, käyttämällä jotakin seuraavista menetelmistä:
Rivitason suodatus Power BI :n rivitason suojauksen (RLS) avulla.
Erota tiedot eri semanttisiin malleihin. Voit esimerkiksi luoda semanttisen mallin, joka sisältää vain koostettuja tietoja, ja antaa käyttäjillesi käyttöoikeuden vain tähän semanttiseen malliin.
Sisällön hahmontaminen
Jos haluat ratkaista upotettujen Power BI -kohteiden (kuten raporttien ja koontinäyttöjen) hahmontamisongelmia, tutustu tähän osioon.
Varmista, että Power BI -kohde latautuu Power BI -palvelu
Jos haluat sulkea pois sovellukseesi tai upottamiseen liittyvät ohjelmointirajapinnat, varmista, että kohdetta voidaan tarkastella Power BI -palvelu (powerbi.com).
Varmista, että Power BI -kohde latautuu Power BI Embedded -analytiikan leikkikentällä
Voit sulkea sovellukseesi liittyvät ongelmat pois varmistamalla, että Power BI -kohdetta voidaan tarkastella Power BI Embedded -analytiikan leikkikentällä.
Varmista, että käyttöoikeustietue ei ole vanhentunut
Suojaussyistä käyttöoikeustietueiden (Microsoft Entra -tunnus tai upotustunnus) käyttöikä on rajoitettu. Sinun tulee seurata käyttöoikeustietuettasi jatkuvasti ja päivittää se tarvittaessa. Lisätietoja on kohdassa Käyttöoikeustietueen päivittäminen.
Suorituskyky
Suosittelemme, että noudatat upotetun Power BI -analytiikan parhaita käytäntöjä saadaksesi parhaan mahdollisen upotetun sisällön.
Upottamisen määritystyökalu
Voit käyttää upottamisen määritystyökalua ladataksesi mallisovelluksen nopeasti. Sen jälkeen voit verrata sovellustasi malliin.
Edellytykset
Varmista, että sinulla on kaikki asianmukaiset edellytykset ennen upottamisen määritystyökalun käyttöä. Tarvitset Power BI Pro -tilin ja Microsoft Azure -tilauksen.
- Jos et ole rekisteröitynyt Power BI Prohon, rekisteröidy ilmaiseen kokeiluversioon ennen aloittamista.
- Jos sinulla ei ole Azure-tilausta, luo maksuton tili ennen aloittamista.
- Sinulla on oltava oma Microsoft Entra -vuokraaja käyttövalmiina.
- Visual Studion (2013 tai uudempi versio) on oltava asennettuna.
Yleisiä ongelmia
Seuraavaksi joitakin yleisiä ongelmia, joita saattaa ilmetä upottamisen määritystyökalua testattaessa:
Käyttämällä asiakkaille tarkoitettu upotus -mallisovellusta
Jos käytät asiakkaille tarkoitettu upotustoimintoa, tallenna ja pura PowerBI-Developer-Samples.zip tiedosto. Avaa sitten PowerBI-Developer-Samples-master\App Owns Data -kansio ja suorita PowerBIEmbedded_AppOwnsData.sln-tiedosto .
- Kun valitset Myönnä käyttöoikeuksia (Myönnä käyttöoikeuksia -vaihe), saat seuraavan virheilmoituksen:
AADSTS70001: Application with identifier <client ID> wasn't found in the directory <directory ID>
Ratkaisu on sulkea ponnahdusikkuna, odottaa hetki ja yrittää uudelleen. Saatat joutua toistamaan tämän muutaman kerran. Aikaväli aiheuttaa ongelman sovelluksen rekisteröintiprosessin loppuun suorittamisessa, kun se on saatavilla ulkoisille ohjelmointirajapinnoille.
- Mallisovellusta suoritettaessa tulee näkyviin seuraava virhesanoma:
Password is empty. Please fill password of Power BI username in web.config.
Tämä virhe ilmenee, koska ainoa arvo, jota ei ole syötetty mallisovellukseen, on käyttäjän salasana. Avaa web.config-tiedosto ratkaisussa ja täytä pbiPassword
kenttä käyttäjän salasanalla.
- Jos näyttöön tulee virhe:
AADSTS50079: The user is required to use multi-factor authentication.
Sinun on käytettävä Microsoft Entra -tiliä, jossa ei käytetä monimenetelmäistä todentamista.
Organisaatiolle tarkoitetun upotuksen mallisovelluksen käyttäminen
Jos käytät organisaatiolle tarkoitettu upotustoimintoa, tallenna ja pura PowerBI-Developer-Samples.zip-tiedosto . Avaa sitten PowerBI-Developer-Samples-master\User Owns Data\integrate-report-web-app-kansio ja suorita pbi-saas-embed-report.sln-tiedosto .
- Kun suoritat Organisaatiolle tarkoitettu upotus -mallisovelluksen, saat seuraavan virheilmoituksen:
AADSTS50011: The reply URL specified in the request doesn't match the reply URLs configured for the application: <client ID>
Tämä virhe johtuu siitä, että verkkopalvelinsovellukselle määritetty uudelleenohjauksen URL-osoite on eri kuin mallisovelluksen URL-osoite. Jos haluat rekisteröidä mallisovelluksen, käytä uudelleenohjauksen https://localhost:13526/
URL-osoitteena.
Jos haluat muokata rekisteröityä sovellusta, päivitä Microsoft Entra -rekisteröity sovellus, jotta sovellus voi tarjota pääsyn verkon ohjelmointirajapintoihin.
Jos haluat muokata Power BI -käyttäjäprofiilia tai tietoja, lue, miten voit muokata Power BI -tietojasi.
- Jos näyttöön tulee virhe:
AADSTS50079: The user is required to use multi-factor authentication.
Sinun on käytettävä Microsoft Entra -tiliä, jossa ei käytetä monimenetelmäistä todentamista.
Jos haluat lisätietoja, katso Power BI Embedded -usein kysytyt kysymykset.
Jos tarvitset lisäapua, ota yhteyttä tukeen tai luo tukipalvelupyyntö Azure-portaali kautta ja anna kohtaamasi virhesanomat.
Liittyvä sisältö
Usein kysytyt kysymykset Power BI Embeddedistä
Onko sinulla lisää kysymyksiä? Kysy Power BI -yhteisö