手把手教你在云上开发一个图片压缩工具

举报
华为云PaaS小助手 发表于 2022/04/21 10:24:49 2022/04/21
【摘要】 在移动互联网+浪潮的推动下,每个个体都成为大量的数据制造者,互联网产品中有许多应用场景涉及到图片的传输,于是,将图片进行压缩并传输,以大大提升传输及访问速度,降低图片传输和存储成本成为开发者的一大需求。为此,华为云函数工作流FunctionGraph推出了“图片压缩”模板,用它您即可一站式生成应用代码来实现图片压缩,生成缩略图。本文教你如何轻松上手~

您将会学到什么

       您可以学会不用开发代码,不需要关注代码仓创建,编译构建、测试、部署等流水线能力建设以及开发所需环境的搭建等等繁琐的开发准备工作,只需要函数工作流FunctionGraph的“图片生成缩略图”模板一站式生成应用代码即可实现图片压缩,生成缩略图。

【温馨提示】在功能试用过程中,虽然相应服务会提示收费标准(按需收费),但试用过程所产生的数据量以及函数调用量远远低于收费标准,因此产生的费用将被抹零,所以您无须担心功能试用会产生费用。

硬件要求

  • PC电脑

环境准备

注册华为云账号、实名认证

       如果您已拥有华为账号且已通过实名认证,可直接体验。

       若您还没有通过实名认证的账号,请注册华为账号,然后完成实名认证(推荐使用“扫码认证”方式,即时完成)。

       参考如何实名认证如何扫码认证

您将需要做哪些操作

       流程示例图

1.png

具体指导

1、创建OBS桶

       创建函数及触发器之前,需要创建两个OBS桶,分别用来保存用户上传的图片和压缩处理后的图片。

       OBS桶创建以后,需要创建“委托”,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。

注意事项

  • 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下,在本教程中,都处于“华北-北京四”。
  • 必须使用两个不同的桶。如果使用一个桶,会无限执行函数。(源桶上传图片会触发函数执行,从而无限循环)。

操作步骤

       步骤 1 登录对象存储服务控制台,单击“创建桶”,进入“创建桶”界面。

       步骤 2 创建两个OBS源桶“picture-input”用来上传图片;目标桶“picture-output”,存放输出图片的OBS桶。

       步骤 3 若提示桶名重复,可自行更改,并谨记上传桶与输出桶各自对应的桶名,以便后续流程使用。

2.png

       步骤 4 完成桶创建以后,OBS桶列表有两个桶。

         ----结束


2、创建委托

       1)登录统一身份认证服务控制台,单击“+创建委托”。

3.png

       2)开始配置委托,详情如下图。配置委托

4.png

       3)点击下一步选择“Tenant Administrator”权限(拥有该权限的用户可以对企业拥有的所有云资源执行任意操作),由于权限列表较长,建议直接在右上方搜索框搜索“Tenant Administrator”然后选择匹配。

5.png

       4)勾选权限后单击下一步,根据业务需要选择权限的作用范围并单击确定,委托至此创建完成(委托创建后需等待15-30分钟方可生效)。

3、创建函数

       创建函数的时候,必须选择委托包含OBS访问权限的委托,否则不能使用OBS服务。

       步骤 1 登录函数工作流控制台,选择“函数模板”。在函数模板页面,搜索“图片生成缩略图”。

image (3).png


       步骤 2 填写函数配置信息

       1)基础信息配置

image (3).png


       2)环境变量配置

image (3).png

说明:

obs_endpoint:存放输出图片的OBS桶的地址参数,值的格式为obs.{region}.myhuaweicloud.comregion的值,请参考地区和终端节点

output_bucket:您创建的输出桶名称。

       3)完成函数创建

       4)在“配置”页签,配置内存和超时时间

image (3).png


       步骤 3 单击页面右上角“保存”,保存配置信息。

         ----结束

4、添加依赖包

       进入函数详情页,在“代码”页签最下方的“代码依赖包”模块,单击“添加依赖包”,添加依赖包pillow-7.1.2,添加完成后单击“确定”。(依赖包列表较多,建议右上方搜索框搜索匹配)

image (3).png


image (3).png


5、创建OBS触发器

       步骤 1 在导航栏触发器页签,单击右上角创建触发器,进行触发器的创建。

image (3).png

       步骤 2 触发器类型选择“对象存储服务(OBS)”,填写触发器配置信息,桶请选择上述步骤中所创建的输入桶picture-input,单击确定创建完成。

image (3).png


       ----结束


6、效果测试

       登录对象存储服务控制台,单击桶名称进入picture-input桶,并单击左侧导航栏“对象”按钮进入对象界面,点击“上传对象”,上传一张自选图片(注意图片名称中不可包含中文以及中文符号),示例所用为picture.jpg

13.png

       

       进入picture-output桶对象界面,可以看到压缩后的图片resize-picture.jpg,图片大小为1.28KB,实现了对图片的压缩。

14.png

恭喜您完成全部体验流程!

欢迎进“华为云PaaS产品体验大本营”群交流答疑

华为云PaaS产品体验大本营.jpg


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。