Upotetun sovelluksen vianmääritys
Tässä artikkelissa käsitellään joitakin yleisiä ongelmia, joita voi ilmetä upotettaessa sisältöä Power BI.
Vianmääritystyökalut
Jäljitys Fiddlerillä
Fiddler on Telerikin ilmainen työkalu, joka valvoo HTTP-liikennettä. Voit tarkastella Power BI -ohjelmointirajapinnan tiedonsiirtoa 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 tarkastella muita arvokkaita tietoja.
Virhetietojen poimiminen Power BI:n vastauksesta
Tämä koodikatkelma näyttää, miten voit poimia virhetiedot HTTP:n poikkeamasta:
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
Virhe sovelluksen rekisteröinnissä
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 Azure AD -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-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 -palvelua ohjelmointirajapintaluettelossa, kukaan käyttäjistä ei ole rekisteröitynyt Power BI:hin.
Mitä eroa on sovelluksen objektitunnuksella ja pääobjektitunnuksella?
Kun rekisteröit Azure AD sovelluksen, käytettävissä on kaksi parametria, joiden nimi on objektitunnus. Tässä osiossa kerrotaan kunkin parametrin tarkoitus ja sen hankkiminen.
Sovelluksen objektitunnus
Sovelluksen objektitunnus, jota kutsutaan myös nimellä objektitunnus, on Azure AD sovellusobjektisi yksilöivä tunnus.
Jos haluat saada sovelluksen objektitunnuksen, siirry Azure AD sovellukseen ja kopioi se Yleiskatsaus-kohdasta.
Pääobjektitunnus
Pääobjektitunnus, jota kutsutaan myös objektitunnukseksi, on Azure AD -sovellukseen liittyvän palvelun pääobjektin yksilöivä tunnus.
Jos haluat saada pääobjektitunnuksesi, siirry Azure AD -sovellukseen ja valitse Yleiskatsaus-kohdasta hallittu sovellus -linkki paikallisessa hakemistossa.
Kopioi Ominaisuudet-osiostaobjektitunnus.
Todentaminen
Todentaminen epäonnistui AADSTS70002:n tai AADSTS50053:n kanssa
(AADSTS70002: Virhe vahvistettaessa tunnistetietoja. AADSTS50053: Olet yrittänyt kirjautua sisään liian monta kertaa virheellisellä käyttäjätunnuksella tai salasanalla)
Jos käytät Power BI Embedded ja Azure AD Suoraa todennusta, saatat saada yllä olevan kaltaisen viestin, kun yrität kirjautua sisään, koska suora todennus ei ole enää käytössä.
Voit ottaa suoran todennuksen takaisin käyttöön käyttämällä Azure AD -käytäntöä, joka on rajoitettu organisaatioon tai palvelun päänimeen.
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 järjestelmänvalvoja , johon luot ja määrität käytännön. Seuraavassa on esimerkki komentosarjasta käytännön luomiseksi ja sen määrittämiseksi tämän sovelluksen SP:lle:
Suorita seuraavat PowerShell-komennot rivi riviltä (varmista, että muuttujalle $sp saadaan tulokseksi vain yksi sovellus).
Connect-AzureAD
$sp = Get-AzureADServicePrincipal -SearchString "Name_Of_Application"
$policy = New-AzureADPolicy -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}") -DisplayName EnableDirectAuth -Type HomeRealmDiscoveryPolicy -IsOrganizationDefault $false
Add-AzureADServicePrincipalPolicy -Id $sp.ObjectId -RefObjectId $policy.Id
Odota käytännön määrittämisen jälkeen noin 15–20 sekuntia välittämistä varten ennen testausta.
Voimassa olevista käyttäjätiedoista huolimatta tunnussanoman luominen epäonnistuu
GenerateToken
voi epäonnistua, kun voimassa olevat käyttäjätiedot on annettu muutamasta eri syystä.
- Tietojoukko ei tue voimassa olevia käyttäjätietoja
- Käyttäjänimeä ei ole annettu
- Roolia ei ole annettu
- Tietojoukon tunnusta ei ole annettu
- Käyttäjällä ei ole tarvittavia oikeuksia
Voit selvittää ongelman seuraavasti:
- Suorita hae tietojoukko. Onko ominaisuus IsEffectiveIdentityRequired tosi?
- Mikä tahansa EffectiveIdentity vaatii käyttäjänimen.
- Mikäli IsEffectiveIdentityRolesRequired on tosi, rooli vaaditaan.
- Tietojoukon tunnus on pakollinen, minkä tahansa EffectiveIdentityn kanssa.
- Pääkäyttäjän on oltava yhdyskäytävän järjestelmänvalvoja käyttääkseen 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 ja näkyviin jokin seuraavista virheistä:
ConsentTest tarvitsee organisaatiosi resurssien käyttöoikeuden, jonka vain järjestelmänvalvoja voi myöntää. Pyydä järjestelmänvalvojaa myöntämään käyttöoikeus tähän sovellukseen, jotta voit käyttää sitä.
AADSTS90094: Myöntäminen edellyttää järjestelmänvalvojan käyttöoikeutta.
Järjestelmänvalvojana toimiva käyttäjä voi kirjautua sisään ja myöntää luvan.
Pääsyy:
Käyttäjän lupa on poistettu käytöstä vuokraajalle.
Ongelma voidaan korjata eri tavoin:
- Ota käyttäjän lupa käyttöön koko vuokraajalle (kaikki käyttäjät, kaikki sovellukset)
Siirry Azure-portaali kohtaan "Azure Active Directory" => "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” -asetus ja tallenna 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 virheilmoitukset "'AuthenticationContext' ei sisällä 'AcquireToken'-määritettä, eikä löytynyt käytettävissä olevaa 'AcquireToken'-tunnistetta, joka hyväksyisi 'AuthenticationContext'-arvon (puuttuuko using-direktiivi tai kokoonpanoviittaus?).
Azure AD tunnus toiselle vuokraajalle (vieraskäyttäjälle)
Kun upotat organisaation käyttöön, sinun on määritettävä parametrissa authorityUri
vuokraajatunnus, jotta Azure AD vieraskäyttäjät voivat käyttää sisältöäsi.
URL-osoite organisaatiosi vuokraajan todentamiseen:
https://login.microsoftonline.com/common/v2.0
URL-osoite vieraskäyttäjän Azure AD todentamiseen:
https://login.microsoftonline.com/<tenant ID>
Voit etsiä vuokraajatunnuksesi noudattamalla vuokraajan tunnuksen ja ensisijaisen toimialuenimen Microsoft Azure AD ohjeita.
Lisätietoja on ohjeaiheessa Kuinka kirjautua sisään Azure Active Directory käyttäjä monen vuokraajan sovellusmallin avulla.
Tietolähteet
ISV haluaa eri tunnistetiedot samalle tietolähteelle
Tietolähteellä voi olla vain yhdet tunnistetiedot yhtä pääkäyttäjää kohden. Mikäli haluat käyttää eri tunnistetietoja, luo ylimääräisiä pääkäyttäjiä. Määritä sitten eri tunnistetiedot kunkin pääkäyttäjän kohdalla ja upota ne käyttämällä käyttäjän Azure AD -tunnusta.
Upotetun sovelluksen vianmääritys IError-objektin avulla
Korjaa sovelluksen virheet ja selvitä virheiden syy käyttämällä IError-objektia, jonka virhetapahtuma palautti JavaScript SDK:sta.
IError-objektin hankkimisen jälkeen sinun on tarkasteltava asianmukaista yleisten virheiden taulukkoa, joka soveltuu käyttämääsi upotustyyppiin. Vertaa IError-ominaisuuksia taulukossa oleviin ja etsi mahdolliset syyt virheeseen.
Tavalliset virheet käytettäessä upotusta Power BI -käyttäjien käyttöön
Viesti | Yksityiskohtainen viesti | Virhekoodi | Mahdolliset syyt |
---|---|---|---|
TokenExpired | 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 | |
TokenExpired | Käyttöoikeustietue on vanhentunut, lähetä uudelleen uudella käyttöoikeustietueella. Visualisoinnin otsikkoa ei voitu hahmontaa: visualisoinnin otsikko | – | Kyselytietojen vanhentunut tunnus |
OpenConnectionError | 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än mallirakenteen lataaminen epäonnistui. Varmista, että palvelimeen on yhteys, ja yritä uudelleen. | – |
Tavalliset virheet käytettäessä upotusta Power BI -käyttäjien käyttöön (upotustunnuksen avulla)
Viesti | Yksityiskohtainen viesti | Virhekoodi | Syyt |
---|---|---|---|
TokenExpired | 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, virheellinen tunnus |
PowerBINotAuthorizedException | Raportin hakeminen epäonnistui | 401 | Väärä/valtuuttamaton ryhmän tunnus |
TokenExpired | Käyttöoikeustietue on vanhentunut, lähetä uudelleen uudella käyttöoikeustietueella. Visualisoinnin otsikkoa ei voitu hahmontaa: visualisoinnin otsikko | – | Kyselytietojen vanhentunut tunnus |
OpenConnectionError | 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än mallirakenteen lataaminen epäonnistui. Varmista, että palvelimeen on yhteys, ja yritä uudelleen. | – |
Tietojoukot
Hallinnoi, mitä tietojen osaa käyttäjät voivat nähdä
Kuka tahansa käyttäjä, jolla on tietojoukon lukuoikeudet, voi nähdä koko rakenteen (taulukot, sarakkeet ja mittarit) ja kaikki tiedot. Et voi hallita raaka- ja koostetietojen tarkasteluoikeuksia erikseen samassa tietojoukossa.
Voit hallita käyttäjien tarkastelemien tietojen osaa jollakin seuraavista menetelmistä:
Rivitason suodatus Power BI rivitason suojauksen (RLS) avulla.
Erota tiedot eri tietojoukkoihin. Voit esimerkiksi luoda tietojoukon, joka sisältää vain koostettuja tietoja ja antaa käyttäjillesi käyttöoikeuden vain kyseiseen tietojoukkoon.
Sisällön hahmontaminen
Jos haluat ratkaista upotettujen Power BI kohteiden (kuten raporttien ja koontinäyttöjen) hahmontamisongelmat, tutustu tähän osioon.
Varmista, että Power BI kohde latautuu Power BI -palvelu
Jos haluat sulkea pois sovelluksen tai upottamisen ohjelmointirajapintoihin liittyvät ongelmat, varmista, että kohdetta voidaan tarkastella Power BI -palvelu (powerbi.com).
Varmista, että Power BI kohde latautuu upotetun analytiikan Power BI leikkikentällä
Voit sulkea sovellukseesi liittyvät ongelmat pois varmistamalla, että Power BI kohdetta voidaan tarkastella upotetun analytiikan leikkialueella Power BI.
Varmista, että käyttöoikeustietue ei ole vanhentunut
Suojausta varten käyttöoikeustietueiden (Azure AD tunnus tai upotustunnus) elinkaari on rajoitettu. Sinun tulee jatkuvasti valvoa käyttöoikeustietuettasi ja päivittää sitä tarvittaessa. Lisätietoja on artikkelissa Käyttöoikeustietueen päivittäminen.
Suorituskyky
Jos haluat saada parhaiten toimivan upotetun sisällön, suosittelemme, että noudatat Power BI upotettujen analyysien parhaita käytäntöjä.
Upottamisen määritystyökalu
Voit käyttää upottamisen määritystyökalua ladataksesi mallisovelluksen nopeasti. Sitten 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:hin, rekisteröi ilmainen kokeiluversio ennen aloittamista.
- Jos sinulla ei ole Azure-tilausta, luo ilmainen tili ennen aloittamista.
- Sinulla on oltava oma Azure Active Directory -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 tarkoitettua upotus -mallisovellusta
Jos käytät asiakkaille tarkoitettua upotusta, tallenna ja pura PowerBI-Developer-Samples.zip -tiedosto. Avaa sitten PowerBI-Developer-Samples-master\App Owns Data-kansio ja suorita PowerBIEmbedded_AppOwnsData.sln-tiedosto.
- Valitsemalla Myönnä käyttöoikeuksia (myönnä käyttöoikeuksia -vaihe), saat seuraavan virheen:
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 käytettäessä ilmestyy 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 ja täytä pbisalasana-kenttään käyttäjän salasana.
- Jos saat virhesanoman AADSTS50079: käyttäjän pitää käyttää monimenetelmäistä todentamista.
Sinun on käytettävä Azure AD tiliä, jossa ei käytetä monimenetelmäistä todentamista.
Organisaatiolle tarkoitetun upotuksen -mallisovellus
Jos käytät organisaatiolle tarkoitettua upotusta, tallenna ja pura PowerBI-Developer-Samples.zip -tiedosto. Avaa sitten Power BI-Developer-Samples-master\User Owns Data\integrate-report-web-app-kansio ja suorita pbi-saas-upottaa-report.sln-tiedosto.
- Käyttäessäsi organisaatiolle tarkoitettu upotus -mallisovellusta, saat seuraavan virheen:
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ä Azure AD rekisteröity sovellus, jotta sovellus voi tarjota pääsyn verkon ohjelmointirajapintoihin.
Jos haluat muokata Power BI käyttäjäprofiilia tai tietoja, lue ohjeet Power BI tietojen muokkaamiseen.
- Jos näyttöön tulee virhe - AADSTS50079: käyttäjän pitää käyttää monimenetelmäistä todentamista.
Sinun on käytettävä Azure AD tiliä, jossa ei käytetä monimenetelmäistä todentamista.
Jos haluat lisätietoja, katso Power BI Embedded - usein kysytyt kysymykset.
Onko sinulla kysyttävää? Kokeile Power BI -yhteisöä
Jos tarvitset lisäapua, ota yhteyttä tukeen tai luo tukipalvelupyyntö Azure-portaali kautta ja anna kohtaamasi virhesanomat.
Seuraavat vaiheet
Onko sinulla kysyttävää? Kokeile Power BI -yhteisöä