定时导出阿里云账单数据

本文将介绍如何通过逻辑编排,定时将阿里云账单的QueryBill这个接口提供的账号内的账单数据(支持多账号)导入到阿里云RDS。

方案架构

在该示例当中,借助逻辑编排实现账单API的调用和数据获取,并通过逻辑编排提供的MySQL连接器将数据写入到RDS中,后续可以基于RDS数据库中的数据进行分析和展现。最后,通过逻辑编排的定时任务触发器实现每天持续的自动化导入,无需人工介入。

整体方案架构如下图所示:

1

准备工作

首先需要准备一台RDS实例,创建方法可以参考创建RDS MySQL实例

实例处于运行状态后,需要准备以下信息:

数据库详情

创建工作流

  1. 使用阿里云主账号,登录逻辑编排控制台后,单击左侧的我的工作流,进入到工作流列表。

  2. 单击创建工作流,在弹出的对话框中填写实例的名称资源组等信息,单击确定后,在弹出的对话框中选择从官方模板导入

  3. 从弹出的窗口里选择定期将阿里云账单 InstanceBill 数据导入到 RDS,完成工作流创建。

配置模板

工作流创建完成后,进入到了图形化设置界面,这里需要配置数据库连接信息,并授权逻辑编排调用账单API的权限。通过这些授权,逻辑编排才可以完成账单API的调用和数据的写入。逻辑编排会分析导入的模板,把所有需要授权的操作列了出来:

需要授权的连接器

在数据库连接这里,单击创建,在弹出的侧边栏填入刚才RDS实例的公网连接地址、端口、数据库名称、账号、密码即可。

在阿里云账单API相关的授权,单击授权后,会弹出角色授权侧边栏,权限选择AliyunBSSFullAccess权限即可。

所有授权操作完成后,授权列表每一项后面会变成绿色,这时候可以单击继续进入图形化设计页面。

授权完成

参数调整

在画布页面,可以对一些运行变量进行调整,比如总月份数这个节点定义了总共导入最近多少个月的数据,可以根据需求修改该设置。再比如,导入的模板默认是每个月第一天执行导入操作,那也可以修改触发器的设置,调整为每天凌晨 4 点导入,只需要在画布中展开重复周期这个节点,修改相关配置即可。

image

运行工作流

参数调整完毕,单击保存,再单击运行,等待工作流运行完成。

说明

如果数据量较大,导入需要一定的时间,主要和当前账号下账单本身的数据量以及写入数据库的时长有关。

查看运行结果

运行日志选项卡下,可以看到刚才的运行记录,如果状态为成功,表示已经导入完成。

image

如果运行状态为失败,可以单击查看按钮,检查具体是哪一步出错了,比如数据库白名单是否配置正确,或者API调用是否失败等。如果出错了,可以调整参数后再次运行工作流,重新进行导入。模板里也做了相应的处理,不会重复导入数据。