FROM DATA TO DIRECTION

BIVIET

Đối Tác Tin Cậy

Hơn 15 năm kinh nghiệm BI tại Nhật Bản
Đối tác tin cậy cho doanh nghiệp Việt và Nhật
日本で15年以上のBI導入経験
日本とベトナムの企業を支える、信頼のデータパートナー
Sử dụng API để lấy dữ liệu Power BI Activity Log
5
(123)

1. Tổng quát

Bài viết này hướng dẫn phương pháp lấy log của Power BI Activity bằng cách sử dụng API, thực hiện trên Fabric Data Factory.

Mô hình tổng quát

2. Thực hiện

2.1. Chuẩn Bị

Cần chuẩn bị 2 thiết lập sau

2.1.1. Chuẩn bị Trên Azure

■ Tạo và config Service Principal dùng để chứng thực khi sử dụng

Vào Azure portal > Microsoft Entra ID để đăng ký service principal

Đăng ký service principal key

■ Tạo Security Group và add Service Principal thành member để đăng ký trên Fabric Tenant

Vào Azure portal > Microsoft Entra ID để đăng ký security group

Thêm Service Principal đã tạo vào Security Group

2.1.2. Chuẩn bị Fabric Tenant Settings

Trên Fabric, Chọn setting > Admin portal để mở tenant settings của fabric
※ Lưu ý: Bạn cần có quyền Fabric Admin để thực hiện thao tác này

2.2. Tạo Connection trên Fabric

Trên Fabic, chọn Settings > Manage Connections and gateways

Tạo mới 1 connection và thiết lập connection với các thông số sau:

Mục Thiết LậpGiá TrịGhi Chú
ConnectionCloudChọn loại connection là Cloud
Connection Name<tự do>Đặt tên cho connection
Connection TypeWeb v2Chọn web v2 để thiết lập sử dụng API
Base Urlhttps://api.powerbi.com/v1.0/myorg/admin/Thiết lập api url
Token Audience Urihttps://analysis.windows.net/powerbi/apiThiết lập token url
Authentication methodService PrincipalChọn service principal để chứng thực khi kết nối
Tenant ID<thiết lập azure tenant id của service principal>cách gọi khác: Directory ID
Service principal ID<thiết lập Service Principal ID>cách gọi khác: Application (client) ID
Service principal key<thiết lập Service Principal key>cách gọi khác: client secret value
Privacy level<thiết lập privacy level cho connection>thiết lập privacy level tùy theo yêu cầu của hệ thống

Tạo connection sử dụng api.powerbi.com

2.3. Tạo pipeline Trên Fabric

Tạo mới một pipeline và thiết lập pipeline như hình sau

2.3.1. Set StartDateTime Activity

Đây là 1 set variable activity để set thời gian bắt đầu lấy log
※ Mọi người có thể dùng các functions của pipeline để lấy ra giá trị ngày tháng thích hợp với yêu cầu

2.3.2. Set EndDateTime Activity

Đây là 1 set variable activity để set thời gian kết thúc lấy log
※ Mọi người có thể dùng các functions của pipeline để lấy ra giá trị ngày tháng thích hợp với yêu cầu

2.3.3. Data Copy Activity

Đây là 1 copy activity để thực hiện việc copy dữ liệu log power bi về fabric lakehouse

2.3.3.1. Thiết lập Source

Thiết lập source với:
Connection: Chọn connection đã tạo trên
Relative URL: Sử dụng pipeline expression builder để thiết lập các thông số cho activityevents như hình sau.

Lưu ý: Khi dùng Rest API, thì 1 lần request chỉ có thể lấy được 1h data log, nên chúng ta cần thực hiện nhiều request để lấy trọn 1 ngày data của PowerBIActivityEvents.

Track user activities in Power BI – Power BI | Microsoft Learn

Để thực hiện việc này chúng ta có 2 lựa chọn sau:
Lựa chọn 1: sử dụng vòng lặp cho xử lý
Chúng ta có thể thực hiện việc copy dữ liệu trong 1 vòng lặp và điều chỉnh startDateTime, endDateTime để thực hiện.
Ví dụ: xử lý 1 (2025-02-02T00:00:00.000Z ~ 2025-02-02T00:59:59.999Z), xử ly 2 (2025-02-02T01:00:00.000Z ~ 2025-02-02T01:59:59.999Z)

 Lựa chọn 2: Chúng ta sử dụng “continuationUri”.
Việc thực hiện lấy data bằng copyActivity cũng cho phép chúng ta khai báo continuationUri. Nên đây là cách làm dễ dùng nhất mà chúng ta có thể thấy được. Cách thiết lập như hình sau:

2.3.3.2. Thiết lập Destination

Thiết lập destination với:
Connection: Chọn Bronze Lakehouse
Tùy vào thiết kết các layer dữ liệu, mọi người có thế chọn export dữ liệu thành file csv hay có thể update thẳng vào 1 table trong lakehouse.

Thiết lập trong hình dưới dùng để export log data thành file csv
※ Dùng pipeline expression để thiết lập tên file linh động hơn

2.3.3.3. Các thiết lập khác cho Copy Activity

Với các thiết lạp khác cho copy activity, các bạn có thể sử dụng giá trị mặc định.
Chú ý: Khi thiết lập export dữ liều vào table, cần thiết lập mapping cho từng column dữ liệu của table.

2.4. Chạy thử và kiểm tra kết quả

Kiểm tra dữ liệu trong lakehouse

review dữ liệu lấy được

2.5. Tổng kết và các nguồn tham khảo

Với cách làm trên, chúng ta có thể lấy được dữ liệu log của PowerBi Activity để cung cấp cho các ứng dụng quản lý, theo dõi tình trạng sử dụng tài nguyên trên Fabric.

Chú ý

Hiện tại việc lấy dữ liệu log bằng API trên bị giới hạn thời gian trích xuất dữ liệu là 1 ngày. Nên Cần có 1 thiết kế hợp lý để trích trữ dữ liệu hằng ngày vào lakehouse. Đây cũng là lý do chích phát sinh 2 set variable activity trên pipeline.

Tài liệu tham khảo:
Power BI REST APIs for embedded analytics and automation – Power BI REST API | Microsoft Learn
Admin – Get Activity Events – REST API (Power BI Power BI REST APIs) | Microsoft Learn

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 123

No votes so far! Be the first to rate this post.

Sử dụng API để lấy dữ liệu Power BI Activity Log

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Chuyển lên trên