追蹤 Power BI 中的使用者活動
瞭解誰正在對 Power BI 中的哪些專案採取哪些動作,對於協助貴組織滿足其需求至關重要,例如符合法規合規性和記錄管理。 本文討論以 Power BI REST API 為基礎的 Power BI 活動記錄 。
您可以使用稽核記錄 來追蹤 Microsoft Fabric 使用者活動,包括 Power BI 作業 。
必要條件
您必須是全域管理員或 Power BI 系統管理員
在 本機安裝 Power BI 管理 Cmdlet ,或使用 Azure Cloud Shell 中的 Power BI 管理 Cmdlet。
活動記錄檔
Power BI 活動記錄包含 JSON 陣列中 Power BI 活動的完整複本。 您可以在網狀架構 作業清單中找到所有 Power BI 活動的清單 。
ActivityEvents REST API
您可以使用以 Power BI REST API 為基礎的系統管理應用程式,將活動事件匯出至 Blob 存放區或 SQL 資料庫。 接著,您可以在匯出的資料之上建置自訂使用量報告。 在 ActivityEvents REST API 呼叫中,您必須指定開始日期和結束日期,以及選擇性地依活動類型或使用者識別碼選取活動的篩選。 因為活動記錄檔可能包含大量資料, 所以 ActivityEvents API 目前僅支援每個要求最多下載一天的資料。 換句話說,開始日期和結束日期必須指定相同的日期,如下列範例所示。 請確定您以國際標準時間 (UTC) 格式指定 DateTime
值。
https://api.powerbi.com/v1.0/myorg/admin/activityevents?startDateTime='2019-08-31T00:00:00'&endDateTime='2019-08-31T23:59:59'
如果專案數目很大, ActivityEvents API 只會傳回大約 5,000 到 10,000 個專案和接續權杖。 再次使用接續權杖呼叫 ActivityEvents API,以取得下一批專案等等,直到您取得所有專案,不再收到接續權杖為止。 下列範例示範如何使用接續權杖:
https://api.powerbi.com/v1.0/myorg/admin/activityevents?continuationToken='%2BRID%3ARthsAIwfWGcVAAAAAAAAAA%3D%3D%23RT%3A4%23TRC%3A20%23FPC%3AARUAAAAAAAAAFwAAAAAAAAA%3D'
如果結果包含接續權杖,請繼續使用該權杖呼叫 API,以取得其餘的資料,直到不再傳回接續權杖為止。 呼叫可以傳回接續權杖,而不需要任何事件專案。 下列範例示範如何以回應中傳回的接續權杖迴圈:
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);
如果 介於 和 endDateTime
之間的 startDateTime
時間範圍超過 1 小時,則需要多個要求,才能透過 continuationUri
回應下載資料。
下列範例示範如何下載 1 小時 5 分鐘的資料:
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
}
若要深入瞭解如何使用 Power BI REST API,包括如何取得稽核活動事件的範例,請參閱 Power BI REST API 參考檔中的管理員 - 取得活動事件 。
Get-PowerBIActivityEvent Cmdlet
使用 PowerShell 的 Power BI 管理 Cmdlet 下載活動事件。 Get-PowerBIActivityEvent Cmdlet 會自動為您處理接續權杖。 Cmdlet Get-PowerBIActivityEvent
會 採用 StartDateTime 和 EndDateTime 參數,其限制與 ActivityEvents REST API 相同。 換句話說,開始日期和結束日期必須參考相同的日期值,因為您一次只能擷取一天的活動資料。
下列腳本示範如何下載所有 Power BI 活動。 命令會將 JSON 的結果轉換成 .NET 物件,以便直接存取個別活動屬性。 這些範例顯示一天中可能的最小和最大時間戳記,以確保不會遺漏任何事件:
Login-PowerBI
$activities = Get-PowerBIActivityEvent -StartDateTime '2019-08-31T00:00:00' -EndDateTime '2019-08-31T23:59:59' | ConvertFrom-Json
$activities.Count
$activities[0]
篩選活動資料
您可以依活動類型和使用者識別碼來篩選活動事件。 下列腳本示範如何只下載 ViewDashboard 活動的事件資料 。 如需支援參數的其他資訊,請使用 命令 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]
注意
PowerShell 範例可協助您瞭解如何篩選和擷取 Power BI 活動記錄事件。 如需詳細資訊,請參閱 存取 Power BI 活動記錄 。
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應