检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
进入hugb-bucket-output桶对象界面,可以看到输出的图片image.jpg,如图2所示。单击操作列的“下载”可将图片下载至本地查看图片处理效果,效果如图3所示。 图2 输出图片 图3 效果图 父主题: 使用函数为图片打水印
jpg图片,如图1所示。 图1 上传图片 原始图片image.jpg大小超过28KB。 触发函数自动运行 上传图片至your-bucket-input桶,OBS生成事件触发函数运行,将图片压缩,压缩后的图片存放在your-bucket-output桶中。可以在函数详情页日志页签查看函数运行日志。
处理图片 图片上传至your-bucket-input桶,使用工具模拟客户端触发函数流运行,将上传图片旋转180°,并以流数据返回给客户端。 上传图片 登录对象存储服务控制台,进入your-bucket-input桶对象界面,上传image.jpeg图片如图1,上传完成后如图2所示。
使用函数压缩图片 案例概述 准备 构建程序 添加事件源 图片处理
用户上传的图片和打水印后输出的图片。 OBS桶创建以后,需要创建委托,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。 必须使用两个不同的桶。如果使
用户上传的图片和压缩处理后的图片。 OBS桶创建以后,需要创建“委托”,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 注意事项 上传图片的源桶、输出图片的目标桶和函数必须处于同一个区域下。 必须使用两个不同的桶。如果
py文件中定义的存放输出图片的OBS桶的地址参数,值obs.region.myhuaweicloud.com。 表1 环境变量说明 环境变量 说明 obs_endpoint OBS服务终端节点,获取地址请参考地区和终端节点。 output_bucket 存放输出图片的OBS桶。 添加依赖包
构建程序 本例提供了为图片打水印功能的程序包,使用空白模板创建函数,用户可以下载(watermark.zip)学习使用。 创建程序包 本例使用Python语言实现为图片打水印的功能,有关函数开发的过程请参考Python函数开发。本例不再介绍业务功能实现的代码,样例代码目录如图1所示。
使用函数为图片打水印 案例概述 准备 构建程序 添加事件源 处理图片
务实现图片压缩的功能。(当前“OBS应用事件源”仅支持华北-北京四、华北-乌兰察布一、华东-上海一。) 场景介绍 将图片上传到特定的OBS桶中 将用户上传的每个图像的尺寸进行压缩 将处理完后的图像上传到另一个指定的OBS桶中 本教程必须使用两个不同的OBS桶。 保证函数和OBS桶在一个区域(区域都选择默认即可)。
用户向其中一个桶上传图片。 触发函数执行,对图片打水印。 函数将处理后的图片上传到指定桶中。 完成本教程后,您的公有云账户将存在以下资源: 2个OBS桶(上传需要处理的图像和存储处理后的图像) 一个为图片打水印的函数 一个OBS应用事件源,用来关联函数和OBS桶 父主题: 使用函数为图片打水印
桶:选择创建OBS桶中创建的“your-bucket-input”桶。 事件类型:选择“通过页面或Put请求创建或覆盖桶对象。”、“使用Post请求创建或覆盖桶对象。”。 图1 创建触发器 单击"确定",完成触发器创建。 OBS应用事件源创建以后,当有图片上传或更新至your-bu
桶:选择创建OBS桶中创建的“hugb-bucket-input”桶。 事件类型:选择“通过页面或Put请求创建或覆盖桶对象。”、“使用Post请求创建或覆盖桶对象。”。 图1 创建OBS应用事件源 单击“确定”,完成触发器创建。 OBS应用事件源创建以后,当有图片上传或更新至hugb
如何使用函数为图片打水印? 请参考使用函数为图片打水印。 父主题: 函数配置
准备 创建函数前,需要创建1个OBS桶,用来保存用户上传的图片。 OBS桶创建以后,需要创建“委托”,给FunctionGraph函数赋权,确保FunctionGraph函数能够访问到OBS资源。 创建OBS桶 上传图片的源桶和函数必须处于同一个区域下。 操作步骤 在服务控制台左侧导航栏,选择“存储
函数流编排函数算子,实现下载OBS中数据进行图片转码,并以流的形式返回给客户端。 保证函数和OBS桶在一个区域(区域都选择默认即可)。 实现流程 在OBS服务中,创建1个桶。 用户向OBS桶上传图片。 创建函数。 创建函数流,编排函数。 触发函数流执行,对图片进行转码处理。 完成本教程后,您的公有云账户将存在以下资源:
go文件中定义的拉取图片的OBS桶参数,值your-bucket-output:创建OBS桶中创建的存放图片OBS桶; 键object:handler.go文件中定义的拉取图片名称参数,值your-picture-name 键obsAddress:handler.go文件中定义的拉取图片的OBS桶的地址参数,值obs
函数工作流的常见使用场景? Web类应用:比如小程序、网页/App、聊天机器人、BFF等。 事件驱动类应用:文件处理、图片处理、视频直播/转码、实时数据流处理、IoT规则/事件处理等。 AI类应用:三方服务集成、AI推理、车牌识别。 具体请参考应用场景。 父主题: 通用问题
应用场景 端侧文件上传云服务器是Web和App应用的一类场景,例如服务运行日志的上报,Web应用图片上传等,函数可作为后端,结合APIG提供通用的API处理这类场景。本章节以NodeJS和Python语言为例,指导用户如何开发后端解析函数,获取上传的文件。 约束与限制 单次请求上传文件大小不超过6MB。
高可用,利用OBS,Cloud Table的高可用性实现网站数据的高可靠性,利用API Gateway和FunctionGraph的高可用性实现网站逻辑的高可用。 灵活扩展,业务爆发时可以自动调度资源运行更多函数实例以满足处理需求。 按需收费,只有对函数处理文件数据的时间进行计费,无需购买冗余的资源用于非峰值处理。