函数计算-触发OSS来处理图片加水印和大小裁剪
摘要: 在Web应用中,有很多在类型,其中针对有一种是针对电商、图片处理网站中当客户上传到OSS的图片进行大小裁剪或者批量加上防盗水印,通常的做法是搭建一个在线服务器并部署WEB应用来进行处理,程序需要按照一定规则来定时来触发事件。
阿里云在4月26日推出Function Compute(函数计算)后,很多客户踊跃申请试用,基于这个产品的目前的试用场景,会汇总多个场景逐步从浅入深来完成一系列主题讲解。
业务场景描述
在Web应用中,有很多在类型,其中针对有一种是针对电商、图片处理网站中当客户上传到OSS的图片进行大小裁剪或者批量加上防盗水印,通常的做法是搭建一个在线服务器并部署WEB应用来进行处理,程序需要按照一定规则来定时来触发事件,这样的情况下,会有3个明显的工作需要额外来考虑:
1、需要搭建Web应用服务器(不管有没有图片处理,空置率会比较高)
2、需要编写相关OSS代码来处理这块事情(需要专门维护一套运行处理代码)
3、需要考虑图片处理的及时性如何保障(要考虑并发和定时器的执行方法)
以上问题,我们仅仅需要通过阿里云的函数计算产品来设置简单事件触发器和编写一些简单OSS的程序就能完美解决上述问题,下面让我们来看看这个任务的如何分解。
整体架构图
首先来对比一下新老架构有什么不同,老架构需要考虑三个地方的处理,例如处理OSS图片的内容、触发条件的处理、以及搭建应用服务器等。
老的框架:
如下图,需要考虑蓝色部分,图片转码需要编写相关代码进行处理。
蓝色标注是老架构中需要关注的,程序需要一种机制对上传来的图片进行设置,例如从OSS的某个目录进行定期扫描,并批量发送到图片进行加水印,大小变化等,并把处理过的图片,用户需要搭建WEB应用,需要编写相关OSS的处理,还需要有个机制能定期做程序处理。
总结下来需要用户关注内容点:
1、对图片的处理需要编写相关代码
2、在OSS上把转码后的图片转移到新的Bucket,需要维护相关代码
3、需要考虑图片处理的及时性
新框架:
用户仅仅需要在Function Compute(函数计算)上设置触发器+函数,例如,监控某个Bucket下的PutObject的事件,当用户把图片上传到OSS的某个Bucket,
马上触发后续的函数代码,函数代码的无非就是把图片进行处理,并把图片转移到新的bucket中,整个过程,不需要搭建Web服务器,不需要写触发条件,
也无需关注整个服务状态如何。纯粹的事件触发后续程序,详见下图分解,仅仅一处蓝色圆圈就是需要编写的代码。
整个业务处理流程:
源码实例
基于新框架的内容,我把相关代码按块来分解,按照两块内容来处理,控制台上的操作和Fcli命令行工具的使用
通过控制台的操作
1、 开通service
2、新增函数计算
新建函数计算里,需要选择运行环境,目前是Nodejs4.4,后续会推出Python、Java环境等。
这个示例中选在线编辑,输入编写代码即可。
代码段:
3、设置OSS 的Trigger
在这个选项页里,我们选中华东2的Bucket和触发事件,触发事件目前控制台仅支持通过OSS进行触发,但是通过API或者SDK可以编写自行触发的事件。在这里,我列举控制台的方式来处理。
设置到这个地方,肯定有人会跑出来说,为什么不直接用OSS本身的URL进行resize呀,你考虑一点都没错,但是当我想把resize后的图片再存下来,怎么搞?或者我是不同Bucket下的,怎么搞?再或者,我想跨region保存,怎么搞?涉及到一系列问题,都交给OSS的SDK来处理,就要写大量代码。那么通过FC,在一个函数中都可以自定义搞定,这样灵活方便的事情,显然不用再搭建执行环境来处理,交给FC即可。
4、查看执行结果
整个业务执行结束,完成了完整的一个例子。
本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com
本文链接:http://click.aliyun.com/m/23788/
函数计算-触发OSS来处理图片加水印和大小裁剪相关推荐
- 使用阿里云的oss对图片加水印并且字体大小自适应(阿里云oss暂不支持字体大小自适应)
使用阿里云的oss对图片加水印并且字体大小自适应(阿里云oss暂不支持字体大小自适应) 背景: 首先阿里云oss云对象存储是不能做到字体大小自适应的,因为在开发中我们的图片上传的尺寸是做不到固定大小宽 ...
- 【OSS】图片加水印与上传
图片加水印与上传 一.效果图 1.未添加水印图 2.添加水印效果图 二.需求场景 三.加水印 1. 图片上设置水印,字体如何设置? 2.图片有大有小,如何使水印大小自适应 3.水印位置如何设置 4.图 ...
- eclipse查看git地址_Git大文件管理:函数计算和OSS支持的Git LFS服务器
此服务器支持Batch API和File Locking API.项目地址与文档: https://github.com/zhxxch/git-lfs-one/github.com LFS 是个好东 ...
- 小程序添加、oss上传加水印
HTML页面 <view class="container"><view class="page-body"><form catc ...
- 阿里云函数计算应用:将ActionTrail审计事件从OSS导入到SLS中
ActionTrail会将事件压缩之后保存到OSS中.用户使用和分析OSS中的文件比较麻烦.如果能将审计事件写入到SLS,会给用户提供很大的便利.阿里云函数计算是实现这个迁移的好办法,成本低,见效快. ...
- 使用函数计算打包下载OSS文件
简介:打包下载OSS上存储的多个文件是一个常见的需求,例如将 OSS 上的一个目录打包下载.这样可以节省网络传输的数据,达到减少费用和下载时间的效果.使用函数计算可以很方便地实现这个需求. 需求 打包 ...
- 场景实践:使用函数计算打包下载OSS文件
体验简介 本场景将提供一台配置了Centos 7.7版本的ECS实例(云服务器)和对象存储OSS实例. 通过本教程的操作,您可以基于已有的环境使用函数计算将对象存储OSS上多个文件(Object)打包 ...
- pandas编写自定义函数计算多个数据列的加和(sum)、使用groupby函数和apply函数聚合计算分组内多个数据列的加和
pandas编写自定义函数计算多个数据列的加和(sum).使用groupby函数和apply函数聚合计算分组内多个数据列的加和 目录
- pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动加和(rolling sum)、例如,计算某公司的多个店铺每N天(5天)的滚动销售额加和
pandas使用groupby函数计算dataframe数据中每个分组的N个数值的滚动加和(rolling sum).例如,计算某公司的多个店铺每N天(5天)的滚动销售额加和 目录
最新文章
- android动态视力测试,Chop It-看起来有点无聊却可训练动态视力的 3D 立体小游戏(iPhone, Android)...
- html代码大全(很全的)_5行Python代码就能爬取 3000+ 上市公司的信息?
- Bailian4140 方程求解【二分法】
- ImageMagicK遇到的一点问题
- Java笔记1(2015-8-30)
- HFSS - 同轴馈电矩形微带天线设计与仿真
- Windows系统微软拾色器小工具
- 华为携手Work Shift Calendar (Shifter),将工作效率提升至更高水平
- 一些货币政策及金融术语简介
- UG自定义工程图模板(一)
- php 游戏开发swoole,《基于 Swoole 的对战游戏实践》开课啦
- 【文本工具】使用文本排版大师(TxtEdit/TEditer)在记事本文件中绘制表格。
- 【opencv学习笔记】第五篇:访问图像中像素的三种方式、ROI区域图像叠加和图像混合
- Android车载应用开发与分析(13)- 系统设置-蓝牙设置
- Gephi快速入门(一):Windows下安装Gephi
- java获取周一0点
- Vim快速移动光标至行首和行尾 、第一行和最后一行
- 周鸿袆:教你打造十页完美商业计划书
- Upload-labs
- 用户画像数据指标体系之用户行为维度
热门文章
- 淘宝在哪些情况会封店?
- 【Optix】关于Pathtracing 实时化的讨论
- 直追亚马逊,谷歌微软云服务添负载均衡功能
- CreatorPrimer(8)|加载预制件
- 【厦门大学】考研初试复试资料分享
- 关于mos管驱动的问题
- 卷妹的面试小抄每日更新Day1
- 【懒人必备】智能窗帘机器人,告别手动拉窗帘——硬件设计篇
- nodejs模拟wss服务提示The subprotocol ‘[object Object]‘ is invalid.的问题分析
- 2020年程序员面试必备书单,这一篇整理齐了