检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用FunctionGraph函数流对OBS中的图片进行旋转 案例概述 准备 构建程序 处理图片 父主题: 数据处理类实践
处理图片 当图片上传后更新至hugb-bucket-input桶时,会生成事件,触发函数运行,将上传图片打水印,保存在hugb-bucket-output中。 上传图片生成事件 登录对象存储服务控制台,进入hugb-bucket-input桶对象界面,上传image.jpg图片,如图1所示。
处理图片 图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。
输入,比如上述图片处理工作流中,图片压缩的结果是打水印步骤的输入数据。 在普通的服务编排中,由于需要精准控制各个服务的执行顺序,所以控制流是工作流的核心部分。然而在文件处理等流式处理场景中,对控制流的要求并不高,以上述图片处理场景举例,可以对大图片进行分块处理,图片压缩和加水印的
使用FunctionGraph函数为OBS中的图片打水印 案例概述 准备 构建程序 添加事件源 处理图片 父主题: 数据处理类实践
同工作。 步骤三:创建图片压缩函数 创建空白函数,配置代码环境和创建OBS应用事件源触发器,以实现对OBS源桶中上传或更新的图片自动进行压缩。 步骤四:验证图片压缩 上传原始图片到OBS源桶,图片压缩函数自动执行,在OBS目标桶中生成压缩后的图片,验证图片压缩函数正常运行。 步骤一:创建两个OBS桶
可以作为“登录安全实时分析”函数模板的输入。 图片分类 可以作为“实时图片分类(按图片内容)”等函数模板的输入。 图片鉴黄 可以作为“图片鉴黄”函数模板的输入。 语音识别 可以作为“语音识别”函数模板的输入。 单击“保存”,完成测试事件创建。 测试函数 函数创建以后,可以在线测试函数能否正常运行,验证能否实现预期功能。
构建程序 本例提供了为图片打水印功能的程序包,使用空白模板创建函数,用户可以下载(watermark.zip)学习使用。 创建程序包 本例使用Python语言实现为图片打水印的功能,有关函数开发的过程请参考Python函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。
所属应用:默认“default” 描述:输入“旋转图片” 在“设置 > 环境变量”页签,输入环境信息,完成后单击“保存”。 键bucket:handler.go文件中定义的拉取图片的OBS桶参数,值your-bucket-output:创建OBS桶中创建的存放图片OBS桶; 键object:handler
太-新加坡。) 场景介绍 用户使用函数流编排函数方式自动化处理OBS中的数据(如视频解析、图片转码、视频截图等)。 用户将图片上传到特定的OBS桶中。 函数流编排函数算子,实现下载OBS中数据进行图片转码,并以流的形式返回给客户端。 保证函数和OBS桶在一个区域(区域都选择默认即可)。
创建函数,设置OBS应用事件源。 用户向其中一个桶上传图片。 触发函数执行,对图片打水印。 函数将处理后的图片上传到指定桶中。 完成本教程后,您的公有云账户将存在以下资源: 2个OBS桶(上传需要处理的图像和存储处理后的图像) 一个为图片打水印的函数 一个OBS应用事件源,用来关联函数和OBS桶
创建函数及添加事件源之前,需要创建两个OBS桶,分别用来保存用户上传的图片和打水印后输出的图片。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。
准备 创建函数前,需要创建1个OBS桶,用来保存用户上传的图片。 OBS桶创建以后,需要创建“委托”,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 上传图片的源桶和函数必须处于同一个区域下。 操作步骤 在服务控制台左侧导航栏,选择“存储
函数工作流 使用定时触发器 02:18 使用定时触发器 函数工作流 创建依赖包 02:42 创建依赖包 函数工作流 使用函数压缩图片 05:32 使用函数压缩图片
创建OBS应用事件源 单击“确定”,完成触发器创建。 OBS应用事件源创建以后,当有图片上传或更新至hugb-bucket-input桶时,生成事件,触发函数执行。 父主题: 使用FunctionGraph函数为OBS中的图片打水印
制作依赖包 制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 约束与限制 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、
制作依赖包 制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、.a等依赖库。
制作依赖包 制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 约束与限制 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、
制作依赖包 制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。使用其他系统打包可能会因为底层依赖库的原因,运行出问题,比如找不到动态链接库。 约束与限制 如果安装的依赖模块需要添加依赖库,请将依赖库归档到zip依赖包文件中,例如,添加.dll、.so、
制作扩展依赖包 准备一个zip包,zip包中用于扩展进程的编写,可以拉起一个扩展进程,zip包中限制如下: zip包中必须含有extension命名的文件夹,extension的文件夹中必须包含以extension为前缀,.sh文件类型的脚本文件,用于后续扩展启动扩展进程,例如zip包的文件结构如下: