Spore brukeraktiviteter i Power BI

Det kan være avgjørende å vite hvem som utfører hvilke handlinger i Power BI som kan være avgjørende for å hjelpe organisasjonen med å oppfylle kravene, for eksempel å oppfylle forskriftssamsvar og postbehandling. Denne artikkelen tar for seg Power BI-aktivitetsloggen som er basert på REST-API-er for Power BI.

Du kan spore microsoft Fabric-brukeraktiviteter, inkludert Power BI-operasjoner, ved hjelp av overvåkingsloggen.

Forutsetning

Aktivitetslogg

Power BI-aktivitetsloggen inneholder en fullstendig kopi av Power BI-aktivitetene i en JSON-matrise. Du finner en liste over alle Power BI-aktivitetene i listen over stoffoperasjoner.

REST-API for ActivityEvents

Du kan bruke et administrativt program basert på REST-API-ene for Power BI til å eksportere aktivitetshendelser til et BLOB-lager eller en SQL-database. Deretter kan du bygge en egendefinert bruksrapport over de eksporterte dataene. I ACTIVITYEvents REST API-kallet må du angi en startdato og sluttdato og eventuelt et filter for å velge aktiviteter etter aktivitetstype eller bruker-ID. Fordi aktivitetsloggen kan inneholde en stor mengde data, støtter ActivityEvents API for øyeblikket bare nedlasting av opptil én dag med data per forespørsel. Startdatoen og sluttdatoen må med andre ord angi samme dag, som i eksemplet nedenfor. Kontroller at du angir DateTime verdiene i UTC-format (Coordinated Universal Time).

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

Hvis antall oppføringer er stort, returnerer ActivityEvents API bare rundt 5 000 til 10 000 oppføringer og et fortsettelsestoken . Kall ActivityEvents-API-en på nytt med fortsettelsestokenet for å få den neste bunken med oppføringer, og så videre, til du har fått alle oppføringene og ikke lenger mottar et fortsettelsestoken. Følgende eksempel viser hvordan du bruker fortsettelsestokenet:

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

Hvis resultatene inkluderer et fortsettelsestoken, fortsetter du å kalle API-en ved hjelp av dette tokenet for å hente resten av dataene til et fortsettelsestoken ikke lenger returneres. Det er mulig for et kall å returnere et fortsettelsestoken uten hendelsesoppføringer. Følgende eksempel viser hvordan du gjentar med et fortsettelsestoken som returneres i svaret:

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);

Hvis tidsperioden mellom startDateTime og endDateTime overskrider 1 time, tar det flere forespørsler om å laste ned dataene gjennom continuationUri som svar.

Følgende eksempel viser hvordan du laster ned data i 1 time og 5 minutter:

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
}

Hvis du vil lære mer om hvordan du bruker REST-API-en for Power BI, inkludert eksempler på hvordan du får overvåkingsaktivitetshendelser, kan du se Administrator – Hent aktivitetshendelser i referansedokumentasjonen for REST-API for Power BI.

Get-PowerBIActivityEvent cmdlet

Last ned aktivitetshendelser ved hjelp av Power BI Management-cmdleter for PowerShell. Cmdleten Get-PowerBIActivityEvent håndterer automatisk fortsettelsestokenet for deg. Cmdleten Get-PowerBIActivityEvent tar en StartDateTime og en EndDateTime-parameter med de samme begrensningene som ACTIVITYEvents REST API. Startdatoen og sluttdatoen må med andre ord referere til samme datoverdi, fordi du bare kan hente aktivitetsdataene for én dag om gangen.

Følgende skript demonstrerer hvordan du laster ned alle Power BI-aktiviteter. Kommandoen konverterer resultatene fra JSON til .NET-objekter for enkel tilgang til individuelle aktivitetsegenskaper. Disse eksemplene viser de minste og største tidsstempelene som er mulig for en dag for å sikre at ingen hendelser går glipp av følgende:

Login-PowerBI

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

$activities.Count
$activities[0]

Filtrere aktivitetsdata

Du kan filtrere aktivitetshendelser etter aktivitetstype og bruker-ID. Følgende skript viser hvordan du laster ned bare hendelsesdataene for ViewDashboard-aktiviteten . Hvis du vil ha mer informasjon om støttede parametere, kan du bruke kommandoen 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]

Merk

Et PowerShell-eksempel er tilgjengelig for å hjelpe deg med å lære hvordan du filtrerer og henter aktivitetslogghendelser i Power BI. Hvis du vil ha mer informasjon, kan du se Access-aktivitetsloggen for Power BI.