检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
入门流程 当需要使用DWR服务对OBS内存储的数据自动进行多项复杂任务(如解析、转码、截图等)处理时,建议参考表1逐步操作。 表1 DWR使用流程简介 操作步骤 操作说明 步骤一:准备工作 注册华为云账号,并开通数据工坊DWR服务。 (可选)步骤二:浏览算子市场 在算子市场查找需要的算子,了解已有算子的功能。
部署服务:算子提供方需要将自身服务部署在华为云,同时对外提供API,方便用户进行调用。 API上线云市场:云市场提供API调用权限的购买入口,算子提供方将步骤1中开放的API注册到云市场中即可获取便捷的收费管理,上线指导参见API上线云市场。 开发算子:DWR的算子执行依赖Functi
算子管理 算子市场介绍 发布算子 官方算子一览
数据处理 数据处理介绍 创建工作流 启动工作流
相关参考 自定义函数开发规范
处理数据 入门流程 示例:图片质量变换
操作流程 图1 操作流程 父主题: 抽帧截图(官方算子)
抽帧截图(自定义算子) 方案概述 资源和成本 操作流程 实施步骤
资源和成本规划 资源 资源说明 数量 每月费用 OBS 算子请求OBS API。 1 通过算子对数据进行处理,都会涉及到对OBS API的调用,每调用一次API都计算一次请求次数。对象存储服务OBS会根据调用API的请求次数进行费用收取,收取详情参见OBS请求费用说明。 FunctionGraph函数
启动工作流 通过事件触发器异步启动工作流 通过API异步启动工作流 通过API同步启动工作流 父主题: 数据处理
资源和成本规划 资源 资源说明 数量 每月费用 OBS 算子请求OBS API。 1 通过算子对数据进行处理,都会涉及到对OBS API的调用,每调用一次API都计算一次请求次数。对象存储服务OBS会根据调用API的请求次数进行费用收取,收取详情参见OBS请求费用说明。 FunctionGraph函数
败后的恢复接口,从失败的位置继续执行工作流。 权限说明 请参见权限管理。 约束与限制 请参见使用限制。 使用方式 DWR支持通过控制台、API配置数据处理的工作流和事件触发器。 支持的使用方式 参考文档 控制台 创建工作流 创建事件触发器 API 请参见《数据工坊API参考》。 前提条件
该实例通过创建触发器的方式异步启动工作流,实现流程为: 在OBS服务中创建桶 在DWR服务中创建工作流 在DWR服务中创建事件触发器 在OBS服务中上传文件触发工作流执行 使用限制 当前支持使用的区域为:北京四、上海一、上海二、广州、新加坡。 操作步骤 在OBS服务中创建桶 在OBS服务控制台创建两个桶,一个用于上
执行MPC服务的预置转码模板“DASH_H.265_4K_低码_1入9出”,将片源转为4K、2K、1080等码率的视频。该模板实际调用的是MPC服务的新建转码任务接口。 约束与限制 媒资转码算子不支持同步返回,如您配置了同步工作流执行媒资转码算子,则会采用异步方式执行,且返回值会格式异常。 流程一览 操作步骤
资源和成本规划 资源 资源说明 数量 每月费用 OBS 算子请求OBS API。 1 通过算子对数据进行处理,都会涉及到对OBS API的调用,每调用一次API都计算一次请求次数。对象存储服务OBS会根据调用API的请求次数进行费用收取,收取详情参见OBS请求费用说明。 FunctionGraph函数
启动关联的工作流进行数据处理。 函数服务 函数工作流(FunctionGraph) DWR中由华为云提供的自有算子均是利用数据处理服务的API,通过FunctionGraph封装而成。 数据处理服务 媒体处理(Media Processing Center,MPC) DWR提供的
抽帧截图算子对视频进行指定时间点截帧。 约束与限制 该抽帧截图算子目前暂不支持中文对象。 方案架构 方案优势 用户自定义算子,无需依赖额外服务,功能更灵活。 父主题: 抽帧截图(自定义算子)
单击右上角的“保存”,填写工作流基本信息,如表1所示。 创建完成的所有同区域工作流,都将在工作流列表展示。工作流创建完成后,还需要创建事件触发器,或通过API触发,工作流才能工作。 表1 工作流基本信息 参数 说明 工作流名称 - 工作流类型 DWR支持同步和异步两种数据处理方式 匿名 对同步工作流设置是否可匿名访问
查看工作流运行结果 输出值与测试算子的输出结果相同,表示算子已经完成测试,具备发布条件。具备发布条更重要的是动态参数的存在让用户拥有了与算子交互的接口。 动态参数中的桶名称、对象是由用户输入的参数,而触发器中的桶名称、对象则是面向触发器使用,二者不可混淆。 父主题: 发布下载OBS对象的算子
64 package main import ( "encoding/json" "errors" "go-runtime/go-api/context" ) func DemoHandler(jsonData []byte, ctx context.RuntimeContext)