ติดตามกิจกรรมของผู้ใช้ใน Power BI

การทราบว่าใครกําลังดําเนินการอะไร และในรายการใดใน Power BI มีความสําคัญในการช่วยให้องค์กรของคุณปฏิบัติตามข้อกําหนดได้ เช่น การปฏิบัติตามข้อบังคับการประชุมและการจัดการบันทึกต่าง ๆ บทความนี้อธิบายถึงบันทึกกิจกรรมของ Power BI ซึ่งขึ้นอยู่กับ Power BI REST API

คุณสามารถติดตามกิจกรรมของผู้ใช้ Microsoft Fabric รวมถึงการดําเนินการ Power BI โดยใช้ บันทึกการตรวจสอบ

ข้อกำหนดเบื้องต้น

  • คุณต้องเป็นผู้ดูแลระบบส่วนกลางหรือผู้ดูแลระบบ Power BI

  • ติดตั้ง cmdlet ของการจัดการ Power BI ภายในเครื่อง หรือใช้ cmdlets การจัดการ Power BI ใน Azure Cloud Shell

บันทึกกิจกรรม

บันทึกกิจกรรม Power BI ประกอบด้วยสําเนาทั้งหมดของกิจกรรม Power BI ในอาร์เรย์ JSON คุณสามารถค้นหารายการของกิจกรรม Power BI ทั้งหมดในรายการการดําเนินการ Fabric ได้

ActivityEvents REST API

คุณสามารถใช้แอปพลิเคชันการดูแลระบบที่ยึดตาม Power BI REST API เพื่อส่งออกเหตุการณ์กิจกรรมลงในที่เก็บ blob หรือฐานข้อมูล SQL จากนั้นคุณสามารถสร้างรายงานการใช้งานแบบกําหนดเองที่ด้านบนของข้อมูลที่ส่งออก ในการ เรียกใช้ ActivityEvents REST API คุณต้องระบุวันที่เริ่มต้นและวันที่สิ้นสุดและตัวกรองที่เลือกได้เพื่อเลือกกิจกรรมตามประเภทกิจกรรมหรือ ID ผู้ใช้ เนื่องจากบันทึกกิจกรรมอาจประกอบด้วยข้อมูล จํานวนมาก ActivityEvents API ในขณะนี้รองรับการดาวน์โหลดข้อมูลสูงสุดหนึ่งวันต่อการร้องขอหนึ่งครั้ง หรืออีกนัยหนึ่งคือ ต้องระบุวันที่เริ่มต้นและวันที่สิ้นสุดเป็นวันเดียวกัน ตามตัวอย่างต่อไปนี้ ตรวจสอบให้แน่ใจว่าคุณได้ DateTime ระบุค่าในรูปแบบเวลามาตรฐานสากล (UTC)

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

หากเวลาระหว่าง startDateTime และ endDateTime เกิน 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

ดาวน์โหลดเหตุการณ์กิจกรรมโดยใช้ cmdlet ของ Power BI Management สําหรับ PowerShell Get-PowerBIActivityEvent cmdlet จัดการโทเค็นความต่อเนื่องให้คุณโดยอัตโนมัติ Get-PowerBIActivityEvent cmdlet ใช้พารามิเตอร์ 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]

กรองข้อมูลกิจกรรม

คุณสามารถกรองเหตุการณ์กิจกรรมตามประเภทกิจกรรมและ ID ผู้ใช้ สคริปต์ต่อไปนี้สาธิตวิธีการดาวน์โหลดเฉพาะข้อมูลเหตุการณ์สําหรับกิจกรรม 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