Dela via


Spåra användaraktiviteter i Power BI

Att veta vem som vidtar vilka åtgärder som ska vidtas för vilket objekt i Power BI som kan vara avgörande för att hjälpa din organisation att uppfylla sina krav, till exempel att uppfylla regelefterlevnad och hantering av arkivhandlingar. I den här artikeln beskrivs Power BI-aktivitetsloggen som baseras på Power BI REST-API:er.

Du kan spåra Microsoft Fabric-användaraktiviteter, inklusive Power BI-åtgärder, med hjälp av granskningsloggen.

Förutsättningar

Aktivitetslogg

Power BI-aktivitetsloggen innehåller en fullständig kopia av Power BI-aktiviteterna i en JSON-matris. Du hittar en lista över alla Power BI-aktiviteter i åtgärdslistan Infrastrukturresurser.

ActivityEvents REST API

Du kan använda ett administrativt program baserat på Power BI REST API:er för att exportera aktivitetshändelser till ett bloblager eller en SQL-databas. Du kan sedan skapa en anpassad användningsrapport ovanpå exporterade data. I REST API-anropet ActivityEvents måste du ange ett startdatum och slutdatum och eventuellt ett filter för att välja aktiviteter efter aktivitetstyp eller användar-ID. Eftersom aktivitetsloggen kan innehålla en stor mängd data stöder ActivityEvents-API:et för närvarande endast nedladdning av upp till en dag med data per begäran. Med andra ord måste startdatum och slutdatum ange samma dag, som i följande exempel. Kontrollera att du anger DateTime värdena 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'

Om antalet poster är stort returnerar ActivityEvents-API:et endast cirka 5 000 till 10 000 poster och en fortsättningstoken. Anropa API:et ActivityEvents igen med fortsättningstoken för att hämta nästa batch med poster och så vidare tills du har fått alla poster och inte längre får en fortsättningstoken. I följande exempel visas hur du använder fortsättningstoken:

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

Om resultatet innehåller en fortsättningstoken fortsätter du att anropa API:et med den token för att hämta resten av data tills en fortsättningstoken inte längre returneras. Ett anrop kan returnera en fortsättningstoken utan några händelseposter. I följande exempel visas hur du loopar med en fortsättningstoken som returneras 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);

Om tidsintervallet mellan startDateTime och endDateTime överskrider 1 timme tar det flera begäranden att ladda ned data som continuationUri svar.

I följande exempel visas hur du laddar ned data i 1 timme och 5 minuter:

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
}

Mer information om hur du använder Power BI REST API, inklusive exempel på hur du hämtar granskningsaktivitetshändelser, finns i Referensdokumentationen för Admin – Hämta aktivitetshändelser i Power BI REST API.

Get-PowerBIActivityEvent-cmdlet

Ladda ned aktivitetshändelser med hjälp av Power BI Management-cmdletar för PowerShell. Cmdleten Get-PowerBIActivityEvent hanterar automatiskt fortsättningstoken åt dig. Cmdleten Get-PowerBIActivityEvent tar en StartDateTime och en EndDateTime-parameter med samma begränsningar som REST-API:et ActivityEvents . Med andra ord måste startdatum och slutdatum referera till samma datumvärde eftersom du bara kan hämta aktivitetsdata för en dag i taget.

Följande skript visar hur du laddar ned alla Power BI-aktiviteter. Kommandot konverterar resultatet från JSON till .NET-objekt för enkel åtkomst till enskilda aktivitetsegenskaper. De här exemplen visar de minsta och största tidsstämplar som är möjliga för en dag för att säkerställa att inga händelser missas:

Login-PowerBI

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

$activities.Count
$activities[0]

Filtrera aktivitetsdata

Du kan filtrera aktivitetshändelser efter aktivitetstyp och användar-ID. Följande skript visar hur du endast laddar ned händelsedata för ViewDashboard-aktiviteten . Om du vill ha mer information om parametrar som stöds använder du kommandot 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]

Kommentar

Det finns ett PowerShell-exempel som hjälper dig att lära dig hur du filtrerar och hämtar Power BI-aktivitetslogghändelser. Mer information finns i Åtkomst till Power BI-aktivitetsloggen.