作者 | 王觯程(紫英),阿里云开放平台技术专家,目前从事阿里云开放 API 相关工具和产品的研发工作,主要负责阿里云逻辑编排,在阿里集团负责编排规范推进,以及相关基础设施和中台建设,在系统集成和企业集成领域有深入研究。
导读
阿里云工具应用中心,是面向企业云管理的工具平台。用户可以在这里根据使用场景,快速地找到云上运维的应用产品,完成订购后,直接在阿里云管理控制台使用。本篇工具应用最佳实践系列之——逻辑编排,将为大家介绍如何使用阿里云逻辑编排,轻松实现阿里云账单定时自动化导入自己的数据库,便于后续分析。
背景
阿里云账单数据对很多大企业客户来说是非常重要的,大企业客户的财务人员或者数据分析人员需要这些数据做财务分析、分摊以及对账等。但是对大企业中的财务同学和数据分析师等非专业开发工程师来说,通过调用阿里云 OpenAPI 来获取该企业某一段账期下的所有账单数据不是一个轻松的活儿,甚至可能需要求助于研发人员完成这个工作。梳理一下,我们需要做一下工作:
- 代码研发:通过阅读阿里云账单相关 API 文档,了解需要使用哪个 API 后进行开发;
- 部署调试:购买 ECS、数据库等资源,完成代码打包、上传、部署工作;然后需要测试代码是否正常运行;部署过程需要考虑是否做到高可用;
- 运维:部署完成后,需要保障能够根据定时自动运行任务,如果出错,如何排查问题等;
可见,除了开发成本外,调试、部署、运维都有不少成本。本来一个很简单的任务,也需要购买一台或者多台(如果需要高可用)的服务器来跑任务,但本身这个任务不需要花费较多的计算资源,造成了一定的浪费。
今天,我给大家介绍一个更简单便捷省钱的方案:使用逻辑编排完成账单 OpenAPI 导入自己的阿里云 RDS 数据库。
逻辑编排介绍
逻辑编排是一个一站式集成的 iPaaS 产品,一键导出账单、证书过期自动检测、云资源级联删除,各种业务问题都可通过逻辑编排解决。运维、开发等人员通过图形化组件和模板自助实现业务流程编排,以低代码的方式开发针对特定场景的流程,适用于运维和SaaS服务集成等领域。通过逻辑编排,我们可以很方便的完成阿里云账单 API 和数据库的集成工作。
逻辑编排有以下特点:
- Codeless(低代码):逻辑编排提供了可视化编辑器,无需了解复杂的编程知识,也可以快速搭建业务流程;
- Serverless(无服务器计算):
- 编排好的业务工作流,由逻辑编排托管运行,无需您关心运维和部署,逻辑编排统统帮您搞定;
- 通过定时任务等事件驱动的方式,帮您实现业务的自动化运行,降低人肉成本;
- 丰富的日志,帮您洞察业务工作流中的每个细节,找到业务问题。
逻辑编排适合于:
- API 开发者:托管式的运行环境面向 API 市场的开发者,通过集成阿里云服务 API、三方服务的公共 API至自有业务流程,减少生产资源成本和运维成本,实现真正的 Serverless + Codeless;
- 企业 IT 运维管理者、数据分析师:通过组合不同云产品的 API 操作,简化日常的运维工作;通过计划调度的触发模式,获得被监控资源状态的实时消息;
- 跨环境(多云、混合云)企业级集成开发者:通过API、数据和消息网关能力,编排同步、非同步的线上线下环境的子业务流程,完成企业级应用的快速集成;
接下来,我们实战一下如何通过逻辑编排实现阿里云账单 QueryBill 这个 OpenAPI 的数据导入到 RDS。
实战账单数据导入
方案架构
在该需求当中,我们借助逻辑编排实现账单 API 的调用和数据获取,并通过逻辑编排提供的 MySQL 连接器将数据写入到 RDS 中,后续用户可以基于 RDS 数据库中的数据进行分析和展现。最后,通过逻辑编排的定时任务触发器实现每天持续的自动化导入。整体方案架构如下图所示:
准备工作
因为需要导入到我们自己的 RDS 数据中,所以我们需要先准备一台 RDS 实例,具体购买方法可以参考 RDS 官方文档。
实例处于运行状态后,我们需要准备以下信息:
- 数据库公网访问地址、端口,参考文档:查看实例的内外网信息和端口、申请外网访问
- 创建一个数据库,并创建相关的账号和密码,并赋予对应账号读写权限,参考文档:创建账号
- 设置数据库白名单供逻辑编排调用,参考文档:设置白名单
创建实例
我们使用阿里云主账号,登录逻辑编排控制台后,点击左侧的“编排实例”,进入到编排实例列表,再点击“创建编排实例”,在弹出的对话框中输入实例的名称和简介,点击确定后,提示我们创建成功。这里我们选择“从官方模板导入”,然后从弹出的窗口里选择“将截止上个月的阿里云账单 QueryBill 数据导入数据库”的模板,完成实例创建。
配置模板
实例创建完成后,进入到了图形化设置界面,这里我们需要配置数据库连接信息和账单 API 的授权。有了这些授权,逻辑编排才可以帮您完成账单 API 的调用和数据的写入。逻辑编排会分析您导入的模板,把所有需要授权的操作列了出来:
在数据库连接这里,点击创建,在弹出的侧边栏填入刚才 RDS 实例的公网连接地址、端口、数据库名称、账号、密码即可。请放心,逻辑编排会对您填写的信息进行加密。
在阿里云账单 API 相关的授权,点击授权后,会弹出角色授权侧边栏,权限选择AliyunBSSFullAccess
权限即可。无需跳转到 RAM 控制台即可完成角色授权操作。
所有授权操作完成后,授权列表每一项后面会变成绿色,这时候可以点击继续进入图形化设计页面。
参数调整
在画布页面,您可以对一些运行变量进行调整,比如“总月份数”这个节点定义了总共导入最近多少个月的数据,可以根据自己的需求修改该设置。再比如,导入的模板默认是每个月第一天执行导入操作,那我们也可以修改触发器的设置,调整为每天凌晨 4 点导入,只需要在画布中点开“重复周期”这个节点,修改相关配置即可。
运行
调整完成后,点击画布右上角的“保存”,再点击“运行”后,实例开始运行导入任务了,从图中我们可以看到进行到了哪一步,每一步运行是否成功以及相应的耗时情况。
如果数据量较大,导入需要一定的时间(具体和您账单本身的数据量有关),这时候我们可以关闭页面,喝杯咖啡,或者做点其它事情。
查看运行结果
忙好了其它事情后,我们过来看看导入的状况。打开刚才创建的实例,在“运行日志”Tab 下,我们可以看到刚才的运行记录,如果状态为成功,表示已经导入完成了,是不是很简单?
如果运行状态为失败,我们可以点击查看,看看具体是哪一步出错了,比如白名单是不是配置正确了?或者 API 调用是不是超时了?如果出错了,我们可以再点击运行,重新进行导入。模板里也做了相应的处理,为每一条数据生成了一个唯一 ID,不会重复导入数据。
基于模板创建的是定时导入,所以您也无需每个月提醒自己来控制台手工导入,逻辑编排会根据您的定时时间设置,自动帮您在指定的时间完成导入工作。是不是很省心呢?
总结
通过逻辑编排,我们不需要求助开发小哥哥,就很简单的实现了一个账单 API 数据导入到自己 RDS 数据库的需求。经过这个实践,我们可以看出逻辑编排具有以下优势:
- 无需关心代码实现和部署。您不需要关心 API 调用的细节和过程,也不需要关心如何部署这些代码,逻辑编排提供了全托管的运行环境。并且通过丰富、完整的日志展示,您可以方便的洞察每个过程的运行状态和相关数据;
- 提供丰富的连接器和模板。逻辑编排对接了阿里云数十个产品的 OpenAPI,并提供了多个内置的连接器,方便您完成基于阿里云 OpenAPI 的系统集成。借助于服务连接,您不需要了解复杂的授权策略和数据库连接过程,逻辑编排会帮您完成相关的授权调用过程。同时,您也可以借助逻辑编排内置的一些模板快速上手,完成自己的一些业务需求;
- 一站式可视化操作。逻辑编排提供了可视化的编辑器,无需了解复杂的编程知识,您就可以直接利用可视化编辑器完成业务工作流的调整等操作;
- 自动化的运行业务工作流。通过重复周期触发器,无需您手动触发,即可在指定的时间自动化完成您配置好的业务工作流;
后续,逻辑编排也会不断丰富连接器以及模板的种类和数量,提供更加易用的一站式集成平台,让您基于逻辑编排实现更多自动化的业务工作流,赋能更多非开发人员完成云上的工作,满足您的业务诉求。
此外,应用中心还提供了资源管理、配置编排、自动化运维、诊断分析、成本费用、运维工具等多种场景类目,未来将陆续推出高效低价的应用工具,提供更多的行业型解决方案。前往了解详情!
如果您有任何建议或者需要使用上的帮助,欢迎扫码加入逻辑编排钉钉群(群号:21995282):