综述
在企业办公自动化系统里,经常会有一种场景,当某个重要文件出现异动后,会通知客户文件的变化,今天结合阿里云的函数计算来完成这个异动信息的通知工作。
阿里云的函数计算是2017年4月份发布,并于同年10月份正式商业化,是一款基于Serverless这种架构下实现的一款轻计算高弹性的产品。下面会讲解基于函数计算作为企业办公室数据处理并分发后的场景。
整体架构图如下:
配图说明:
①企业人员把文件存放到对象存储里
②对象存储通过文件的变化触发订阅的函数计算
③函数计算根据用户定义的业务逻辑去分发消息,例如分发给消息通道或者手机
开通产品
在开始步骤之前,需要先开通以下产品,通过阿里云官网首页,找到各个产品详情页,并开通服务,这三个产品都是按量付费产品,开通流程都比较简单。
函数计算产品详情页:https://www.aliyun.com/product/fc
表格存储产品详情页:https://www.aliyun.com/product/ots
控制台的配置
表格存储的配置
分别开通上述产品后,需要对产品的联通进行配置,需要打通的产品如,函数计算和表格存储等,配置都相对简单,下面会使用少量界面图来引导每一步操作。
打开表格存储的控制台,进入控制台创建实例->管理->创建数据表。
创建实例
请选择华东1(杭州)区域,创建实例名,例如hz-workshop001(注意这个名字是唯一的,如果有重复,请更换一个名字,并把实例名字拷贝下来,备用。
创建表格
创建一张表格,表格名称必须创建成这个名称:im_demo_timeline_SyncTable,创建一个两个主键,名称分别:timeline_id(字符串类型),sequence_id(自增列),
对象存储(OSS)配置:
进入对象存储的控制台,创建一个杭州区域的bucket,名字保证唯一即可,如下图所示:
选择缺省配置保存即可。
函数计算的配置:
进入函数计算的控制台,开通服务后,选择跟表格存储同一个区域华东1(杭州)的先创建一个新服务。
配置服务
新创建服务的时候,填写服务名后,点击高级配置,拉到权限授权配置,选择两种权限,OSS和OTS的权限
如下图:
点击授权,完成配置即可,在服务下,我们继续创建函数计算。
函数配置
创建新函数,选择一个空白模板,选择python2.7,填写函数名,配置好的界面如下面图所示,代码上传方式,请选择:代码包上传。代码下载在这里:message-code.zip
点击保存,进入编辑页面,如下图:
这个地方需要注意:
需要替换代码ots_name为表格存储的实例名称,如上面hz-workshop001等
代码编写结束后,直接可以执行来调试,其中触发事件是为了让开发者可以在控制台上模板输入来进行调试。
配置触发器
函数计算要监控来自对象存储的事件响应,需要配置相应的触发器来完成该项工作,点击函数计算调试界面‘触发器’选项页,点击创建触发器,选择对象存储触发器。
对象存储触发器的配置如下图:
注意三个值:
1、Bucket列表:选上面配置好对象存储
2、触发事件:选三种事件源,put,post,和delete
3、触发规则,前置test,后缀.csv,这个配置是为了监控在对象存储上出现变化的文件
配置好后,点击确定即可。
调试程序
编写好业务代码,一般都需要进行调试,在函数计算里提供了事件源模拟器,在代码编辑页码,点击‘事件触发事件’,选择OSS模板,点击执行,设置好内容后,可以执行看看,执行结果会显示很多内容,执行摘要里会带内存使用情况,执行时间,实际使用内存等等。同时会把执行过程中的日志也打印出来。
实际效果演示
上传文件
我们完整的走一个流程,跳转到对象存储控制台,进入刚刚创建的bucket中,点击'文件管理',点击‘上传文件’,在你的本地机器上任意创建一个前缀test.txt文件,里面任意写些内容,并上传文件成后,打开表格存储,可以看到如下图:
删除文件
再演示一个在对象存储中删除刚刚上传的文件,test.txt,对象存储控制台操作如下:
在表格存储里,会多一个删除记录,结合表格存储的消息通知,即可达到当文件出现异动情况,函数计算会通知给表格存储,触发后续的聊天通知。
表格存储的两条文件产生变化的数据如下: