学习笔记FunctionGraph实现图片压缩和水印添加

网友投稿 738 2022-05-29

一、图片压缩和水印添加概述

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)目标桶:作为函数环境变量,函数输出图片的存放位置

【学习笔记】FunctionGraph实现图片压缩和水印添加

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毫秒。

函数工作流 FunctionGraph 对象存储服务 OBS

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:超级重要的SQL优化问题(上)
下一篇:JVM笔记六-堆区知识之对象生命周期和GC的关系
相关文章