【学习笔记】FunctionGraph实现图片压缩和水印添加
一、图片压缩和水印添加概述
1.图片为什么要压缩与水印?
1)信息化时代,大量的多媒体信息保存在互联网上
2)移动互联网+浪潮推动下,每个个体都成为大量的数据制造者
3)如何更好的传输、存储和辨识这些数据?
2.图片压缩的使用场景
1)个人、家庭和企业图片归档时压缩,减少磁盘占用
2)在线上传图片大小受限、邮件附件大小受限等限制图片大小场景
3)互联网产品中大量涉及图片,使用压缩提升访问速度、降低图片传输和存储成本
3.水印的使用场景
1)水印≈盖章,标识版权,防止剽窃
2)水印≈logo,提高辨识度,引起关注
3)水印≈附加信息,可自定义添加制作地点、时间、用途等相关信息
4.如何实现图片压缩?
1)使用图片压缩软件:简单易用,复杂功能需收费
2)网页在线图片压缩:简单易用,功能单一、不适合批量压缩
3)自设图片压缩代码:需要编程基础,可自定义功能
4)使用云服务批量压缩:简单易用,适用于批量处理和归档,可结合自设代码
5.如何实现水印添加?
1)专业图像处理软件:需一定抠图技能,可实现复杂的水印添加功能
2)网页在线添加水印:简单易用,功能单一、不适合批量添加
3)自设水印添加代码:需要编程基础,可自定义功能
4)使用云服务批量添加水印:简单易用,适用于批量处理和归档,可结合自设代码
二、函数工作流简介
1.函数工作流概述
函数工作流(FunctionGraph)是华为云提供的一款无服务器(Serverless)计算服务,包含函数和工作流两个功能模块,分别实现函数计算和函数编排的功能。
2.函数工作流与图片压缩和水印添加
1)函数工作流≈图像处理所使用的的“软件/程序”?
2)函数工作流=图像处理使用的“软件”+“计算资源”
=(图像处理函数代码+代码运行环境)+(CPU+内存)
3.FunctionGraph函数运行时
1)函数支持Node.js、java、python、Go、C#运行时
2)支持在线编辑代码、OBS文件引入、上传ZIP包、上传JAR包等
4.FunctionGraph工作流
5.函数工作流实现图片处理的优势
1)无服务器管理
2)高弹性
3)可视化管理
4)按需计费
6.函数工作流的使用限制
三、函数工作流相关华为云服务简介
1.对象存储服务概述
1)OBS是一个机遇对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。
2)OBS由桶(Bucket)和对象(Object)构成,并提供模拟文件夹的方式方便文件管理。
3)OBS访问方式包括:OBS Browser、管理控制台、API&SDK、obscmd
2.对象存储服务和图片压缩和水印添加
1)对象存储服务=图片存储空间+触发图片处理函数运行的事件源
=(桶Bucket)+(函数触发器)
3.OBS在图片压缩和水印添加中的工作流程
1)源桶:有关于上传源图片,并充当OBS触发器
2)目标桶:作为函数环境变量,函数输出图片的存放位置
4.对象存储服务实现图片处理的优势
1)海量存储空间
2)高安全
3)低成本
4)高可靠
5.统一身份认证服务概述(IAM)
1)IAM提供身份认证和权限管理功能,可以管理用户账号,并可以控制这些用户对您名下资源的操作权限
2)IAM可以委托新人的华为云账号,使其根据权限安全便捷地访问您的公有云资源。
3)IAM委托=授权FunctionGraph中的图片处理函数对OBS桶内图片进行处理
4)华为云上不同云服务默认无法相互调用,需创建IAM云服务委托后才能互相调用
四、利用函数工作流实现图片压缩和水印添加实践
1.整体流程介绍
2.常见问题:
1)能否使用一个OBS桶?
不能。如果使用一个桶,会无限执行函数
2)OBS桶名是否可以自定义?
可以,但是必须保证桶名唯一性
3)OBS桶是否可以在不同AZ?
默认不可以,但是部分区域内已经可以实现跨AZ访问
3.华为云FunctionGraph使用流程
4.华为云FunctionGraph的产品优势
1)无服务器管理
自动运行用户代码,用户无需配置或管理服务器,专注于业务创新。
2)高弹性
根据请求的并发数量自动调度资源运行函数,实现透明、准确和实时的伸缩,应付业务峰值的访问。
用户无需关心峰值和空闲时段的资源需要申请多少资源,系统根据请求的数量自动扩容/缩容。自动负载均衡将请求分发到函数运行实例。
3)事件触发
通过事件触发机制,集成多种云服务(SMN,OBS,DIS,DMS…),满足不同场景需求,获得高效的开发体验。
与云日志服务、云监控服务对接,无需任何配置,即可查询函数日志和监控告警信息,快速排查故障。
4)高可用
函数运行实例出现异常,系统会启动新的实例处理后续的请求,故障函数实例占用资源将会回收使用。
5)按需计费
根据代码的调用次数、运行时长和节点转换次数计费,代码未运行时不产生费用。时长计量粒度为100毫秒。
- 点赞
- 收藏
- 关注作者
评论(0)