Felhasználói tevékenységek nyomon követése a Power BI-ban
Annak ismerete, hogy ki milyen műveletet hajt végre a Power BI-ban, kritikus fontosságú lehet abban, hogy a szervezet megfeleljen a követelményeknek, például megfeleljen a jogszabályi megfelelőségnek és a rekordkezelésnek. Ez a cikk a Power BI REST API-kon alapuló Power BI tevékenységnaplót ismerteti.
Az auditnaplóval nyomon követheti a Microsoft Fabric felhasználói tevékenységeit, beleértve a Power BI-műveleteket is.
Előfeltételek
Hálógazdának kell lennie.
Telepítse a Power BI Management parancsmagjait helyileg, vagy használja a Power BI Felügyeleti parancsmagokat az Azure Cloud Shellben.
Tevékenységnapló
A Power BI tevékenységnaplója tartalmazza a Power BI-tevékenységek teljes másolatát egy JSON-tömbben. A Háló műveletlistában megtalálja az összes Power BI-tevékenység listáját.
ActivityEvents REST API
A Power BI REST API-kon alapuló felügyeleti alkalmazásokkal tevékenységeseményeket exportálhat blobtárolóba vagy SQL-adatbázisba. Ezután létrehozhat egy egyéni használati jelentést az exportált adatokra. Az ActivityEvents REST API-hívásban meg kell adnia egy kezdő dátumot és egy befejezési dátumot, valamint szükség esetén egy szűrőt a tevékenységek tevékenységtípus vagy felhasználói azonosító szerinti kiválasztásához. Mivel a tevékenységnapló nagy mennyiségű adatot tartalmazhat, az ActivityEvents API jelenleg csak kérésenként legfeljebb egy napnyi adat letöltését támogatja. Más szóval a kezdő dátumnak és a befejezési dátumnak ugyanazt a napot kell megadnia, mint az alábbi példában. Ügyeljen arra, hogy az DateTime
értékeket utc(utc) formátumban adja meg.
https://api.powerbi.com/v1.0/myorg/admin/activityevents?startDateTime='2019-08-31T00:00:00'&endDateTime='2019-08-31T23:59:59'
Ha a bejegyzések száma nagy, az ActivityEvents API csak körülbelül 5000–10 000 bejegyzést és egy folytatási jogkivonatot ad vissza. Hívja újra az ActivityEvents API-t a folytatási jogkivonattal a következő bejegyzésköteg lekéréséhez, és így tovább, amíg az összes bejegyzést be nem kapja, és nem kap folytatási jogkivonatot. Az alábbi példa a folytatási jogkivonat használatát mutatja be:
https://api.powerbi.com/v1.0/myorg/admin/activityevents?continuationToken='%2BRID%3ARthsAIwfWGcVAAAAAAAAAA%3D%3D%23RT%3A4%23TRC%3A20%23FPC%3AARUAAAAAAAAAFwAAAAAAAAA%3D'
Ha az eredmények között szerepel egy folytatási jogkivonat, akkor a többi adat lekéréséhez addig hívja meg az API-t, amíg a folytatási jogkivonatot nem adja vissza. Előfordulhat, hogy egy hívás eseménybejegyzések nélkül ad vissza egy folytatási jogkivonatot. Az alábbi példa bemutatja, hogyan hurkolhat a válaszban visszaadott folytatási jogkivonattal:
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);
Ha az időtartam 1 óra között startDateTime
van, és endDateTime
meghaladja az 1 órát, több kérés is szükséges az adatok continuationUri
válaszként való letöltéséhez.
Az alábbi példa bemutatja, hogyan tölthet le adatokat 1 óra 5 percig:
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
}
Ha többet szeretne megtudni a Power BI REST API használatáról, beleértve a naplózási tevékenység eseményeinek lekérésére vonatkozó példákat, olvassa el a Rendszergazda – Tevékenységesemények lekérése című témakört a Power BI REST API referenciadokumentációjában.
Get-PowerBIActivityEvent parancsmag
Töltse le a tevékenységeseményeket a Power BI Management PowerShell-parancsmagjaival. A Get-PowerBIActivityEvent parancsmag automatikusan kezeli a folytatási jogkivonatot. A Get-PowerBIActivityEvent
parancsmag egy StartDateTime és egy EndDateTime paramétert vesz igénybe, ugyanazokkal a korlátozásokkal, mint az ActivityEvents REST API. Más szóval a kezdési dátumnak és a befejezési dátumnak ugyanarra a dátumértékre kell hivatkoznia, mert egyszerre csak egy napra vonatkozóan tudja lekérni a tevékenységadatokat.
Az alábbi szkript bemutatja, hogyan töltheti le az összes Power BI-tevékenységet. A parancs a JSON eredményeit .NET-objektumokká alakítja az egyes tevékenységtulajdonságokhoz való egyszerű hozzáférés érdekében. Az alábbi példák a lehető legkisebb és legnagyobb időbélyeget mutatják be egy napra, hogy ne maradjanak le események:
Login-PowerBI
$activities = Get-PowerBIActivityEvent -StartDateTime '2019-08-31T00:00:00' -EndDateTime '2019-08-31T23:59:59' | ConvertFrom-Json
$activities.Count
$activities[0]
Tevékenységadatok szűrése
A tevékenységeseményeket tevékenységtípus és felhasználói azonosító alapján szűrheti. Az alábbi szkript bemutatja, hogyan töltheti le csak a ViewDashboard-tevékenység eseményadatait. A támogatott paraméterekkel kapcsolatos további információkért használja a parancsot 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]
Feljegyzés
PowerShell-minta áll rendelkezésre, amely segít a Power BI-tevékenységnapló-események szűrésében és lekérésében. További információ: Access the Power BI activity log.