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 ilmainen 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.
Sovelluksen rekisteröinti
Sovelluksen rekisteröinnin virhe
Virhesanomat Azure-portaalissa tai Power BI -sovelluksen rekisteröintisivulla 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 tule esiin Azure-portaalissa 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 -palvelun lueteltuna 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, käytössä on kaksi parametria, joiden nimi on objektitunnus. Tässä osiossa kerrotaan kunkin parametrin tarkoitus ja sen hankkiminen.
Sovelluksen objektitunnus
-sovellusobjekti -tunnus, jota kutsutaan myös objektitunnukseksi, on Microsoft Entra -sovellusobjektisi yksilöivä tunnus.
Jos haluat saada sovelluksen objektitunnuksen, siirry Microsoft Entra -sovellukseen ja kopioi se Overview -.
Principal object ID
Pääobjektitunnus, jota kutsutaan myös objektitunnukseksi, on Microsoft Entra -sovellukseen liittyvän palvelun päänimen objektin yksilöivä tunnus,.
Voit hakea objektitunnuksen siirtymällä Microsoft Entra -sovellukseen ja valitsemalla Yleiskatsaus-sovelluslinkin kohdassa Hallittu sovellus paikallisessa hakemistossa.
Kopioi Ominaisuudet -osasta objektitunnuksen .
Todennus
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 suodatettu organisaatiolle, 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 yleinen järjestelmänvalvoja - hakemistolle, 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:
Asenna Microsoft GraphIn PowerShell SDK -.
Suorita seuraavat PowerShell-komennot rivi riviltä (varmista, että muuttujalle
$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, kun käytössä olevat käyttäjätiedot 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 annettu. - Käyttäjällä ei ole tarvittavia oikeuksia.
Voit selvittää ongelman seuraavasti:
- Suorita nouda tietojoukko. Onko ominaisuuden
IsEffectiveIdentityRequired
true? - Käyttäjänimi vaaditaan mille tahansa
EffectiveIdentity
. - Jos
IsEffectiveIdentityRolesRequired
arvo on true, rooli vaaditaan. -
DatasetId
vaaditaan mille tahansaEffectiveIdentity
. - 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
oireet:
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.
pääsyy:
Käyttäjän suostumus on poistettu käytöstä vuokraajalle.
useita korjauksia on mahdollista tehdä:
- Ota käyttäjän lupa käyttöön koko vuokraajalle (kaikki käyttäjät, kaikki sovellukset):
- Siirry Azure-portaalissa kohtaan Microsoft Entra -tunnus >Käyttäjät ja ryhmät>Käyttäjäasetukset -.
- Ota käyttöön Käyttäjät voivat antaa sovelluksille luvan käyttää yrityksen tietoja puolestaan asetuksen 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 näyttöön tulee seuraava virhe:
'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 organisaatiollesi upotuksen, jotta Microsoft Entra -vieraskäyttäjät voivat käyttää sisältöäsi, sinun on määritettävä vuokraajatunnus authorityUri
-parametrissa.
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 tekeminen usean.
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
Korjaa sovelluksen virheet ja selvitä virheiden syy käyttämällä JavaScript SDK -palauttaman IError-objektia.
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 virheelle.
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 | N/A | |
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 visualisointia ei voitu hahmontaa: visualisoinnin otsikkoa | N/A | |
OpenConnectionError | Visualisointia ei voi näyttää. Visualisoinnin visualisointia ei voitu hahmontaa: visualisoinnin otsikkoa | N/A | 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. | N/A |
Tavalliset virheet käytettäessä upottamista Power BI -käyttäjien käyttöön (upotustunnuksen avulla)
Viesti | Yksityiskohtainen viesti | Virhekoodi | Mahdolliset syyt |
---|---|---|---|
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 | N/A | |
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 visualisointia ei voitu hahmontaa: visualisoinnin otsikkoa | N/A | |
OpenConnectionError | Visualisointia ei voi näyttää. Visualisoinnin visualisointia ei voitu hahmontaa: visualisoinnin otsikkoa | N/A | 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. | N/A |
Hae raportti epäonnistuu – virhe 401 – korjaa se itse
käyttäjä omistaa tiedot skenaariossa, käyttäjät saavat joskus 401-virheen, joka ratkeaa itsestään, kun he käyttävät Power BI -portaalia. Kun 401-virhe ilmenee, lisää RefreshUser Permissions -kutsu sovelluksessa. Saat Käyttäjien käyttöoikeuksien päivittäminen -kuvatulla tavalla.
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: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 -palvelussa
Jos haluat sulkea pois sovelluksen tai upottaviin ohjelmointirajapintoihin liittyvät ongelmat, varmista, että kohdetta voidaan tarkastella Power BI -palvelussa (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 upotetun Power BI -analytiikan .
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
Jos haluat saada parhaiten toimivan upotetun sisällön, suosittelemme, että noudatat upotetun Power BI -analytiikan parhaita käytäntöjä.
Aiheeseen liittyvä sisältö
Power BI Embeddedin usein kysytyt kysymykset
Onko sinulla kysyttävää? Kysy Power BI -yhteisöltä -