Share via


Spor brugeraktiviteter i Power BI

At vide, hvem der udfører hvilken handling på hvilket element i Power BI, kan være afgørende for at hjælpe din organisation med at opfylde sine krav, f.eks. overholdelse af lovmæssig overholdelse af angivne standarder og datastyring. I denne artikel beskrives Power BI-aktivitetsloggen, som er baseret på REST API'er til Power BI.

Du kan spore Microsoft Fabric-brugeraktiviteter, herunder Power BI-handlinger, ved hjælp af overvågningsloggen.

Forudsætninger

Aktivitetslog

Power BI-aktivitetsloggen indeholder en komplet kopi af Power BI-aktiviteterne i en JSON-matrix. Du kan finde en liste over alle Power BI-aktiviteter på fabric-handlingslisten.

ActivityEvents REST API

Du kan bruge et administrativt program, der er baseret på POWER BI REST API'er, til at eksportere aktivitetshændelser til et bloblager eller en SQL-database. Du kan derefter oprette en brugerdefineret forbrugsrapport oven på de eksporterede data. I REST API-kaldet ActivityEvents skal du angive en startdato og en slutdato og eventuelt et filter for at vælge aktiviteter efter aktivitetstype eller bruger-id. Da aktivitetsloggen kan indeholde en stor mængde data, understøtter ActivityEvents-API'en i øjeblikket kun download af op til én dags data pr. anmodning. Med andre ord skal startdatoen og slutdatoen angive den samme dag som i følgende eksempel. Sørg for at angive værdierne DateTime 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 antallet af poster er stort, returnerer API'en ActivityEvents kun omkring 5.000 til 10.000 poster og et fortsættelsestoken. Kald API'en ActivityEvents igen med fortsættelsestokenet for at hente den næste batch af poster osv., indtil du har fået alle poster og ikke længere modtager et fortsættelsestoken. I følgende eksempel kan du se, hvordan du bruger fortsættelsestokenet:

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

Hvis resultaterne omfatter et fortsættelsestoken, skal du fortsætte med at kalde API'en ved hjælp af dette token for at hente resten af dataene, indtil et fortsættelsestoken ikke længere returneres. Det er muligt for et kald at returnere et fortsættelsestoken uden nogen hændelsesposter. I følgende eksempel kan du se, hvordan du løkker med et fortsættelsestoken, der 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 mellem startDateTime og endDateTime overstiger 1 time, tager det flere anmodninger at downloade dataene som continuationUri svar.

I følgende eksempel kan du se, hvordan du downloader 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
}

Du kan få mere at vide om, hvordan du bruger Power BI REST-API'en, herunder eksempler på, hvordan du får overvågningsaktivitetshændelser, i Administration – Hent aktivitetshændelser i referencedokumentationen til REST API'en til Power BI.

Get-PowerBIActivityEvent-cmdlet

Download aktivitetshændelser ved hjælp af Power BI Management-cmdlet'erne til PowerShell. Cmdlet'en Get-PowerBIActivityEvent håndterer automatisk fortsættelsestokenet for dig. Cmdlet'en tager en StartDateTime og en EndDateTime-parameter med de samme begrænsninger som REST API'en ActivityEvents.Get-PowerBIActivityEvent Med andre ord skal startdatoen og slutdatoen referere til den samme datoværdi, fordi du kun kan hente aktivitetsdataene for én dag ad gangen.

Følgende script viser, hvordan du downloader alle Power BI-aktiviteter. Kommandoen konverterer resultaterne fra JSON til .NET-objekter for at få direkte adgang til individuelle aktivitetsegenskaber. Disse eksempler viser de mindste og største tidsstempel, der er mulige for en dag for at sikre, at ingen hændelser går glip af:

Login-PowerBI

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

$activities.Count
$activities[0]

Filtrer aktivitetsdata

Du kan filtrere aktivitetshændelser efter aktivitetstype og bruger-id. Følgende script viser, hvordan du kun downloader hændelsesdata for ViewDashboard-aktiviteten . Du kan finde flere oplysninger om understøttede parametre ved at bruge 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]

Bemærk

Der findes et PowerShell-eksempel, som kan hjælpe dig med at få mere at vide om, hvordan du filtrerer og henter hændelser i Power BI-aktivitetsloggen. Du kan få flere oplysninger i Få adgang til Power BI-aktivitetsloggen.