云服务器内容精选
-
请求参数 表1 请求参数列表 参数名称 是否必选 参数类型 描述 graphName 是 str 参数解释: 工作流名称 约束限制: 名称必须以字母或数字开头,只能由字母、数字、下划线和中划线组成,长度小于等于64个字符,且不能重名。 默认取值: 无 templateName 是 str 参数解释: 工作流模板的名称 约束限制: 名称必须以字母或数字开头,只能由字母、数字、下划线和中划线组成,长度小于等于64个字符,且不能重名。 默认取值: 无 description 否 str 参数解释: 工作流的描述 约束限制: 长度最小为0,最长为256,可以是数字、大小写字母以及英文的逗号,句号,冒号,中划线,下划线,空格 默认取值: 无 agency 是 str 参数解释: 委托名,用于OBS服务能够访问函数服务 约束限制: agency必须是赋予OBS服务有函数服务访问权限。 默认取值: 无 parameters 否 Array Input Json结构体 结构体说明 参数解释: 工作流中用户可修改参数列表 取值范围: 详见结构体说明
-
返回结果 表2 返回结果 类型 说明 GetResult 参数解释: SDK公共结果对象。 表3 GetResult 参数名称 参数类型 描述 status int 参数解释: HTTP状态码。 取值范围: 状态码是一组从2xx(成功)到4xx或5xx(错误)的数字代码,状态码表示了请求响应的状态。完整的状态码列表请参见状态码。 默认取值: 无 reason str 参数解释: HTTP文本描述。 默认取值: 无 errorCode str 参数解释: OBS服务端错误码,当status参数小于300时为空。 默认取值: 无 errorMessage str 参数解释: OBS服务端错误描述,当status参数小于300时为空。 默认取值: 无 requestId str 参数解释: OBS服务端返回的请求ID。 默认取值: 无 indicator str 参数解释: OBS服务端返回的错误定位码。 默认取值: 无 hostId str 参数解释: 请求的服务端ID,当status参数小于300时为空。 默认取值: 无 resource str 参数解释: 发生错误时相关的桶或对象,当status参数小于300时为空。 默认取值: 无 header list 参数解释: 响应消息头列表,由多个元组构成。每个元组均包含两个元素,代表响应头的键值对。 默认取值: 无 body object 参数解释: 操作成功后的结果数据,当status大于300时为空。该值根据调用接口的不同而不同,参见“桶相关接口”章节和“对象相关接口”章节的详细描述。 默认取值: 无 表4 返回结果 GetResult.body类型 说明 表5 参数解释: 响应结果,详见表5 表5 CreateWorkflowResponse 参数名称 参数类型 描述 graphName str 参数解释: 工作流名称 默认取值: 无 graphUrn str 参数解释: 工作流的URN 默认取值: 无 createdAt str 参数解释: 工作流的创建时间 默认取值: 无
-
请求示例 创建Workflow工作流。设置工作流名称为“graph-test-has-condition-step”。 POST https://{endpoint}/v2/{project_id}/workflows { "name" : "graph-test-has-condition-step", "description" : "", "workspace_id" : "0", "steps" : [ { "name" : "condition_step_test", "title" : "condition_step_test", "description" : "", "type" : "condition", "conditions" : [ { "type" : "==", "left" : "$ref/parameters/is_true", "right" : true } ], "if_then_steps" : [ "training_job1" ], "else_then_steps" : [ "training_job2" ], "policy" : { } }, { "name" : "training_job1", "title" : "labeling", "description" : "", "type" : "job", "inputs" : [ { "name" : "data_url", "type" : "obs", "data" : "$ref/data/a2ff296da618452daa8243399f06db8e" } ], "outputs" : [ { "name" : "train_url", "type" : "obs", "config" : { "obs_url" : "/test-lh/test-metrics/" } }, { "name" : "service-link", "type" : "service_content", "config" : { "config_file" : "$ref/parameters/service_config1" } } ], "properties" : { "algorithm" : { "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43", "parameters" : [ ] }, "kind" : "job", "metadata" : { "name" : "workflow-b0b9fa4c06254b2ebb0e48ba1f7a916c" }, "spec" : { "resource" : { "flavor_id" : "$ref/parameters/train_spec", "node_count" : 1, "policy" : "regular" } } }, "depend_steps" : [ "condition_step_test" ], "policy" : { } }, { "name" : "training_job2", "title" : "labeling", "description" : "", "type" : "job", "inputs" : [ { "name" : "data_url", "type" : "obs", "data" : "$ref/data/f78e46676a454ccdacb9907f589f8d67" } ], "outputs" : [ { "name" : "train_url", "type" : "obs", "config" : { "obs_url" : "/test-lh/test-metrics/" } }, { "name" : "service-link", "type" : "service_content", "config" : { "config_file" : "$ref/parameters/service_config2" } } ], "properties" : { "algorithm" : { "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43", "parameters" : [ ] }, "kind" : "job", "metadata" : { "name" : "workflow-4a4317eb49ad4370bd087e6b726d84cf" }, "spec" : { "resource" : { "flavor_id" : "$ref/parameters/train_spec", "node_count" : 1, "policy" : "regular" } } }, "depend_steps" : [ "condition_step_test" ], "policy" : { } }, { "name" : "training_job3", "title" : "labeling", "description" : "", "type" : "job", "inputs" : [ { "name" : "data_url", "type" : "obs", "data" : "$ref/data/dee65054c96b4bf3b7ac98c0709f9ae0" } ], "outputs" : [ { "name" : "train_url", "type" : "obs", "config" : { "obs_url" : "/test-lh/test-metrics/" } }, { "name" : "service-link", "type" : "service_content", "config" : { "config_file" : "$ref/parameters/service_config3" } } ], "properties" : { "algorithm" : { "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43", "parameters" : [ ] }, "kind" : "job", "metadata" : { "name" : "workflow-3039303b3ae14f3e9eed416ba6361b1f" }, "spec" : { "resource" : { "flavor_id" : "$ref/parameters/train_spec", "node_count" : 1, "policy" : "regular" } } }, "depend_steps" : [ "training_job1", "training_job2" ], "policy" : { } } ], "labels" : [ "subgraph" ], "data" : [ { "name" : "a2ff296da618452daa8243399f06db8e", "type" : "obs", "value" : { "obs_url" : "/test-lh/test-metrics/" }, "used_steps" : [ "training_job1" ] }, { "name" : "f78e46676a454ccdacb9907f589f8d67", "type" : "obs", "value" : { "obs_url" : "/test-lh/test-metrics/" }, "used_steps" : [ "training_job2" ] }, { "name" : "dee65054c96b4bf3b7ac98c0709f9ae0", "type" : "obs", "value" : { "obs_url" : "/test-lh/test-metrics/" }, "used_steps" : [ "training_job3" ] } ], "parameters" : [ { "name" : "is_true", "type" : "bool", "delay" : true, "value" : true, "used_steps" : [ "condition_step_test" ] }, { "name" : "train_spec", "type" : "str", "format" : "flavor", "description" : "training specification", "default" : "modelarts.vm.cpu.8u", "used_steps" : [ "training_job1", "training_job2", "training_job3" ] }, { "name" : "service_config1", "type" : "str", "default" : "/test-lh/test-metrics/metrics.json", "used_steps" : [ "training_job1" ] }, { "name" : "service_config2", "type" : "str", "default" : "/test-lh/test-metrics/metrics.json", "used_steps" : [ "training_job2" ] }, { "name" : "service_config3", "type" : "str", "default" : "/test-lh/test-metrics/metrics.json", "used_steps" : [ "training_job3" ] } ] }
-
响应示例 状态码: 201 OK { "name" : "graph-test-has-condition-step", "description" : "", "workspace_id" : "0", "steps" : [ { "name" : "condition_step_test", "title" : "condition_step_test", "description" : "", "type" : "condition", "conditions" : [ { "type" : "==", "left" : "$ref/parameters/is_true", "right" : true } ], "if_then_steps" : [ "training_job1" ], "else_then_steps" : [ "training_job2" ], "policy" : { } }, { "name" : "training_job1", "title" : "labeling", "description" : "", "type" : "job", "inputs" : [ { "name" : "data_url", "type" : "obs", "data" : "$ref/data/a2ff296da618452daa8243399f06db8e" } ], "outputs" : [ { "name" : "train_url", "type" : "obs", "config" : { "obs_url" : "/test-lh/test-metrics/" } }, { "name" : "service-link", "type" : "service_content", "config" : { "config_file" : "$ref/parameters/service_config1" } } ], "properties" : { "algorithm" : { "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43", "parameters" : [ ] }, "kind" : "job", "metadata" : { "name" : "workflow-b0b9fa4c06254b2ebb0e48ba1f7a916c" }, "spec" : { "resource" : { "flavor_id" : "$ref/parameters/train_spec", "node_count" : 1, "policy" : "regular" } } }, "depend_steps" : [ "condition_step_test" ], "policy" : { } }, { "name" : "training_job2", "title" : "labeling", "description" : "", "type" : "job", "inputs" : [ { "name" : "data_url", "type" : "obs", "data" : "$ref/data/f78e46676a454ccdacb9907f589f8d67" } ], "outputs" : [ { "name" : "train_url", "type" : "obs", "config" : { "obs_url" : "/test-lh/test-metrics/" } }, { "name" : "service-link", "type" : "service_content", "config" : { "config_file" : "$ref/parameters/service_config2" } } ], "properties" : { "algorithm" : { "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43", "parameters" : [ ] }, "kind" : "job", "metadata" : { "name" : "workflow-4a4317eb49ad4370bd087e6b726d84cf" }, "spec" : { "resource" : { "flavor_id" : "$ref/parameters/train_spec", "node_count" : 1, "policy" : "regular" } } }, "depend_steps" : [ "condition_step_test" ], "policy" : { } }, { "name" : "training_job3", "title" : "labeling", "description" : "", "type" : "job", "inputs" : [ { "name" : "data_url", "type" : "obs", "data" : "$ref/data/dee65054c96b4bf3b7ac98c0709f9ae0" } ], "outputs" : [ { "name" : "train_url", "type" : "obs", "config" : { "obs_url" : "/test-lh/test-metrics/" } }, { "name" : "service-link", "type" : "service_content", "config" : { "config_file" : "$ref/parameters/service_config3" } } ], "properties" : { "algorithm" : { "id" : "21ef85a8-5e40-4618-95ee-aa48ec224b43", "parameters" : [ ] }, "kind" : "job", "metadata" : { "name" : "workflow-3039303b3ae14f3e9eed416ba6361b1f" }, "spec" : { "resource" : { "flavor_id" : "$ref/parameters/train_spec", "node_count" : 1, "policy" : "regular" } } }, "depend_steps" : [ "training_job1", "training_job2" ], "policy" : { } } ], "labels" : [ "subgraph" ], "data" : [ { "name" : "a2ff296da618452daa8243399f06db8e", "type" : "obs", "value" : { "obs_url" : "/test-lh/test-metrics/" }, "used_steps" : [ "training_job1" ] }, { "name" : "f78e46676a454ccdacb9907f589f8d67", "type" : "obs", "value" : { "obs_url" : "/test-lh/test-metrics/" }, "used_steps" : [ "training_job2" ] }, { "name" : "dee65054c96b4bf3b7ac98c0709f9ae0", "type" : "obs", "value" : { "obs_url" : "/test-lh/test-metrics/" }, "used_steps" : [ "training_job3" ] } ], "parameters" : [ { "name" : "is_true", "type" : "bool", "delay" : true, "value" : true, "used_steps" : [ "condition_step_test" ] }, { "name" : "train_spec", "type" : "str", "format" : "flavor", "description" : "training specificaiton", "default" : "modelarts.vm.cpu.8u", "used_steps" : [ "training_job1", "training_job2", "training_job3" ] }, { "name" : "service_config1", "type" : "str", "default" : "/test-lh/test-metrics/metrics.json", "used_steps" : [ "training_job1" ] }, { "name" : "service_config2", "type" : "str", "default" : "/test-lh/test-metrics/metrics.json", "used_steps" : [ "training_job2" ] }, { "name" : "service_config3", "type" : "str", "default" : "/test-lh/test-metrics/metrics.json", "used_steps" : [ "training_job3" ] } ] }
-
组件说明 函数流提供多种类型的组件,用户可以通过拖拽组件、配置组件和连接组件进行可视化编排,实现函数任务流的编排。使用函数流功能,请先了解表1。 表1 组件说明 类型 名称 说明 服务组件 函数 FunctionGraph函数,如何创建函数请参见创建函数。 EG 事件网格服务(EventGrid),EG节点会发布已配置的事件至指定的EG事件通道,如何创建EG资源请参见事件网格相关文档。 流程控制器 回调节点 通过人工干预实现对执行中函数流的条件控制,函数流将阻塞在回调节点,直到用户调用回调接口以继续函数流执行,从而达到人工审批的效果。 子流程 把已创建的“函数流”任务作为“子流程”组合成一个新的函数流任务。 并行分支 用于创建多个并行分支的控制器,以便同时执行多个分支任务,并可根据分支执行结束后控制下一步流程。 开始节点 只能加入触发器,用于标识流程的开始,一个流程只能有一个开始节点。 异常处理 用于控制函数执行失败后的下一步流程。 循环节点 用于对数组中每个元素进行循环处理。每次循环会执行一次循环内部的子流程。 时间等待 用于控制当前流程在指定时间延迟后再调用下一个流程。 服务节点 用于对多个函数构成的复杂操作进行抽象,可以将多个函数操作合并成一个原子节点进行管理。 条件分支 用于根据条件判断是否执行下一分支。 结束节点 用于标识流程的结束。
-
编排规则 设计的函数流必须是一个有向无环图,从开始节点出发,开始节点后续必须且只能连接一个节点(除了异常处理和结束节点);流程必须在某一个节点结束,结束流程有两种形式: 流程中存在的节点没有任何后继节点,且后续节点非条件分支,并行分支或开始节点。 流程中存在结束节点,且结束节点后续无其他节点。 组件设计规则 表2 触发器和函数和EG 参数 说明 创建函数流时,是否必选 触发器 当前允许流程中配置0-10个触发器。 触发器必须配置在开始节点内。 触发器不允许连接其他任何节点,也不允许被其他节点连接。 否 函数 当前允许流程中配置0-99个函数节点。 当函数连接异常处理节点时,最多可以再连接一个非开始节点和非异常处理节点。 当函数不连接异常处理节点时,只能连接一个非开始节点。 否 EG 当前允许流程中配置0-10个EG节点。 当EG节点连接异常处理节点时,最多可以再连接一个非开始节点和非异常处理节点。 当EG节点不连接异常处理节点时,只能连接一个非开始节点。 否 表3 流程控制器 参数 说明 创建函数流时,是否必选 回调节点 回调节点限制规则参考表2中函数参数,但回调节点不可为服务节点的子节点 否 子流程 该节点选择已创建的函数流任务。 否 并行分支 用于标识节点后面的分支会并行执行。 后继节点允许连接1-20个节点(除了异常处理,开始节点和结束节点),至少连接一个节点。 否 开始节点 用于标识流程开始,每个流程必须有且只能有一个开始节点。 开始节点后面必须接1个节点,后续节点类型不能是结束节点或者异常处理。 必选 异常处理 后面可以接0-10个节点,后继节点不能是开始节点,结束节点和异常处理节点。 否 循环节点 用来对数组中每个元素进行循环处理。每次循环会执行一次循环内部的子流程。 循环节点内部子流程需要满足如下规则: 只能有一个起始节点(没有前驱节点),起始节点只能使用函数,时间等待节点。 循环节点内部只允许编排函数,时间等待,异常处理节点。 否 时间等待 后面可以连接0个或1个节点,节点类型不能是开始节点和异常处理节点。 否 服务节点 服务节点由多个函数节点组成,后续节点可以是结束节点或异常处理节点。 否 条件分支 后面可以连接2-20个后继节点,后继节点类型不能为开始节点,结束节点和异常处理节点。 否 结束节点 后面不能接任何节点。 否
-
响应示例 状态码: 200 查询禁止直播推流列表成功 { "total" : 2, "blocks" : [ { "app_name" : "live", "stream_name" : "test_001", "resume_time" : "2018-05-19T21:10:15Z" }, { "app_name" : "live", "stream_name" : "test_002", "resume_time" : "2018-06-12T20:10:10Z" } ] } 状态码: 400 查询禁止直播推流列表失败 { "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal" }
-
请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token,使用Token鉴权方式时必填。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必填,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必填,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必填,携带项目ID信息。
-
响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 查询结果的总元素数量 blocks Array of StreamForbiddenList objects 禁推黑名单列表 表5 StreamForbiddenList 参数 参数类型 描述 app_name String 应用名称 stream_name String 流名称 resume_time String 恢复流时间,格式:yyyy-mm-ddThh:mm:ssZ,UTC时间,不指定则默认7天,最大禁推为90天 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
-
URI GET /v1/{project_id}/stream/blocks 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 domain 是 String 域名 app_name 否 String 应用名称,不指定则查询domain下所有应用的禁止直播推流信息 stream_name 否 String 流名称 page 否 Integer 分页编号。 默认为0。 size 否 Integer 每页记录数。 取值范围:1-100。 默认为10。
-
标准函数流执行历史查询 登录FunctionGraph控制台,在左侧导航栏选择“函数流”,进入“函数流”页面。 在“函数流”流程列表页面,单击需要查看执行历史的流程,进入流程详情页面。 切换至“运行记录”页签,查看执行历史运行记录。 左侧为执行历史记录列表,展示最近100次执行记录,支持根据流程执行ID进行查询。 单击左侧的执行记录,中间画布展示流程的执行结果,如果节点执行成功,图标背景为绿色,如果执行失败背景为红色。 图1 执行失败 画布下方输入输出展示区默认展示流程的输入和输出,单击上方任意节点,展示节点的输入和输出。 对于函数流及函数流各个节点,若输出值中有字段的值为null,则该字段会被直接过滤,不予展示。 最下方日志展示流程从开始到结束所有节点的执行记录。 图2 节点日志
-
响应示例 状态码: 200 正常 { "result" : "success" } 状态码: 400 请求错误。具体返回错误码请参考错误码说明 { "error_msg" : "Invalid request parameter, url can not be null or empty when access type is HTTP-FLV.", "error_code" : "VIS.0005" }
-
请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 普通租户的token。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 access_type 否 String 视频接入 类型,例如HTTP-FLV、RTMP等,不区分大小写。当视频流处于ACTIVE状态时,不允许修改该项。 encode_type 否 String 视频流编码格式,当前支持H264,不区分大小写。 access_key 否 String RTMP视频流绑定的密钥Access Key。 url 否 String HTTP-FLV视频流的拉流地址。URL必须是http或https协议的合法URL。格式要求:以“http://”或“https://”开头的字符串,例如“http://xxxx.xxx”。 description 否 String 视频流的描述信息。 share_type 否 String 视频流共享类型。 PRIVATE:非共享。 PUBLIC:共享。 不区分大小写。 tag 否 Array of StreamTag objects 和视频流关联的标签,一个视频流最多添加10个标签。 state 否 String 视频流状态,可选值如下。 ACTIVE:表示已激活。 STOPPED:表示已停用。 表4 StreamTag 参数 是否必选 参数类型 描述 key 否 String 标签的键。最大长度为36个UNICODE字符(一-鿿),可以包含大小写字母、数字、中划线(-)或者下划线(_),不能包含其他的特殊字符。 value 否 String 标签的值。最大长度为43个UNICODE字符(一-鿿),可以包含大小写字母、数字、点(.)、中划线(-)或者下划线(_),不能包含其他的特殊字符,也可以为空字符串。
-
响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 success Boolean 响应是否成功,默认为true。 状态码: 403 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:36 error_msg String 错误描述。 最小长度:2 最大长度:512 状态码: 500 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:36 error_msg String 错误描述。 最小长度:2 最大长度:512
-
响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 running_id String 流记录id。 flow_id String 流id。 success Boolean 流运行状态 success: 流运行成功 fail: 流运行失败 flow_name String 流名称。 message String 返回信息。 状态码: 403 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:36 error_msg String 错误描述。 最小长度:2 最大长度:512 状态码: 500 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:8 最大长度:36 error_msg String 错误描述。 最小长度:2 最大长度:512
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格