检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
发布下载OBS对象的算子 案例概述 开发算子代码 测试算子功能 发布算子
python开发一个下载OBS对象的算子,python使用详情参见Python函数开发指南。通过对该示例算子开发方式的说明,能够帮助算子开发者快速适应开发流程。通过本节将学到以下内容: 算子代码的入口结构 如何在算子中获得AK/SK 如何通过算子访问OBS 操作步骤 登录Func
配置完成后,点击保存按钮输入工作流名称,点击确认,成功保存后界面会自动跳转到工作流列表界面。 图2 配置动态参数例图 配置OBS桶触发器 根据图2所示,工作流的执行时机由触发器决定,当前DWR仅支持OBS的触发器 在工作流列表中找到刚才创建的工作流,点击“创建事件触发器”,如图3所示,在弹出窗口中根据输入项名称完成触发器的配置。
"action": [ "obs:bucket:HeadBucket", "obs:bucket:ListBucketMultipartUploads", "obs:object:AbortMultipartUpload", "obs:object:PutObject"
由Event传递真实值。例如,云市场 appkey,算子回调函数地址。 Event :算子的触发事件信息,例如OBS对象信息,桶名,动态参数。 父主题: 发布下载OBS对象的算子
=gramname/p1_v1,p2_v2 HTTP/1.1 Host: bucket.obs.cn-north-4.myhuaweicloud.com Authorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo=
算子费用主要由三部分组成:OBS API调用费、FunctionGraph函数及函数工作流费、算子费。 表1 计费项 计费项 说明 OBS API调用费 算子请求OBS API的调用费。 通过算子对数据进行处理,都会涉及到对OBS API的调用,每调用一次API都计算一次请求次数。对象存储服务OBS
入门流程 当需要使用DWR服务对OBS内存储的数据自动进行多项复杂任务(如解析、转码、截图等)处理时,建议参考表1逐步操作。 表1 DWR使用流程简介 操作步骤 操作说明 步骤一:准备工作 注册华为云账号,并开通数据工坊DWR服务。 (可选)步骤二:浏览算子市场 在算子市场查找需要的算子,了解已有算子的功能。
场景介绍 解析视频的元数据信息,包括:视频时长、视频格式、码率等。用于视频播放时获取时长,分辨率展示 等等。 流程一览 操作步骤 在OBS服务中创建桶 在OBS服务控制台创建两个桶,一个用于上传待处理的数据对象,一个用于存储处理后的数据对象。桶的详细介绍参见创建桶。 数据输入桶:“piccomp”
该实例通过创建触发器的方式异步启动工作流,实现流程为: 在OBS服务中创建桶 在DWR服务中创建工作流 在DWR服务中创建事件触发器 在OBS服务中上传文件触发工作流执行 使用限制 当前支持使用的区域为:北京四、上海一、上海二、广州、新加坡。 操作步骤 在OBS服务中创建桶 在OBS服务控制台创建两个桶,一个用
媒资转码算子不支持同步返回,如您配置了同步工作流执行媒资转码算子,则会采用异步方式执行,且返回值会格式异常。 流程一览 操作步骤 在OBS服务中创建桶 在OBS服务控制台创建两个桶,一个用于上传待处理的数据对象,一个用于存储处理后的数据对象。桶的详细介绍参见创建桶。 数据输入桶:“piccomp”
需要对视频抽帧截图时,在不编写额外代码的情况下使用抽帧截图算子对视频进行指定时间点截帧。 约束与限制 该抽帧截图算子目前暂不支持中文对象。 方案架构 1. 用户使用对象域名向OBS发送请求 2. DWR收到请求同步执行位于FunctionGraph的视频截图抽帧算子实例,调用MPC服务 3. MPC服务完成抽帧截图,将结果写回租户桶
"obs:object:AbortMultipartUpload", "obs:object:PutObject", "obs:bucket:GetBucketAcl", "obs:object:GetObject"
basename(objectKey) obsServer = 'obs.cn-north-7.ulanqab.huawei.com' # 使用obs sdk obsClient = newObsClient(context, obsServer) # 获取对象元数据
"obs:object:AbortMultipartUpload", "obs:object:PutObject", "obs:bucket:GetBucketAcl", "obs:object:GetObject"
数据处理介绍 DWR如何实现数据处理 DWR提供的近数据处理能力,可以对OBS内存储的数据,按照用户编排的工作流进行自动化处理(如解析、转码、截图等)。 DWR基于函数工作流FunctionGraph的函数能力,将复杂的业务处理逻辑编排为工作流,通过事件触发器或API驱动,自动化
server='https://obs.cn-north-4.myhuaweicloud.com' #OBS的endpoint,不同region的OBS Endpoint不同 ) bucketName = event['Records'][0]['obs']['bucket']['name']
如何测试算子 当算子功能代码开发完毕后,可以在DWR工作流中使用自定义工作流进行测试。请参考测试算子功能。
最佳实践 创建视频转码工作流 发布下载OBS对象的算子 抽帧截图(官方算子) 抽帧截图(自定义算子) 视频解析 媒资转码 常见问题 了解更多常见问题、案例和解决方案 热门案例 触发器配置不当导致“无限循环”触发工作流如何处理? 如何测试算子? 一个事件触发器可以设置多个前缀或者后缀吗?
“无限循环”触发工作流如何处理? 由于DWR只能按触发器前缀、后缀、事件源类型等条件触发工作流,所以可能存在出现“无限循环”的场景。如果出现“无限循环”,只能先删除桶的事件触发器。主要有以下两个场景: 场景1:触发器源桶和函数执行输出目标桶是同一个桶的无限循环 案例1:使用DWR内置函数触发“无限循环”