Käyttäjien toiminnan seuraaminen Power BI:ssä

Sen tietäminen, kuka tekee mitä toimia missäkin Power BI:n kohteissa, voi olla ratkaisevaa, kun autetaan organisaatiotasi toteuttamaan sille asetetut vaatimukset, kuten säädösten noudattaminen ja tietueiden hallinta. Tässä artikkelissa käsitellään Power BI :n toimintolokia , joka perustuu Power BI REST -ohjelmointirajapintoihin.

Valvontalokin avulla voit seurata Microsoft Fabric -käyttäjien toimia, mukaan lukien Power BI -toimintoja.

Edellytykset

  • Sinun on oltava yleinen järjestelmänvalvoja tai Power BI -järjestelmänvalvoja.

  • Asenna Power BI:n cmdlet-hallintaohjelmat paikallisesti tai käytä Power BI:n cmdlet-hallintakomentoreita Azure Cloud Shellissä.

Toimintaloki

Power BI:n toimintoloki sisältää täydellisen kopion JSON-matriisin Power BI -toiminnoista. Löydät luettelon kaikista Power BI -toiminnoista Fabric-toimintoluettelosta.

ActivityEvents REST -ohjelmointirajapinta

Voit viedä toimintotapahtumat blob-säilöön tai SQL-tietokantaan Power BI REST -ohjelmointirajapintoihin perustuvan hallintasovelluksen avulla. Voit sitten luoda vietyjen tietojen päälle mukautetun käyttöraportin. ActivityEvents REST API -kutsuun on määritettävä alkamis- ja päättymispäivä sekä valinnaisesti myös suodatin, jolla toiminnot valitaan toimintotyypin tai käyttäjätunnuksen mukaan. Koska toimintoloki voi sisältää suuren määrän tietoja, ActivityEvents-ohjelmointirajapinta tukee tällä hetkellä vain enintään yhden päivän tietojen lataamista pyyntöä kohden. Toisin sanoen alku- ja loppupäivämääräksi on määritettävä sama päivä, kuten seuraavassa esimerkissä. Muista määrittää DateTime arvot UTC-muodossa koordinoitu yleisaika.

https://api.powerbi.com/v1.0/myorg/admin/activityevents?startDateTime='2019-08-31T00:00:00'&endDateTime='2019-08-31T23:59:59'

Jos kirjausten määrä on suuri, ActivityEvents-ohjelmointirajapinta palauttaa vain noin 5 000 – 10 000 kirjausta sekä jatkumistunnuksen. Kutsu ActivityEvents-ohjelmointirajapintaa uudelleen jatkumistunnuksen avulla, jotta saat seuraavan kirjauserän, ja niin edelleen, kunnes olet saanut kaikki kirjaukset etkä saa enää uutta jatkumistunnusta. Seuraavassa on esimerkki jatkumistunnuksen käytöstä:

https://api.powerbi.com/v1.0/myorg/admin/activityevents?continuationToken='%2BRID%3ARthsAIwfWGcVAAAAAAAAAA%3D%3D%23RT%3A4%23TRC%3A20%23FPC%3AARUAAAAAAAAAFwAAAAAAAAA%3D'

Jos tuloksissa on jatkumistunnus, kutsu ohjelmointirajapintaa sen avulla muiden tietojen noutamiseksi, kunnes jatkumistunnusta ei enää palauteta. Kutsu voi palauttaa jatkumistunnuksen ilman mitään tapahtumamerkintöjä. Seuraavassa esimerkissä näytetään, miten vastauksessa palautettavan jatkumistunnuksen voi esittää:

while(response.ContinuationToken != null)
{
   // Store the activity event results in a list for example
    completeListOfActivityEvents.AddRange(response.ActivityEventEntities);

    // Make another call to the API with continuation token
    response = GetPowerBIActivityEvents(response.ContinuationToken)
}
completeListOfActivityEvents.AddRange(response.ActivityEventEntities);

Jos aikaväli startDateTimeendDateTime on vähintään 1 tunti, tietojen continuationUri lataamiseen tarvitaan useita pyyntöjä.

Seuraavassa esimerkissä näytetään, miten voit ladata 1 tunnin ja 5 minuutin tiedot:

GET https://wabi-staging-us-east-redirect.analysis.windows.net/v1.0/myorg/admin/activityevents?startDateTime='2020-08-13T07:55:00Z'&endDateTime='2020-08-13T09:00:00Z'
{
  "activityEventEntities": […],
  "continuationUri": https://wabi-staging-us-east-redirect.analysis.windows.net/v1.0/myorg/admin/activityevents?continuationToken='LDIwMjAtMDgtMTNUMDc6NTU6MDBaLDIwMjAtMDgtMTNUMDk6MDA6MDBaLDEsLA%3D%3D',
  "continuationToken": "LDIwMjAtMDgtMTNUMDc6NTU6MDBaLDIwMjAtMDgtMTNUMDk6MDA6MDBaLDEsLA%3D%3D",
  "lastResultSet": false
}

GET https://wabi-staging-us-east-redirect.analysis.windows.net/v1.0/myorg/admin/activityevents?continuationToken='LDIwMjAtMDgtMTNUMDc6NTU6MDBaLDIwMjAtMDgtMTNUMDk6MDA6MDBaLDEsLA%3D%3D'
{
  "activityEventEntities": [],
  "continuationUri": null,
  "continuationToken": null,
  "lastResultSet": false
}

Lisätietoja Power BI REST -ohjelmointirajapinnan käyttämisestä ja esimerkkejä valvontatapahtumien noutamisesta on Power BI REST -ohjelmointirajapinnan viitedokumentaation kohdassa Hallinta - Hae toiminnan tapahtumat.

Get-PowerBIActivityEvent cmdlet

Lataa toimintatapahtumat PowerShellin Power BI Management -cmdlet-komentojen avulla. Get-PowerBIActivityEvent-cmdlet käsittelee jatkuvuustunnuksen automaattisesti puolestasi. Cmdlet-komento Get-PowerBIActivityEvent käyttää StartDateTime - ja EndDateTime-parametreja samoilla rajoituksilla kuin ActivityEvents REST -ohjelmointirajapinta. Toisin sanoen alkamis- ja päättymispäivän on viitattava samaan päivämääräarvoon, koska voit noutaa toimintotiedot vain yhdeltä päivältä kerrallaan.

Seuraava komentosarja havainnollistaa, miten voit ladata kaikki Power BI -toiminnot. Komento muuntaa JSON-tulokset .NET-objekteiksi, jotta pääset helposti käyttämään yksittäisen toiminnon ominaisuuksia. Näissä esimerkeissä näytetään päivän pienin ja suurin mahdollinen aikaleima, jotta yksikään tapahtuma ei jää huomaamatta:

Login-PowerBI

$activities = Get-PowerBIActivityEvent -StartDateTime '2019-08-31T00:00:00' -EndDateTime '2019-08-31T23:59:59' | ConvertFrom-Json

$activities.Count
$activities[0]

Toimintotietojen suodattaminen

Voit suodattaa toimintotapahtumia toimintotyypin ja käyttäjätunnuksen mukaan. Seuraava komentosarja havainnollistaa, miten ladataan vain ViewDashboard-toimintojen tapahtumatiedot. Saat lisätietoja tuetuista parametreista komennolla Get-Help Get-PowerBIActivityEvent.

Login-PowerBI

$activities = Get-PowerBIActivityEvent -StartDateTime '2019-08-31T00:00:00' -EndDateTime '2019-08-31T23:59:59' -ActivityType 'ViewDashboard' | ConvertFrom-Json

$activities.Count
$activities[0]

Muistiinpano

Käytettävissä on PowerShell-malli, jonka avulla voit oppia suodattamaan ja noutamaan Power BI:n toimintolokin tapahtumia. Lisätietoja on artikkelissa Power BI:n toimintolokiin siirtyminen.