博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018年杭州云栖大会-企业办公数据处理和分发(函数计算篇)
阅读量:7089 次
发布时间:2019-06-28

本文共 1693 字,大约阅读时间需要 5 分钟。

综述

在企业办公自动化系统里,经常会有一种场景,当某个重要文件出现异动后,会通知客户文件的变化,今天结合阿里云的函数计算来完成这个异动信息的通知工作。

阿里云的函数计算是2017年4月份发布,并于同年10月份正式商业化,是一款基于Serverless这种架构下实现的一款轻计算高弹性的产品。下面会讲解基于函数计算作为企业办公室数据处理并分发后的场景。
整体架构图如下:
image
配图说明:
①企业人员把文件存放到对象存储里
②对象存储通过文件的变化触发订阅的函数计算
③函数计算根据用户定义的业务逻辑去分发消息,例如分发给消息通道或者手机

开通产品

在开始步骤之前,需要先开通以下产品,通过阿里云官网首页,找到各个产品详情页,并开通服务,这三个产品都是按量付费产品,开通流程都比较简单。

函数计算产品详情页:
表格存储产品详情页:

控制台的配置

表格存储的配置

分别开通上述产品后,需要对产品的联通进行配置,需要打通的产品如,函数计算和表格存储等,配置都相对简单,下面会使用少量界面图来引导每一步操作。
打开表格存储的控制台,进入控制台创建实例->管理->创建数据表。
创建实例
请选择华东1(杭州)区域,创建实例名,例如hz-workshop001(注意这个名字是唯一的,如果有重复,请更换一个名字,并把实例名字拷贝下来,备用。
创建表格
创建一张表格,表格名称必须创建成这个名称:im_demo_timeline_SyncTable,创建一个两个主键,名称分别:timeline_id(字符串类型),sequence_id(自增列),
image

对象存储(OSS)配置:

进入对象存储的控制台,创建一个杭州区域的bucket,名字保证唯一即可,如下图所示:
image
选择缺省配置保存即可。

函数计算的配置:

进入函数计算的控制台,开通服务后,选择跟表格存储同一个区域华东1(杭州)的先创建一个新服务。
配置服务
新创建服务的时候,填写服务名后,点击高级配置,拉到权限授权配置,选择两种权限,OSS和OTS的权限
如下图:
image
点击授权,完成配置即可,在服务下,我们继续创建函数计算。

函数配置

创建新函数,选择一个空白模板,选择python2.7,填写函数名,配置好的界面如下面图所示,代码上传方式,请选择:代码包上传。代码下载在这里:
image
点击保存,进入编辑页面,如下图:
image
这个地方需要注意:
需要替换代码ots_name为表格存储的实例名称,如上面hz-workshop001等
代码编写结束后,直接可以执行来调试,其中触发事件是为了让开发者可以在控制台上模板输入来进行调试。

配置触发器

函数计算要监控来自对象存储的事件响应,需要配置相应的触发器来完成该项工作,点击函数计算调试界面‘触发器’选项页,点击创建触发器,选择对象存储触发器。
对象存储触发器的配置如下图:
image
注意三个值:
1、Bucket列表:选上面配置好对象存储
2、触发事件:选三种事件源,put,post,和delete
3、触发规则,前置test,后缀.csv,这个配置是为了监控在对象存储上出现变化的文件
配置好后,点击确定即可。

调试程序

编写好业务代码,一般都需要进行调试,在函数计算里提供了事件源模拟器,在代码编辑页码,点击‘事件触发事件’,选择OSS模板,点击执行,设置好内容后,可以执行看看,执行结果会显示很多内容,执行摘要里会带内存使用情况,执行时间,实际使用内存等等。同时会把执行过程中的日志也打印出来。

image

实际效果演示

上传文件

我们完整的走一个流程,跳转到对象存储控制台,进入刚刚创建的bucket中,点击'文件管理',点击‘上传文件’,在你的本地机器上任意创建一个前缀test.txt文件,里面任意写些内容,并上传文件成后,打开表格存储,可以看到如下图:
image
删除文件
再演示一个在对象存储中删除刚刚上传的文件,test.txt,对象存储控制台操作如下:
image
在表格存储里,会多一个删除记录,结合表格存储的消息通知,即可达到当文件出现异动情况,函数计算会通知给表格存储,触发后续的聊天通知。
表格存储的两条文件产生变化的数据如下:
image

转载地址:http://pwbql.baihongyu.com/

你可能感兴趣的文章
Mahout-DistanceMeasure (数据点间的距离计算方法)
查看>>
在线研讨会网络视频讲座 - 方案设计利器Autodesk Infrastructure Modeler 2013
查看>>
【转】批量杀进程
查看>>
通过file_get_contents执行带参数的php
查看>>
Java 公历转农历,然后农历减一年(或者几天或者任意天),再把这个日期转成公历...
查看>>
Hibernate HQL查询:
查看>>
系统吞吐量(TPS)、用户并发量、性能测试概念和公式
查看>>
R语言笔记1--向量、数组、矩阵、数据框、列表
查看>>
大数进制转换 poj1220
查看>>
练习--LINUX进程间通信之有名管理FIFO
查看>>
使用memcached加速web应用实例
查看>>
Educational Codeforces Round 11 C. Hard Process 二分
查看>>
Android Camera 使用一例,视频聊天app
查看>>
caffe 中的一些参数介绍
查看>>
JAVA多线程和并发基础面试问答
查看>>
关于直播学习笔记-003-nginx-rtmp、srs、vlc、obs
查看>>
Memory Monitor
查看>>
[Android Pro] 由模块化到组件化(一)
查看>>
区块链代币(Token)笔记 — — 术语
查看>>
python 解析json讲解(demjson)
查看>>