Serverless:云函數 + 小馬BI,將報表極速搬上云

來源:騰訊技術工程
作者: sevenyjluo
時間:2020-06-18
5811
在擁抱云計算的大潮下,如何借助騰訊云上PAAS產品無服務云函數SCF(Serverless CloudFunction),云數據庫(MySQL),以及結合報表可視化工具小馬BI,來快速開發(fā)我們的運營報表呢?

很多業(yè)務都需要進行運營數據統(tǒng)計,如統(tǒng)計用戶數、調用量等等。相較于傳統(tǒng)方式,在擁抱云計算的大潮下,如何借助騰訊云上PAAS產品無服務云函數SCF(Serverless CloudFunction),云數據庫(MySQL),以及結合報表可視化工具"小馬BI"(https://xiaoma.tencent.com/#/),來快速開發(fā)我們的運營報表呢?

效果展示、架構介紹

運營日報的整體架構如下:

微信圖片_20200618085230.jpg

簡單概括下,就是通過云函數的定時觸發(fā)器,每天定時從源數據庫(或API接口等)獲取數據并處理,之后存到目標數據庫。小馬BI從目標數據庫拉取數據進行展示。so easy!

報表效果如下:

微信圖片_20200618085234.jpg

第一步、申請注冊騰訊云賬號

在騰訊云(https://cloud.tencent.com/)上,申請注冊一個騰訊云賬號。

第二步、購買云MYSQL(非必需)

在騰訊云數據庫控制臺購買一個數據庫,用于存儲我們處理后的數據。

(理論上,目標數據庫只要位于小馬BI能訪問到的服務器上就行。如果你不想把數據存在云數據庫中,您可跳過此步。)

微信圖片_20200618085238.jpg

微信圖片_20200618085241.jpg

第三步、創(chuàng)建云函數

在騰訊云云函數控制臺新建云函數。(如若您的MYSQL數據庫配置了VPC,請確保云函數與其位于同一VPC內)。

微信圖片_20200618085244.jpg

微信圖片_20200618085248.jpg

第四步、開發(fā)

接下來就是具體的代碼開發(fā),云函數只是幫我集成了各個語言(如Node Python等)的運行時。

代碼的開發(fā)與正常開發(fā)別無二致。

在此不再贅述??梢詤⒖糞CF快速入門(https://cloud.tencent.com/document/product/583/9179)

4.1存量項目遷移

云函數通過指定的函數入口來進行調用。

所以現有項目,只需要入口執(zhí)行代碼改為函數,并在控制臺配置相應的函數入口,即可實現無縫遷移。

微信圖片_20200618085252.jpg

微信圖片_20200618085256.jpg

第五步、部署

代碼開發(fā)完以后,可以通過手動、命令行工具(https://cloud.tencent.com/document/product/583/33445)等方式上傳。

微信圖片_20200618085259.jpg

配置定時觸發(fā)器,每天8點執(zhí)行就可以了。

微信圖片_20200618085303.jpg

可以通過控制臺比較方便地查看日報每天的執(zhí)行日志:

微信圖片_20200618085305.jpg

第六步、配置告警(非必需)

日報執(zhí)行出錯,作為開發(fā)人員我們很希望第一時間接收到通知,以便排查。

6.1通過云監(jiān)控來配置告警

微信圖片_20200618085308.jpg

微信圖片_20200618085312.jpg

6.2通過企業(yè)微信機器人

可以通過代碼改造,全局捕獲錯誤,將函數執(zhí)行成功或失敗的推送給企業(yè)微信機器的回調地址。

微信圖片_20200618085315.jpg

效果如下:

微信圖片_20200618085559.jpg

第七步、配置小馬BI

處理后的數據存入云數據庫以后,在小馬BI上配置數據庫地址為云上數據庫(或您的目標數據庫)的地址。

微信圖片_20200618090533.jpg

之后拖拽組件生成圖表就OK了。更多配置細節(jié),可參考小馬BI幫助手冊。

微信圖片_20200618085652.jpg

寫在最后

運營報表上云相較于之前,有以下優(yōu)勢:

1、更方便的重跑日報。當天日報出錯。需要重跑的話,只需要通過在控制臺點擊按鈕就能完成,無需登機器。

2、更方便的查看日志。原先查日志都需要登錄服務器,現在通過控制臺界面就能完成。

3、部署更方便。原先想更改文件,需要通過rz/sz的方式把文件傳到機器上,現在結合云函數的命令行工具,可以很方便地進行部署。

4、更方便地監(jiān)控與提醒。日報出錯,通過微信機器人、云監(jiān)控的告警功能來更方便的提醒。

結合小馬BI的可視化、推送能力,我們可以很方便、快速地完成運營報表開發(fā)。


原文鏈接:點擊前往 >
文章來源:騰訊技術工程
版權說明:本文內容來自于騰訊技術工程,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯系管理員(zzx@kchuhai.com)刪除!
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家