检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
当算子被华为云用户使用之后,算子发布者将会获得相应的收益,详情参见计费说明。 算子从API上线、开发、到发布的整个流程如图1所示,本节主要介绍如何使用DWR发布已开发好的算子到算子市场。 算子开发完成后,您可以参考抽帧截图(自定义算子)来验证算子。 图1 算子发布流程 约束与限制 当前发布算子功能仅支持IAM主账号。
如何测试算子 当算子功能代码开发完毕后,可以在DWR工作流中使用自定义工作流进行测试。请参考测试算子功能。
开发指南。通过对该示例算子开发方式的说明,能够帮助算子开发者快速适应开发流程。通过本节将学到以下内容: 算子代码的入口结构 如何在算子中获得AK/SK 如何通过算子访问OBS 操作步骤 登录FunctionGraph控制台创建python函数,创建详情参见创建事件函数。 函数类型
配置结果如图2所示。 配置完成后,点击保存按钮输入工作流名称,点击确认,成功保存后界面会自动跳转到工作流列表界面。 图2 配置动态参数例图 配置OBS桶触发器 根据图2所示,工作流的执行时机由触发器决定,当前DWR仅支持OBS的触发器 在工作流列表中找到刚才创建的工作流,点击“创
当算子被华为云用户使用之后,算子发布者将会获得相应的收益,详情参见计费说明。 算子从API上线、开发、到发布的整个流程如图1所示,本节主要介绍如何使用DWR发布已开发好的算子到算子市场。 算子开发完成后,您可以参考抽帧截图(自定义算子)来验证算子。 图1 算子发布流程 约束与限制 当前发布算子功能仅支持IAM主账号。
“无限循环”触发工作流如何处理? 由于DWR只能按触发器前缀、后缀、事件源类型等条件触发工作流,所以可能存在出现“无限循环”的场景。如果出现“无限循环”,只能先删除桶的事件触发器。主要有以下两个场景: 场景1:触发器源桶和函数执行输出目标桶是同一个桶的无限循环 案例1:使用DWR内置函数触发“无限循环”
√ √ 查询工作流详情 √ √ 查询华为云系统算子 √ √ 查询公共算子 √ √ 查询用户第三方算子 √ √ 查询第三方算子服务协议是否同意 √ √ 获取DWR工作流是否开通授权 √ √ 更新工作流参数 √ x 更新用户第三方算子 √ x 恢复的工作流实例 √ x DWR工作流开通授权
可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。 JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内容;也可以直接在编辑框内编写JSON格式的策略内容。 具体创建步骤请参见创建自定义策略。本章为您介绍常用的DWR自定义策略样例。
根据提示信息完成注册。 注册成功后,系统会自动跳转至您的个人信息界面。 关于注册华为账号并开通华为云,请参见注册华为账号并开通华为云。 请参考实名认证完成个人或企业账号实名认证。 为账户充值 您需要确保账户有足够金额。 关于DWR收费标准,请参见计费说明。 关于充值,请参见如何给华为云账户充值。
自营算子由算子云服务提供方决定收费标准。例如使用人脸识别算子,该算子由人脸识别服务FRS提供,会根据人脸识别接口调用次数进行收费。 查询算子的云服务提供方参见表华为算子一览,各个云服务的计费规则请查看该服务的“计费说明”章节。
触发器执行存在一定的延时,大概5分钟生效。 图2 创建事件触发器 上传文件触发工作流执行 登录OBS服务控制台,进入桶“piccomp”对象列表页面上传视频,如图3所示。 上传视频至piccomp桶后OBS会自动生成事件触发工作流运行,进行视频解析。 图3 上传视频 查看视频解析结果 解析后的视频参数
上传图片至piccomp桶后OBS会自动生成事件触发工作流运行,将图片压缩。 触发器执行存在一定的延时,大概5分钟生效。 图3 上传文件 查看图片压缩效果 压缩后的图片存放在piccomp-output桶的output文件夹中。如图4所示,图片大小均有变小,实现了对图片的压缩。
触发器执行存在一定的延时,大概5分钟生效。 图2 创建事件触发器 上传文件触发工作流执行 登录OBS服务控制台,进入桶“piccomp”对象列表页面上传视频,如图3所示。 上传视频至piccomp桶后OBS会自动生成事件触发工作流运行,进行媒资转码。 图3 上传视频 查看媒资转码结果 转码后的视频存放
数异常 动态参数 sync 视频解析处理模式。 排队处理:查询后仅返回任务ID,还需进一步调用查询视频解析任务接口才能获取到视频元数据。 同步处理:查询后将直接返回视频元数据。 bucket 视频解析输出桶,用于保存解析后的视频。 输出桶需要和DWR工作流在同一区域,工作流所属区
继承函数输入参数的graph_name。 Records 是 Array 工作流触发的事件源事件消息。 如果没有变化,则继承函数输入参数的records。 inputs 否 Map[String]String 用户可修改参数列表。 如果没有新增,则继承函数输入参数的inputs。
来。 当前仅支持串行工作流。 图1 串联后的完整工作流 单击右上角的“保存”,填写工作流基本信息,如表1所示。 创建完成的所有同区域工作流,都将在工作流列表展示。工作流创建完成后,还需要创建事件触发器,或通过API触发,工作流才能工作。 表1 工作流基本信息 参数 说明 工作流名称
bucketName = event['Records'][0]['obs']['bucket']['name'] objectKey = urllib.parse.unquote(event['Records'][0]['obs']['object']['key'])
发布算子 当完成算子开发、算子在工作流中的测试后,即可在DWR上将算子发布到算子市场。 操作步骤 在DWR控制台的“发布算子”页面,单击界面右上角的“发布公共算子”。 配置算子基本信息。 表1 配置基本信息 参数 说明 算子名称 不能与本用户已有的算子重名。 算子提供方 - 算子描述
在OBS桶上配置事件触发器,指定工作流触发的条件,如桶内什么数据在执行某类操作后开始处理,当事件触发时异步执行满足条件的复杂任务。通常这类复杂任务处理逻辑相同,可以对一类对象进行操作。比较典型的场景是:用户上传视频对象后,可以根据工作流自动完成视频解析或者转码。 通过API启动工作流(同步和异步都支持)
获取上传桶、对象信息 bucketName = event['Records'][0]['obs']['bucket']['name'] objectKey = urllib.unquote(event['Records'][0]['obs']['object']['key'])