【学习分享】开发者最佳实践挑战营第七期第二章节学习体会
FunctionGraph是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。(源自官方手册)
第二章任务:
创建函数,创建OBS,利用函数工作流给图片加水印。
实验准备:
2个OBS桶,函数工作流,二者需处于同一区域。
实验步骤:
1、在OBS服务中,创建两个桶。
2、在统一身份认证服务( IAM)创建委托,为之后的服务赋予权限。
注意,新版的IAM工作台和教程里面有一定区别,搜索Tenant Administrator并选中确认即可。
3、构建函数程序
按步骤创建函数时注意,在“创建函数”——“步骤3”中,依赖库选择pillow-6.2.2。
在编辑器内找到obs_server这一行,如下图所示,需要填入已经建立好的OBS的Endpoint,我选择的是北京4,如果不进行修改,则会在后续实践中出现报错、无图片输出的情况。
未修改Endpoint时的报错如下图所示:
4、创建OBS触发器
5、处理图片
向Input桶上传图片,随后Output桶中会出现处理完成的水印图片,同时,函数工作流里的“函数指标”能看到请求相关参数。
实验总结:
利用函数工作流,我只需编写业务函数代码并设置运行的条件就可以达到预期效果,按函数实际执行资源计费,不执行不产生费用,极大的节省成本与时间。
上传图片就能自动触发函数工作,相对于一张一张手动P图加水印,让大批量图片加水印变得更加轻松。
实践过程中也遇到了一些小问题,如图片大于1M,也会无法正确输出图片,这个问题暂时没有解决掉。
2020-10-17补充说明
在使用的时候有,建议把代码和水印图片打包成ZIP文件,通过上传ZIP来上传代码和图片,如直接在IDE中更换水印文件(将png文件直接拖入IDE),容易出现报错。
在使用中出现如下报错时,可以考虑通过修改图片的属性,在安全选项卡里面Users的权限设置为完全控制来解决。
png文件允许设置透明色来制造镂空的效果,如果上传的水印文件带镂空的,也容易报错。
- 点赞
- 收藏
- 关注作者
评论(0)