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.

Fiddler trace

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.

F12 Browser debugging

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.

A screenshot showing the object I D in the overview blade of an Azure A D application

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.

A screenshot showing the managed application in local directory option in the overview blade of an Azure A D application

Kopioi Ominaisuudet-osiostaobjektitunnus.

A screenshot showing the principal object I D in the properties section in the overview blade of an Azure A D application

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:

  1. Asenna Azure AD Preview PowerShell -moduuli.

  2. 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.

    Consent Test

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)
  1. Siirry Azure-portaali kohtaan "Azure Active Directory" => "Käyttäjät ja ryhmät" => "Käyttäjäasetukset"

  2. Ota käyttöön ”Käyttäjät voivat antaa sovelluksille luvan käyttää yrityksen tietoja puolestaan” -asetus ja tallenna muutokset

    Consent Test Fix

  • 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
  • Väärä raporttitunnus
  • Raporttia ei ole olemassa
  • Virheelliset parametrit powerbiToken-parametria ei määritetty
  • Käyttöoikeustietuetta ei ole annettu
  • Raporttitunnusta ei ole annettu
  • LoadReportFailed Alustaminen epäonnistui – klusteria ei voitu selvittää 403
  • Virheellinen käyttöoikeustietue
  • Upotustyyppi ei vastaa tunnistetyyppiä
  • PowerBINotAuthorizedException Raportin hakeminen epäonnistui 401
  • Väärä ryhmän tunnus
  • Valtuuttamaton ryhmä
  • 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.
  • Kapasiteetti keskeytetty
  • Kapasiteetti poistettu
  • 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
  • Väärä raporttitunnus
  • Raporttia ei ole olemassa
  • 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
  • Käyttöoikeustietuetta ei ole annettu
  • Raporttitunnusta ei ole annettu
  • 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.
  • Kapasiteetti keskeytetty
  • Kapasiteetti poistettu
  • 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.

    • Objektitason suojaus (OLS).

    • 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.

    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öä