检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
功能总览 功能总览 全部 算子市场 发布算子 创建工作流 启动工作流 API 算子市场 算子市场即DWR提供的算子库,提供方包括华为和第三方。 华为算子的能力源是华为云数据处理相关的云服务,如媒体处理MPC、图像识别Image等,DWR将云服务提供的各种数据处理能力通过函数生成算子并在算子市场发布。
入门流程 当需要使用DWR服务对OBS内存储的数据自动进行多项复杂任务(如解析、转码、截图等)处理时,建议参考表1逐步操作。 表1 DWR使用流程简介 操作步骤 操作说明 步骤一:准备工作 注册华为云账号,并开通数据工坊DWR服务。 (可选)步骤二:浏览算子市场 在算子市场查找需要的算子,了解已有算子的功能。
修订记录 发布日期 修订记录 2023-05-06 第三次正式发布。 本次变更说明如下: 使用限制,新增不支持并行文件系统的限制。 2022-04-30 第二次正式发布。 本次变更说明如下: 增加IAM细粒度授权。 2022-02-14 第一次正式发布。
修订记录 发布日期 修订记录 2022-02-14 第一次正式发布。
算子市场介绍 算子市场即为DWR提供的算子库,提供方包括华为和第三方。 华为云自有算子的能力源是华为云数据处理相关的云服务,如媒体处理MPC、图像识别Image等,DWR将云服务提供的各种数据处理能力通过函数生成算子并在算子市场发布。 第三方算子是基于DWR的算子注册能力,由第三
DWR数据处理的数据源是华为云存储服务,DWR提供的华为云自有算子是通过函数生成,且能力源是华为云数据处理相关的云服务。因此,DWR与其他服务的关系如表1所示。 表1 DWR与其他云服务的关系 服务类别 服务名称 交互关系 存储服务 对象存储服务(Object Storage Service,OBS)
可选参数,水印文字和图片的对齐方式。取值为0、1或2。默认值为0。 0:表示上对齐。 1:表示中对齐。 2:表示下对齐。 iwm_order 可选参数,水印文字和图片的前后顺序。取值为0或1。默认值为0。 0:表示图片在前面。 1:表示文字在前面。 iwm_t 可选参数,文字或图片水印的透明度
资源和成本 表1 资源和成本规划 资源 资源说明 数量 每月费用 OBS 算子请求OBS API。 1 通过算子对数据进行处理,都会涉及到对OBS API的调用,每调用一次API都计算一次请求次数。对象存储服务OBS会根据调用API的请求次数进行费用收取,收取详情参见OBS请求费用说明。
计费说明 算子费用主要由三部分组成:OBS API调用费、FunctionGraph函数及函数工作流费、算子费。 表1 计费项 计费项 说明 OBS API调用费 算子请求OBS API的调用费。 通过算子对数据进行处理,都会涉及到对OBS API的调用,每调用一次API都计算一
媒资转码后结果文件 图5 媒资转码工作流运行记录 (可选)查看运行记录 在DWR控制台左侧导航栏选择“工作流”,进入“工作流”页面 在工作流列表中,单击工作流“MediaTranscode”操作列的“运行记录”可以查看函数流的执行记录。详细介绍参见函数流执行历史管理。
图4 压缩图片 (可选)查看运行记录 在DWR控制台左侧导航栏选择“工作流”,进入“工作流”页面 在工作流列表中,单击工作流“piccomp”操作列的“运行记录”可以查看函数流的执行记录。详细介绍参见函数流执行历史管理。 图5 查看运行记录 父主题: 处理数据
解析后结果文件 图5 视频解析结果内容 (可选)查看运行记录 在DWR控制台左侧导航栏选择“工作流”,进入“工作流”页面 在工作流列表中,单击工作流“MediaMetadata”操作列的“运行记录”可以查看函数流的执行记录。详细介绍参见函数流执行历史管理。
什么是数据工坊 数据工坊(Data Workroom,DWR)是一款近数据处理服务,通过易用的数据处理工作流编排和开放生态的数据处理算子,能够在云上实现图像、视频、文档、图片等数据处理业务。 如图1所示,DWR主要对外提供开放的算子库和数据处理引擎。 算子库包含由DWR提供的华为
图1 串联后的完整工作流 单击右上角的“保存”,填写工作流基本信息,如表1所示。 创建完成的所有同区域工作流,都将在工作流列表展示。工作流创建完成后,还需要创建事件触发器,或通过API触发,工作流才能工作。 表1 工作流基本信息 参数 说明 工作流名称 - 工作流类型 DWR支持同步和异步两种数据处理方式
Input结构体参数说明参见创建工作流API。 regex参数设置的正则表达式请使用regexploit工具校验。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [ { //算子所在工作流输入列表 "parameter_name": "bucket"
继承函数输入参数的graph_name。 Records 是 Array 工作流触发的事件源事件消息。 如果没有变化,则继承函数输入参数的records。 inputs 否 Map[String]String 用户可修改参数列表。 如果没有新增,则继承函数输入参数的inputs。
bucketName = event['Records'][0]['obs']['bucket']['name'] objectKey = urllib.parse.unquote(event['Records'][0]['obs']['object']['key'])
在事件源存储桶中创建一个目录testdir 并上传.png结尾的文件至testdir目录下。 回到DWR工作流列表界面,点击“运行记录”查看工作流执行结果。 图4 查看工作流运行结果 输出值与测试算子的输出结果相同,表示算子已经完成测试,具备发布条件。具备发布条更重要的是动态参数的存在让用户拥有了与算子交互的接口。
现数据处理。 云上近数据处理方式:使用云上存储服务和DWR的近数据处理能力,数据写入存储服务后,自动触发DWR编排的工作流完成数据处理。 表1 数据处理方式对比 对比项 传统线下处理 传统云上处理 云上近数据处理 成本 软硬件自建自维,成本高 资源按需购买,自建或使用云上服务,成本较低
获取上传桶、对象信息 bucketName = event['Records'][0]['obs']['bucket']['name'] objectKey = urllib.unquote(event['Records'][0]['obs']['object']['key'])