本文將介紹如何通過邏輯編排,定時將阿里云賬單的QueryBill這個接口提供的賬號內的賬單數據(支持多賬號)導入到阿里云RDS。
方案架構
在該示例當中,借助邏輯編排實現賬單API的調用和數據獲取,并通過邏輯編排提供的MySQL連接器將數據寫入到RDS中,后續可以基于RDS數據庫中的數據進行分析和展現。最后,通過邏輯編排的定時任務觸發器實現每天持續的自動化導入,無需人工介入。
整體方案架構如下圖所示:
準備工作
首先需要準備一臺RDS實例,創建方法可以參考創建RDS MySQL實例。
實例處于運行狀態后,需要準備以下信息:
數據庫公網訪問地址、端口,參考文檔:查看內外網地址和端口(新版控制臺)、申請或釋放外網地址
創建一個數據庫,并創建相關的賬號和密碼,并賦予對應賬號讀寫權限,參考文檔:創建賬號
設置數據庫白名單供邏輯編排調用,具體白名單地址請提交工單獲取,參考文檔:設置IP白名單
創建工作流
使用阿里云主賬號,登錄邏輯編排控制臺后,單擊左側的我的工作流,進入到工作流列表。
單擊創建工作流,在彈出的對話框中填寫實例的名稱、資源組等信息,單擊確定后,在彈出的對話框中選擇從官方模板導入。
從彈出的窗口里選擇定期將阿里云賬單 InstanceBill 數據導入到 RDS,完成工作流創建。
配置模板
工作流創建完成后,進入到了圖形化設置界面,這里需要配置數據庫連接信息,并授權邏輯編排調用賬單API的權限。通過這些授權,邏輯編排才可以完成賬單API的調用和數據的寫入。邏輯編排會分析導入的模板,把所有需要授權的操作列了出來:
在數據庫連接這里,單擊創建,在彈出的側邊欄填入剛才RDS實例的公網連接地址、端口、數據庫名稱、賬號、密碼即可。
在阿里云賬單API相關的授權,單擊授權后,會彈出角色授權側邊欄,權限選擇AliyunBSSFullAccess
權限即可。
所有授權操作完成后,授權列表每一項后面會變成綠色,這時候可以單擊繼續進入圖形化設計頁面。
參數調整
在畫布頁面,可以對一些運行變量進行調整,比如總月份數這個節點定義了總共導入最近多少個月的數據,可以根據需求修改該設置。再比如,導入的模板默認是每個月第一天執行導入操作,那也可以修改觸發器的設置,調整為每天凌晨 4 點導入,只需要在畫布中展開重復周期這個節點,修改相關配置即可。
運行工作流
參數調整完畢,單擊保存,再單擊運行,等待工作流運行完成。
如果數據量較大,導入需要一定的時間,主要和當前賬號下賬單本身的數據量以及寫入數據庫的時長有關。
查看運行結果
在運行日志選項卡下,可以看到剛才的運行記錄,如果狀態為成功,表示已經導入完成。
如果運行狀態為失敗,可以單擊查看按鈕,檢查具體是哪一步出錯了,比如數據庫白名單是否配置正確,或者API調用是否失敗等。如果出錯了,可以調整參數后再次運行工作流,重新進行導入。模板里也做了相應的處理,不會重復導入數據。