检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
用户在自行开发自定义函数时,函数的输入参数和输出参数需要遵守本节的开发规范。 自定义函数的编译方式请参考FunctionGraph的《开发指南》。 函数输入参数 工作流执行自定义函数时,函数输入参数的JSON格式的结构体和环境变量的定义如下: 表1 函数输入的JSON格式体 名称 是否必选 参数类型 说明 execution_name
形。支持通过圆角半径大小和水平垂直大小两种方式设置。 表5 圆角剪切参数 属性类别 参数名称 参数说明 基本属性 名称 任务的名称,修改后将体现在工作流编排区域。 必须以字母或数字开头 只能由字母、数字、下划线和中划线组成 长度范围为1~20个字符 不能和同一工作流中的其他任务重名
在函数唯一标识中搜索上文中创建的测试算子。 图1 编排自定义工作流 配置DWR动态参数(dynamic_source) 上文算子测试时我们通过dynamic_source获取了两个参数值bucketname以及object。在工作流中,需要指明dynamic_source,并配置两个参数,否则算子将无法找到数值
视频解析 场景介绍 解析视频的元数据信息,包括:视频时长、视频格式、码率等。用于视频播放时获取时长,分辨率展示 等等。 流程一览 操作步骤 在OBS服务中创建桶 在OBS服务控制台创建两个桶,一个用于上传待处理的数据对象,一个用于存储处理后的数据对象。桶的详细介绍参见创建桶。 数据输入桶:“piccomp”
数配置项中。 桶名以及对象名通过event进行获取。如图2所示,桶名、对象等信息保存在event中,代码中dynamic_source是event中一个特殊结构体,通过它算子提供方可以获取用户在DWR中配置的参数。这也是算子提供方获取用户配置参数的主要方式,后文将对该参数进行更加
外提供API,方便用户进行调用。 API上线云市场:云市场提供API调用权限的购买入口,算子提供方将步骤1中开放的API注册到云市场中即可获取便捷的收费管理,上线指导参见API上线云市场。 开发算子:DWR的算子执行依赖FunctionGraph服务提供执行引擎,算子提供方在发布算子前需按照函数开发规范开发算子。
对象匹配上了triggerB的条件(比如:两个触发器的前缀和后缀不配置),最终,转码的输出会再次触发工作流,从而导致用户工作流workflowA和workflowB不停的执行,出现“无限循环”。 说明:triggerA和triggerB都不指定前后缀 图5 工作流配置workflowA
有算子是通过函数生成,且能力源是华为云数据处理相关的云服务。因此,DWR与其他服务的关系如表1所示。 表1 DWR与其他云服务的关系 服务类别 服务名称 交互关系 存储服务 对象存储服务(Object Storage Service,OBS) OBS作为DWR数据处理的数据源,当
流创建完成后,还需要创建事件触发器,或通过API触发,工作流才能工作。 表1 工作流基本信息 参数 说明 工作流名称 - 工作流类型 DWR支持同步和异步两种数据处理方式 匿名 对同步工作流设置是否可匿名访问 同步工作流支持异步启动。 支持同步工作流的自营算子参见官方算子一览。
事件发生的源桶,即事件在该桶中发生时,触发关联工作流。 该参数不支持修改,默认为创建事件触发器的桶。 事件源类型 使事件触发器生效的事件源类型。目前,OBS支持以下事件源类型: ObjectCreated:表示所有创建对象的操作,包含Put、Post、Copy对象以及合并段。 Put:使用Put方法上传对象。
抽帧截图的采样类型,选择按照时间点截图 format:输出截图格式,目前只支持jpg格式 max_length: 截图最长边的尺寸,填入480 width:输出截图的宽度,填入0 height:输出截图的高度,填入0 (当有Width和Height均不为0时,按照width和height限制输出图片的尺寸
base64(commands)),再使用DWR集成自定义函数的方式来实现视频转码。 具体的工作流视图如图1所示。 图1 工作流视图 资源和成本 表1 资源和成本规划 资源 资源说明 数量 每月费用 OBS 算子请求OBS API。 1 通过算子对数据进行处理,都会涉及到对OBS API
第一次使用DWR时,需要在控制台上根据提示对DWR进行统一授权。 授权内容: 授权DWR使用您的FunctionGraph服务和DWR工作流中使用到的其他数据处理服务,用以创建函数和通过函数调用其他数据处理服务的API,以便能根据工作流自动处理OBS桶中的数据。 授权过程用户无感知,只需一键操作,系统将自动为您创建IAM委托。
户直观便捷的构建数据处理流程,同时提供了预置的算子和自定义函数能力,覆盖数据处理的各种场景。预置算子的详细介绍,请参见官方算子一览。用户在自行开发自定义函数时,函数的输入参数和输出参数需要遵守自定义函数开发规范。 DWR支持异步和同步两种方式启动工作流,其中同步方式支持直接返回数据:
body(stream body/json body) 表1 请求参数说明 参数 是否必选 参数类型 描述 x-workflow-graph-name 是 字符串 工作流名称和运行参数,比如:x-workflow-graph-name=gramname/p1_v1,p2_v2