检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
处理图片 当图片上传后更新至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中的图片进行旋转 案例概述 准备 构建程序 处理图片 父主题: 数据处理类实践
使用FunctionGraph函数为OBS中的图片打水印 案例概述 准备 构建程序 添加事件源 处理图片 父主题: 数据处理类实践
输入,比如上述图片处理工作流中,图片压缩的结果是打水印步骤的输入数据。 在普通的服务编排中,由于需要精准控制各个服务的执行顺序,所以控制流是工作流的核心部分。然而在文件处理等流式处理场景中,对控制流的要求并不高,以上述图片处理场景举例,可以对大图片进行分块处理,图片压缩和加水印的
同工作。 步骤三:创建图片压缩函数 创建空白函数,配置代码环境和创建OBS应用事件源触发器,以实现对OBS源桶中上传或更新的图片自动进行压缩。 步骤四:验证图片压缩 上传原始图片到OBS源桶,图片压缩函数自动执行,在OBS目标桶中生成压缩后的图片,验证图片压缩函数正常运行。 步骤一:创建两个OBS桶
配置函数流的循环控制器组件 循环控制器组件可以用来对输入数组中每个元素进行循环处理,每次循环会执行一次循环内部的子流程或函数。 约束与限制 通过数据工坊DWR服务创建的函数流,在函数工作流控制台只能查看,不能编辑和删除,相关操作请在DWR服务中执行。 循环节点内部子流程需要满足如下规则:
return 'OK' 创建函数 创建函数的时候,必须选择委托包含OBS访问权限的委托,否则不能使用OBS服务。 登录函数工作流控制台,在左侧导航栏选择“函数 > 函数列表”,进入函数列表界面。 单击“创建函数”,进入创建函数流程。 选择“创建空白函数”,填写函数配置信息。 输入基础配置信息,完成后单击“创建函数”。
go文件中定义的拉取图片的OBS桶参数,值your-bucket-output:创建OBS桶中创建的存放图片OBS桶; 键object:handler.go文件中定义的拉取图片名称参数,值your-picture-name 键obsAddress:handler.go文件中定义的拉取图片的OBS桶的地址参数,值obs
器”界面。 触发器类型选择“OBS应用事件源”,填写触发器配置信息,如图1所示。 触发器名称:自定义。 桶:选择创建OBS桶中创建的“hugb-bucket-input”桶。 事件类型:选择“通过页面或Put请求创建或覆盖桶对象。”、“使用Post请求创建或覆盖桶对象。”。 图1
用户使用函数流编排函数方式自动化处理OBS中的数据(如视频解析、图片转码、视频截图等)。 用户将图片上传到特定的OBS桶中。 函数流编排函数算子,实现下载OBS中数据进行图片转码,并以流的形式返回给客户端。 保证函数和OBS桶在一个区域(区域都选择默认即可)。 实现流程 在OBS服务中,创建1个桶。
本教程必须使用两个不同的OBS桶。 保证函数和OBS桶在一个区域(区域都选择默认即可)。 实现流程 在OBS服务中,创建两个桶。 创建函数,设置OBS应用事件源。 用户向其中一个桶上传图片。 触发函数执行,对图片打水印。 函数将处理后的图片上传到指定桶中。 完成本教程后,您的公有云账户将存在以下资源:
函数工作流 使用定时触发器 02:18 使用定时触发器 函数工作流 创建依赖包 02:42 创建依赖包 函数工作流 使用函数压缩图片 05:32 使用函数压缩图片
返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 单击函数名称,进入函数详情界面。 在函数详情页,选择函数版本,如图2所示。 图2 选择函数版本 在“代码”页签中选择“配置测试事件”进入编辑界面,如图3所示。 图3 选择配置测试事件 在“配置测试事件”的编辑界面中,选择“编辑已有测试事
委托类型:选择“云服务”。 云服务:选择“函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述:填写描述信息。 单击“下一步”,进入委托选择页面,在“配置权限”界面勾选“OBS Administrator”。 单击“下一步”,根据实际业务需求选择资源授权范围,单击“确定”,完成权限委托设置。
委托类型:选择“云服务”。 云服务:选择“函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述:填写描述信息。 单击“下一步”,进入委托选择页面,在“配置权限”界面勾选“OBS Administrator”。 单击“下一步”,根据实际业务需求选择资源授权范围,单击“确定”,完成权限委托设置。
规格,函数将使用默认配置的资源规格。 以使用函数做视频转码为例,视频文件大小从MB到GB,不同编码格式和分辨率对转码需要的计算资源要求差别很大。为了保证转码性能,通常需要配置一个很大的资源规格,但是在处理低分辨率视频(例如短视频)时,会造成资源浪费。用户可以把转码业务实现为元数据
函数的项目ID。 Context类提供接口或通过系统环境变量获取。 RUNTIME_FUNC_NAME 函数名称。 Context类提供接口或通过系统环境变量获取。 RUNTIME_FUNC_VERSION 函数版本。 Context类提供接口或通过系统环境变量获取。 RUNTIME_HANDLER
get_event_loop()是从OS线程(主线程)获取当前事件循环,而V2的Python runtime不是在主线程运行用户函数,所以函数内asyncio.get_event_loop()会抛出RuntimeError。 V2使用asyncio需要新建并设置事件循环。 父主题: 产品咨询
登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。 选择待配置的函数,单击函数名称进入函数详情页。 选择“设置 > 网络设置”,如图1所示,开启“函数访问VPC内资源”,并参考表3配置参数。 图1 配置VPC 表3 网络配置参数说明 参数 说明 VPC 必选参数。 选择需要访问的虚拟私