检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
注册华为账号并开通华为云,再完成实名认证 如果您已有一个华为账号,请跳到下一个任务。如果您还没有华为账号,请参考以下步骤创建。 根据提示信息完成注册。 注册成功后,系统会自动跳转至您的个人信息界面。 关于注册华为账号并开通华为云,请参见注册华为账号并开通华为云。 请参考实名认证完成个人或企业账号实名认证。 为账户充值
工作流进行自动化处理(如解析、转码、截图等)。 DWR基于函数工作流FunctionGraph的函数能力,将复杂的业务处理逻辑编排为工作流,通过事件触发器或API驱动,自动化完成多项复杂的数据处理任务。DWR提供图形化界面,方便用户直观便捷的构建数据处理流程,同时提供了预置的算子
入门流程 当需要使用DWR服务对OBS内存储的数据自动进行多项复杂任务(如解析、转码、截图等)处理时,建议参考表1逐步操作。 表1 DWR使用流程简介 操作步骤 操作说明 步骤一:准备工作 注册华为云账号,并开通数据工坊DWR服务。 (可选)步骤二:浏览算子市场 在算子市场查找需要的算子,了解已有算子的功能。
目前华为云支持以下两种方式创建自定义策略: 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。 JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。
触发器执行存在一定的延时,大概5分钟生效。 图2 创建事件触发器 上传文件触发工作流执行 登录OBS服务控制台,进入桶“piccomp”对象列表页面上传视频,如图3所示。 上传视频至piccomp桶后OBS会自动生成事件触发工作流运行,进行媒资转码。 图3 上传视频 查看媒资转码结果 转码后的视频存放在piccomp
图1 串联后的完整工作流 单击右上角的“保存”,填写工作流基本信息,如表1所示。 创建完成的所有同区域工作流,都将在工作流列表展示。工作流创建完成后,还需要创建事件触发器,或通过API触发,工作流才能工作。 表1 工作流基本信息 参数 说明 工作流名称 - 工作流类型 DWR支持同步和异步两种数据处理方式
在工作流列表中,单击待关联工作流操作列的“创建事件触发器”进行触发器的创建。 图1 创建事件触发器 配置事件触发器参数。 表1 事件触发器参数说明 参数 说明 触发器名称 事件触发器的名称,用户自定义。同一桶内的触发器名称不允许重复。 关联工作流 满足该事件触发器条件时,自动执行的工作流。
触发器执行存在一定的延时,大概5分钟生效。 图2 创建事件触发器 上传文件触发工作流执行 登录OBS服务控制台,进入桶“piccomp”对象列表页面上传视频,如图3所示。 上传视频至piccomp桶后OBS会自动生成事件触发工作流运行,进行视频解析。 图3 上传视频 查看视频解析结果 解析后的视频参数存放在picco
上传图片至piccomp桶后OBS会自动生成事件触发工作流运行,将图片压缩。 触发器执行存在一定的延时,大概5分钟生效。 图3 上传文件 查看图片压缩效果 压缩后的图片存放在piccomp-output桶的output文件夹中。如图4所示,图片大小均有变小,实现了对图片的压缩。 图4 压缩图片
的关系如表1所示。 表1 DWR与其他云服务的关系 服务类别 服务名称 交互关系 存储服务 对象存储服务(Object Storage Service,OBS) OBS作为DWR数据处理的数据源,当上传至OBS或存储在OBS的数据产生的事件满足触发器规则时,DWR将自动启动关联的工作流进行数据处理。
R的使用过程中为OBS的事件,例如上传对象事件,下载对象事件等。 代码上传方式选择“默认代码”。创建成功后FunctionGraph平台会自动生成一个python代码。 图1 创建函数界面 编辑python代码。 如图2所示,默认代码中只有一个handler函数,入参为两个: event
工作流主要是对算子进行编排,这样DWR就可以按照用户编排的算子顺序对OBS中的数据进行自动化处理(如视频解析、图片转码、视频截图等)。 工作流编排采用图形化界面,方便用户直观便捷的构建数据处理流程,同时提供了预置的算子和自定义函数能力,覆盖数据处理的各种场景。 发布区域:北京四、上海一、上海二、广州、新加坡
配置完成后,点击保存按钮输入工作流名称,点击确认,成功保存后界面会自动跳转到工作流列表界面。 图2 配置动态参数例图 配置OBS桶触发器 根据图2所示,工作流的执行时机由触发器决定,当前DWR仅支持OBS的触发器 在工作流列表中找到刚才创建的工作流,点击“创建事件触发器”,如图3所示,
调用数据处理服务接口实现数据处理。 云上近数据处理方式:使用云上存储服务和DWR的近数据处理能力,数据写入存储服务后,自动触发DWR编排的工作流完成数据处理。 表1 数据处理方式对比 对比项 传统线下处理 传统云上处理 云上近数据处理 成本 软硬件自建自维,成本高 资源按需购买,自建或使用云上服务,成本较低
管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分。 如表1所示,包括了DWR的所有系统权限。 表1 DWR系统权限 系统角色/策略名称 描述 类别 Tenant Administrator 拥有该权限的用户拥有除IAM外,其他所有服务的所有执行权限。
可选参数,水印文字和图片的对齐方式。取值为0、1或2。默认值为0。 0:表示上对齐。 1:表示中对齐。 2:表示下对齐。 iwm_order 可选参数,水印文字和图片的前后顺序。取值为0或1。默认值为0。 0:表示图片在前面。 1:表示文字在前面。 iwm_t 可选参数,文字或图片水印的透明度
继承函数输入参数的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'])
具体的工作流视图如图1所示。 图1 工作流视图 资源和成本 表1 资源和成本规划 资源 资源说明 数量 每月费用 OBS 算子请求OBS API。 1 通过算子对数据进行处理,都会涉及到对OBS API的调用,每调用一次API都计算一次请求次数。对象存储服务OBS会根据调用API的请求次数进行费用收取,收取详情参见OBS请求费用说明。
Input结构体参数说明参见创建工作流API。 regex参数设置的正则表达式请使用regexploit工具校验。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [ { //算子所在工作流输入列表 "parameter_name": "bucket"