Trải nghiệm Realtime report với Azure Event Hub và Dataflow
Chào các bạn, realtime report luôn là một chủ đề ‘nóng’ & được áp dụng trong rất nhiều model thực tế. VD: theo dõi hàng hóa nhập/xuất, theo dõi lượng khách hàng ghé thăm cửa hàng, theo dõi thời tiết, dây chuyền sản xuất,.. Tùy vào tình hình và hệ thống hạ tầng thực tế mà chúng ta có những phương án thực hiện khác nhau.
Trong bài này, dataMAKER sẽ sử dụng hệ sinh thái của Microsoft để thực hiện. Chúng ta sẽ sử dụng những dịch vụ sau:
– Azure Event Hub services
– Dataflows
– Power BI
Ngoài ra, chúng ta cần kết nối đến nguồn dữ liệu có thông tin thay đổi liên tục để đo lường chính xác hơn về khả năng realtime. Trong VD này, dataMAKER sẽ kết nối đến một ứng dụng bán hàng trực tuyến, thông tin cần lấy về được chuyển đổi về json (dạng extension phổ biến & dễ khai thác).
Mô hình vận hành cơ bản sẽ như sau:
Đầu tiên các bạn phải khởi tạo môi trường Azure Event Hub trước, VD như hình sau:
Parse sang json cho gọn:
Sau khi đã có môi trường, chúng ta tiến hành tạo Event Hub:
Lưu ý: trạng thái phải là Active
Bước tiếp theo rất quan trọng, chúng ta cần phải khởi tạo 2 policy đảm nhận việc nhận & gửi dữ liệu (để ý các key string cho phần cấu hình về sau trên Dataflows)
Ở đây, để kiểm tra thì dataMAKER sẽ giả lập một số thông tin (dùng key string trên để khai báo tại đây).
Ghi chú: các bạn xem thêm thông tin về cách khai báo thông tin các connection string tại đây: Get connection string – Azure Event Hubs – Azure Event Hubs | Microsoft Docs
Quay lại Azure Event Hub kiểm tra các thông tin trên đã được thể hiện trên 3 chart trung tâm sau:
Như vậy là đã xong phần xử lý backend, bước tiếp theo chúng ta sẽ tạo Streaming dataflow trên Power BI:
Chọn tiếp Event Hub, khai báo các thông tin key string quan trọng trên, sau đó tùy vào hệ thống mà chúng ta có những xử lý trên Dataflows cho phù hợp. VD trong trường hợp này, dataMAKER sẽ tạo ra 2 bảng: ProductSold (hàng hóa bán được) & Inventory (ghi nhận hàng tồn kho).
Lưu ý: phần Runtime errors phải được xử lý hết nếu có lỗi phát sinh
Tiến hành start flow này:
Việc cuối cùng cần thực hiện: dùng Power BI kết nối vào dataflows để lấy dữ liệu, ở đây dataMAKER chỉ muốn theo dõi theo thời gian thực số lượng hàng hóa bán ra nên chỉ chọn bảng ProductSold
Lưu ý: chỗ này chúng ta chọn Direct Query chứ không chọn Import.
Đến đây, các bạn tùy ý thiết kế dựa trên bộ dữ liệu mà mình có.
Bước cuối cùng là tùy chọn thiết lập thời gian refresh theo mong muốn:
Như vậy, chúng ta vừa trải nghiệm nhanh xuyên suốt cách khai thác hệ sinh thái Microsoft để tạo một báo cáo theo thời gian thực. Với cách trên các bạn hoàn toàn có thể khai thác mở rộng thêm, vd như IOT realtime report.
Have fun,