一、图片压缩和水印添加概述
(1)为更好地传输,存储和辨识数据;使用压缩降低图片大小,节约了成本;
图片压缩:简单易用;;
图片压缩软件:功能单一;
网页在线图片压缩;
自设图片压缩代码:需要变成基础;
使用云服务批量压缩:适合批量处理,可结合自设代码;
(2)水印:logo增加辨识,盖章表示版权;
附加信息,可增加了地点等信息;
二、函数工作流简介
(1)是华为云提供的一款无服务器计算服务,它包含了函数和工作流两个功能,分别实现函数计算和函数编排;
函数工作流:包括软件和计算资源等;
(2)FuncTionGraph函数运行时:
支持Node.js,java,Python,Go,C#运行时,
支持在线编辑代码,OBS文件引入,上传ZIP包,上传JAR包等;
(3)FunctionGraph工作流:一系列离散函数和触发器公共既定规则组合,实现自动化运作;
函数工作流实现图片处理优势:
特点是无服务管理,高弹性,可视化管理,按需计费;
(4)函数工作流使用限制:
单个账户最大创建400个人函数个数;
单个在线编辑函数允许代码大小10Kb
默认工作流配额512;
默认触发器配额200
单个请求最大执行时长900s
工作流最大执行理事记录保存时间90天;‘
三、函数工作流相关华为云服务(OBS,IAM简介):
(1)OBS(OBJECT STORAGE SERVICE对象存储服务):基于对象;
OBS由桶和对象组成,提供模拟文件夹方便管理;
(2)函数触发器:
出发图片处理函数运行的时间源;
OBS在图片压缩和水印添加工作流程:
源桶:上传源图片,充当OBS触发器;
目标桶:作为函数环境变量,函数输出图片的存放位置;
(3)IAM委托=授权FunctionGraph中图片处理函数对OBS桶内图片处理;
华为上不同云服务无法相互调用,要创建IAM云服务;
四、图片压缩和水印添加实验
准备:
(1)创建相关服务,创建OBS桶,创建委托;
创建OBS桶:桶名全局唯一,创建两个桶,一个源桶,一个目标桶;默认OBS桶不在不同AZ,部分区域实现跨AZ访问;
创建委托:FuncTionGraph由权限调用服务;
(2)构建程序:创建程序包,创建函数,添加事件源;
构建程序包:图片压缩默认实现源图长宽1/2的压缩;
watermark.png;为水印图片,可自定义修改,存储图片位置等信息;
构建函数:创建好函数之后,输入函数环境信息:为其设置运行环境,创建OBS触发器,添加事件源;put覆盖源文件,Post不覆盖:
(3)处理结果验证:上传原图片,下载并查看输出图片;