检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
或者对象满足触发器条件),则转码的输出会再次触发工作流,从而导致用户工作流不停的执行,出现“无限循环”。 图1 工作流配置workflowA 图2 工作流触发器triggerA配置 案例2:自定义函数触发“无限循环” 用户创建一条工作流workflowA,在工作流种使用了自定义
在左侧导航栏选择“工作流”,进入“工作流”页面。 在工作流列表中,单击待关联工作流操作列的“创建事件触发器”进行触发器的创建。 图1 创建事件触发器 配置事件触发器参数。 表1 事件触发器参数说明 参数 说明 触发器名称 事件触发器的名称,用户自定义。同一桶内的触发器名称不允许重复。
一个事件触发器可以设置多个前缀或者后缀吗? 不可以。 不过,用户可以为该工作流创建多条事件触发器来实现支持多个前缀或者后缀,当前一个桶支持绑定10个触发器。 例如对于媒资转码工作流,用户需要对后缀mp4和mov两种格式的视频进行数据处理。用户需要为该给工作流创建两条触发器,一条用
保存并填写工作流名称“piccomp”。 图1 编排工作流 在DWR服务中创建事件触发器,如图2所示。 在工作流列表中,单击工作流“piccomp”操作列的“创建事件触发器”进行触发器的创建,如图2所示。 事件源存储桶选择“piccomp”。 图2 创建事件触发器 上传文件触发工作流执行
当前仅支持OBS对象桶,不支持并行文件系统。 当前仅支持创建串行的工作流。 一个事件触发器仅支持关联一个工作流,一个工作流可同时被多个事件触发器关联。 当前暂不支持创建重名工作流,即使工作流被删除后,也不能再创建与之重名的工作流。 同一桶内的触发器名称不允许重复。 工作流及工作流中使用的FunctionGraph、
函数开发规范。 DWR支持异步和同步两种方式启动工作流,其中同步方式支持直接返回数据: 通过事件触发器启动工作流(异步方式) 在OBS桶上配置事件触发器,指定工作流触发的条件,如桶内什么数据在执行某类操作后开始处理,当事件触发时异步执行满足条件的复杂任务。通常这类复杂任务处理逻辑
您首先需要在FunctionGraph导入自定义算子需要的函数依赖包。然后需要在FunctionGraph创建自定义抽帧截图函数。之后需要在DWR工作流编排界面完成配置动态参数,创建同步工作流。最后触发工作流进行验证。 图1 操作流程 父主题: 抽帧截图(自定义算子)
编排工作流 在DWR服务中创建事件触发器。 在工作流列表中,单击工作流“MediaTranscode”操作列的“创建事件触发器”进行触发器的创建,如图2所示。 事件源存储桶选择“piccomp”。 触发器执行存在一定的延时,大概5分钟生效。 图2 创建事件触发器 上传文件触发工作流执行
启动工作流 通过事件触发器异步启动工作流 通过API异步启动工作流 通过API同步启动工作流 父主题: 数据处理
在DWR服务中创建事件触发器。 在工作流列表中,单击工作流“MediaMetadata”操作列的“创建事件触发器”进行触发器的创建,如图2所示。 事件源存储桶选择“piccomp”。 触发器执行存在一定的延时,大概5分钟生效。 图2 创建事件触发器 上传文件触发工作流执行 登录OBS服
当前仅支持串行工作流。 图1 串联后的完整工作流 单击右上角的“保存”,填写工作流基本信息,如表1所示。 创建完成的所有同区域工作流,都将在工作流列表展示。工作流创建完成后,还需要创建事件触发器,或通过API触发,工作流才能工作。 表1 工作流基本信息 参数 说明 工作流名称 - 工作流类型
ObjectRemoved:监听删除对象操作。 事件源存储桶:触发器监听桶,只有当其中对象内容发生变化时才能触发工作流执行。 上传对象触发工作流执行 完成触发器配置后,工作流已经跟触发器关联,事件源存储桶中监听对象的变化将会触发工作流的执行,这一步我们将上传符合监听事件的对象。 在事件源存储桶中创建一个目录testdir
自己的需求挑选算子加入工作流中,从而快速构建特有的数据处理功能。 触发器 每个工作流需要绑定一个触发器用于触发执行工作流,该触发器当前仅支持作用于OBS桶上,用户可在触发器中定义工作流的触发方式。 异步启动工作流 调用用户的工作流,并且客户端不关注请求调用的结果,服务端收到请求后
execution_name 是 String 工作流实例名称。 graph_name 是 String 工作流名称。 Records 是 Array 工作流触发的事件源事件消息。 inputs 否 Map[String]String 用户可修改参数列表,可以为空。 dynamic_source
return ret 创建工作流。 关联步骤1的自定义函数和“媒资转码”算子。拓扑图如图2所示。 需要关闭自定义算子和“媒资转码”算子的动态参数开关。 图2 创建工作流 配置触发器。 触发器关联到需要做转码的桶,并根据业务需要指定对象前、后缀。 填写配置信息如下: 触发器名称:“test-trans”
函数保存成功后,进入到数工坊DWR控制台工作流界面,点击“创建工作流”。 在工作流编排界面选择自定义算子并完成连线。其中基本属性部分的函数唯一标识选择步骤4创建好的自定义函数。 加入动态参数f(截图秒数frame),h(输出图片高度height),w(输出图片宽度width)。 点击保存工作流。可选择同步并支持匿名访问
x-workflow-graph-name={工作流名称}/<参数名>_{参数值} 对应的参数名请点击工作流详情后查看: 触发工作流: 注意:当参数名有下划线时,需将下划线转成%5F 直接在DWR工作流界面修改 进入DWR工作流界面并点击进入工作流详情 点击修改对参数进行修改 修改thum
最佳实践 创建视频转码工作流 发布下载OBS对象的算子 抽帧截图(官方算子) 抽帧截图(自定义算子) 视频解析 媒资转码 常见问题 了解更多常见问题、案例和解决方案 热门案例 触发器配置不当导致“无限循环”触发工作流如何处理? 如何测试算子? 一个事件触发器可以设置多个前缀或者后缀吗?
入存储服务后,再调用数据处理服务接口实现数据处理。 云上近数据处理方式:使用云上存储服务和DWR的近数据处理能力,数据写入存储服务后,自动触发DWR编排的工作流完成数据处理。 表1 数据处理方式对比 对比项 传统线下处理 传统云上处理 云上近数据处理 成本 软硬件自建自维,成本高
创建工作流 OBS 2.0支持启动工作流 DWR支持异步和同步两种方式启动工作流。 通过事件触发器启动工作流为异步方式。 通过API启动工作流同步和异步都支持。 发布区域:北京四、上海一、上海二、广州、新加坡 通过事件触发器异步启动工作流 通过API异步启动工作流 通过API同步启动工作流