Serverless:云函数 + 小马BI,将报表极速搬上云
本文作者:sevenyjluo ,騰訊 CSIG 前端開發工程師
很多業務都需要進行運營數據統計,如統計用戶數、調用量等等。相較于傳統方式,在擁抱云計算的大潮下,如何借助騰訊云上 PAAS 產品無服務云函數 SCF(Serverless CloudFunction),云數據庫(MySQL),以及結合報表可視化工具"小馬 BI"(https://xiaoma.tencent.com/#/),來快速開發我們的運營報表呢?
效果展示、架構介紹
運營日報的整體架構如下:
簡單概括下,就是通過云函數的定時觸發器,每天定時從源數據庫(或API接口等)獲取數據并處理,之后存到目標數據庫。小馬 BI 從目標數據庫拉取數據進行展示。so easy!
報表效果如下:
第一步、申請注冊騰訊云賬號
在騰訊云(https://cloud.tencent.com/)上,申請注冊一個騰訊云賬號。第二步、購買云 MYSQL(非必需)
在騰訊云數據庫控制臺購買一個數據庫,用于存儲我們處理后的數據。
(理論上,目標數據庫只要位于小馬 BI 能訪問到的服務器上就行。如果你不想把數據存在云數據庫中,您可跳過此步。)
第三步、創建云函數
在騰訊云云函數控制臺新建云函數。(如若您的MYSQL數據庫配置了VPC, 請確保云函數與其位于同一VPC內)。
第四步、開發
接下來就是具體的代碼開發,云函數只是幫我集成了各個語言(如 Node Python 等)的運行時。
代碼的開發與正常開發別無二致。
在此不再贅述。可以參考SCF 快速入門。
4.1 存量項目遷移
云函數通過指定的函數入口來進行調用。
所以現有項目,只需要入口執行代碼改為函數,并在控制臺配置相應的函數入口,即可實現無縫遷移。
第五步、部署
代碼開發完以后,可以通過手動、命令行工具等方式上傳。
配置定時觸發器,每天 8 點執行就可以了。
可以通過控制臺比較方便地查看日報每天的執行日志:
第六步、配置告警(非必需)
日報執行出錯,作為開發人員我們很希望第一時間接收到通知,以便排查。
6.1 ?通過云監控來配置告警
6.2 通過企業微信機器人
可以通過代碼改造,全局捕獲錯誤,將函數執行成功或失敗的推送給企業微信機器的回調地址。
效果如下:
第七步、配置小馬 BI
處理后的數據存入云數據庫以后,在小馬 BI 上配置數據庫地址為云上數據庫(或您的目標數據庫)的地址。
之后拖拽組件生成圖表就 OK 了。更多配置細節,可參考小馬 BI 幫助手冊。
寫在最后
運營報表上云相較于之前,有以下優勢:
1、更方便的重跑日報。當天日報出錯。需要重跑的話,只需要通過在控制臺點擊按鈕就能完成,無需登機器。
2、更方便的查看日志。原先查日志都需要登錄服務器,現在通過控制臺界面就能完成。
3、部署更方便。原先想更改文件,需要通過rz/sz的方式把文件傳到機器上,現在結合云函數的命令行工具,可以很方便地進行部署。
4、更方便地監控與提醒。日報出錯,通過微信機器人、云監控的告警功能來更方便的提醒。
結合小馬 BI 的可視化、推送能力,我們可以很方便、快速地完成運營報表開發。
總結
以上是生活随笔為你收集整理的Serverless:云函数 + 小马BI,将报表极速搬上云的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 现代化 C++ 开发工具 CLion 从
- 下一篇: 写给前端工程师的 Flutter 详细教