云服务器内容精选

  • 组件说明 函数流提供多种类型的组件,用户可以通过拖拽组件、配置组件和连接组件进行可视化编排,实现函数任务流的编排。使用函数流功能,请先了解表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个后继节点,后继节点类型不能为开始节点,结束节点和异常处理节点。 否 结束节点 后面不能接任何节点。 否
  • 响应示例 状态码: 201 OK { "created_at" : "2022-11-01T21:36:04.264564372+08:00", "name" : "execution-065", "execution_id" : "46c682b6-0310-4774-9c8e-62d7fb7e0b55", "description" : "", "workspace_id" : "0", "workflow_id" : "f1642618-43eb-4ab1-a0b1-9cc584182c60", "workflow_name" : "workflow_model_service_no_modify_xiahou_copy", "steps_execution" : null, "duration" : 0, "data_requirements" : [ { "name" : "model_input", "type" : "obs", "conditions" : [ { "attribute" : "object_type", "operator" : "equal", "value" : "directory" } ], "value" : { "object_type" : [ "DIRECTORY" ], "obs_url" : "/test-crq/train_output/" }, "used_steps" : [ "model_step" ] }, { "name" : "service_model", "type" : "model_list", "delay" : true, "conditions" : [ { "attribute" : "model_name", "operator" : "equal", "value" : "lh-xh" } ], "used_steps" : [ "service_step" ] } ], "parameters" : [ { "name" : "schedule_d5sm", "type" : "int", "format" : "schedule", "description" : "Set how long the deployed service will stop in hours, where -1 means the service will always run", "delay" : true, "used_steps" : [ "service_step" ] } ], "policies" : { } }
  • 响应参数 状态码: 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
  • 创建EG触发器 返回函数工作流控制台,进入“函数流”页面。 在“函数流”流程列表页面,选择需要创建触发器的流程,单击“编辑”,进入编辑页面。 单击“开始”节点,在右侧弹出的属性页面添加触发器,触发器类型选择“EG触发器”。 创建成功后“workflow_test”事件通道接收到来自事件源“workflow_test_1”的事件时,会触发此函数流执行。 填写触发器配置信息。如表4所示,带*参数为必填项。 表4 定时触发器配置信息 配置项 说明 *提供方 EG事件源提供方,支持华为云服务事件源和自定义事件源。 *事件通道 事件通道负责接收来自事件源的事件来出发函数流执行。 *事件源 事件源是事件的来源,负责将华为云服务、自定义应用等应用程序生产的事件发布到事件网格。 事件类型 可以指定事件类型进行过滤,满足事件类型才会触发函数流执行。 单击“创建”,完成定时触发器创建。
  • 创建定时触发器 登录FunctionGraph控制台,进入“函数流”页面。 在“函数流”流程列表页面,选择需要创建触发器的流程,单击“编辑”,进入编辑页面。 单击“开始”节点,在右侧弹出的属性页面添加触发器,触发器类型选择“定时触发器”。 填写触发器配置信息。如表1所示,带*参数为必填项。 表1 定时触发器配置信息 配置项 说明 *触发规则 定时触发器的触发规则,当前只支持Cron表达式 *Cron表达式 用于表示任务调度的表达式,能够表示特定周期进行的特定的时间、日期等。具体请参见函数定时触发器Cron表达式规则。 附加信息 附加信息为json格式,输入必须包含input,在input内输入需要的json体。input的内容会作为流程的输入参数。 单击“创建”,完成定时触发器创建。
  • 响应示例 状态码: 400 { "error_code" : "EG.00014000", "error_msg" : "Bad request" } 状态码: 401 { "error_code" : "EG.00014010", "error_msg" : "Incorrect token or token resolution failed" } 状态码: 403 { "error_code" : "EG.00014030", "error_msg" : "No permissions to request this method" } 状态码: 404 { "error_code" : "EG.00014040", "error_msg" : "Not request resource found" } 状态码: 500 { "error_code" : "EG.00015000", "error_msg" : "Internal Server Error" }
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表5 响应Body参数 参数 参数类型 描述 total Integer 总数 size Integer 本页数量 items Array of EventStreamingDetail objects 对象列表 数组长度:0 - 100 表6 EventStreamingDetail 参数 参数类型 描述 name String 事件流名称,租户下唯一,由字母、数字、点、下划线和中划线组成,必须字母或数字开头 最小长度:1 最大长度:128 description String 事件流描述 最大长度:255 source EventStreamingSource object 事件源,一个事件流中事件源只有一个 sink EventStreamingSink object 事件目标,一个事件流中只有一个 rule_config rule_config object 事件规则,包括过滤规则和转换规则 option RunOption object 运行时配置信息 status String 事件流状态 最小长度:1 最大长度:128 枚举值: CREATED RUNNING ERROR STOPPED id String 事件流ID created_time String 创建时间 updated_time String 更新时间 表7 EventStreamingSource 参数 参数类型 描述 source_kafka SourceKafkaMQParameters object 华为云DMS版kafka类型事件源 source_mobile_rocketmq SourceMobileMQParameters object 移动云版rocketMQ类型事件源 source_community_rocketmq SourceCommunityMQParameters object 社区版rocketMQ类型事件源 source_dms_rocketmq SourceDMSMQParameters object 华为云DMS版rocketMQ事件源 name String 事件源类型名称 枚举值: HC.Kafka HC.COMMUNITY_ROCKETMQ HC.DMS_ROCKETMQ HC.MOBILE_ROCKETMQ 表8 SourceKafkaMQParameters 参数 参数类型 描述 addr String kafka连接地址 group String kafka消费组 最小长度:1 最大长度:256 instance_name String kafka实例名称 最小长度:4 最大长度:64 security_protocol String 安全协议 instance_id String kafka实例ID 最小长度:1 最大长度:256 topic String kafka topic名称 最小长度:3 最大长度:200 seek_to String 消费点位 枚举值: latest earliest enable_sasl_ssl Boolean SASL_SSL是否开启 sasl_mechanism String SASL认证机制 枚举值: SCRAM-SHA-512 PLAIN ssl_certificate_url String SASL证书地址,配置的obs地址 最小长度:1 最大长度:512 ssl_certificate_pwd String SASL证书密码 最小长度:1 最大长度:256 user_name String 用户名 最小长度:1 最大长度:256 password String 用户密码 最小长度:1 最大长度:256 表9 SourceMobileMQParameters 参数 参数类型 描述 group_id String 消费组id 最小长度:3 最大长度:128 instance_id String 实例id 最小长度:3 最大长度:128 topic String topic 最小长度:3 最大长度:128 tag String 标签 最大长度:128 authentication_required Boolean 鉴权认证 msg_trace_switch Boolean 保存消息轨迹 access_key String AccessKey 最大长度:128 secret_key String SecretKey 最大长度:128 message_model String 订阅方式 缺省值:CLUSTERING 枚举值: CLUSTERING BROADCASTING addr_type String 接入点类型 缺省值:PUBLIC 枚举值: PUBLIC PRIVATE addr String 地址 最大长度:256 sdk_url String 依赖SDK 最大长度:256 consume_timeout Integer 消费超时时间 最小值:1000 最大值:900000 缺省值:30000 message_type String 消息类型 枚举值: NORMAL suspend_time Integer 失败重试的等待时间 最小值:10 最大值:1800 缺省值:1800 max_reconsumer_times Integer 最大重试次数 最小值:1 最大值:16 缺省值:3 consumer_thread_nums Integer 消费线程数 最小值:20 最大值:64 缺省值:20 consumer_batch_max_size Integer 批量消费最大消息数 最小值:1 最大值:1024 缺省值:20 consumer_max_wait Integer 批量消费最大等待时长,单位:秒 最小值:0 最大值:450 缺省值:5 vpc_id String 虚拟私有云 subnet_id String 子网 表10 SourceCommunityMQParameters 参数 参数类型 描述 instance_name String 实例名称,仅dms的rockectMq需要该字段 最大长度:128 instance_id String 实例ID,仅dms的rockectMq需要该字段 最大长度:128 addr String rockectMq连接地址 group String 消费组 最小长度:3 最大长度:64 topic String topic名称 最小长度:3 最大长度:64 tag String 标签 最大长度:128 vpc_id String 虚拟云id 最大长度:256 subnet_id String 子网id 最大长度:256 ssl_enable Boolean 开启SSL enable_acl Boolean ACL访问控制 access_key String 用户名 最大长度:128 secret_key String 密码 message_type String 消息类型 枚举值: normal consume_timeout Integer 消费超时时间 最小值:1000 最大值:900000 缺省值:30000 consumer_thread_nums Integer 线程消费数 最小值:20 最大值:64 缺省值:20 consumer_batch_max_size Integer 批量消费最大消息数 最小值:1 最大值:32 缺省值:1 表11 SourceDMSMQParameters 参数 参数类型 描述 instance_name String 实例名称,仅dms的rockectMq需要该字段 最大长度:128 instance_id String 实例ID,仅dms的rockectMq需要该字段 最大长度:128 group String 消费组 最小长度:3 最大长度:64 topic String topic名称 最小长度:3 最大长度:64 tag String 标签 最大长度:128 ssl_enable Boolean 开启SSL enable_acl Boolean ACL访问控制 access_key String 用户名 最大长度:128 secret_key String 密码 message_type String 消费方式,针对不同生产顺序消息类型,选择消费方式会导致不同结果,请严格按照需求选择消费方式。1、生产顺序为:设置消息组,保证消息顺序发送。消费方式为:顺序消费,实际消息处理结果:按照消息组粒度,严格保证消息顺序。 同一消息组内的消息的消费顺序和发送顺序完全一致。2、生产顺序为:设置消息组,保证消息顺序发送。消费方式为:并发消费,实际消息处理结果:并发消费,尽可能按时间顺序处理。3、生产顺序为:未设置消息组,消息乱序发送。消费方式为:顺序消费,实际消息处理结果:按队列存储粒度,严格顺序。 基于 Apache RocketMQ 本身队列的属性,消费顺序和队列存储的顺序一致,但不保证和发送顺序一致。4、生产顺序为:未设置消息组,消息乱序发送。消费方式为:并发消费,实际消息处理结果:并发消费,尽可能按照时间顺序处理。 枚举值: NORMAL ORDER engine_version String mq实例版本 枚举值: 4.x 5.x consume_timeout Integer 消费超时时间 最小值:1000 最大值:900000 缺省值:30000 consumer_thread_nums Integer 线程消费数 最小值:20 最大值:64 缺省值:20 consumer_batch_max_size Integer 批量消费最大消息数 最小值:1 最大值:32 缺省值:1 表12 EventStreamingSink 参数 参数类型 描述 sink_fg SinkFGParameters object 函数目标参数 sink_kafka SinkKafkaParameters object kafka目标参数 name String 事件目标类型名称 枚举值: HC.FunctionGraph HC.Kafka 表13 SinkFGParameters 参数 参数类型 描述 invoke_type String 函数执行方式,同步/异步 枚举值: SYNC,ASYNC urn String 函数链接 最小长度:1 最大长度:512 agency String 租户委托 表14 SinkKafkaParameters 参数 参数类型 描述 topic String topic名称 keyTransform Array of TransForm objects key的转换规则 connectionId String 目标连接id 表15 TransForm 参数 参数类型 描述 type String 转换规则类型 枚举值: ORIGINAL CONSTANT VARIABLE value String 常量类型规则时,字段为常量内容定义; 变量类型规则时,为变量定义,内容必须为JsonObject字符串。 变量最多支持100个,且不支持嵌套结构定义; 变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符; 变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。 最大长度:1024 template String 变量类型规则时,规则内容的模板定义,支持对已定义变量的引用。 最大长度:2048 表16 rule_config 参数 参数类型 描述 transform TransForm object 转换规则 filter Object 过滤规则 表17 RunOption 参数 参数类型 描述 thread_num Integer 并发数 最小值:1 最大值:1000 batch_window BatchWindow object 批量推送 表18 BatchWindow 参数 参数类型 描述 count Integer 批量推送条数 最小值:1 最大值:10000 缺省值:1 time Integer 重试次数 最小值:0 最大值:15 缺省值:3 interval Integer 批量推送间隔,单位秒 最小值:0 最大值:15 缺省值:0 状态码: 400 表19 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 401 表20 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 403 表21 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 404 表22 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 500 表23 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128
  • URI GET /v1/{project_id}/eventstreamings 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量,表示从此偏移量开始查询,偏移量不能小于0 最小值:0 最大值:100 缺省值:0 limit 否 Integer 每页显示的条目数量,不能小于1或大于1000 最小值:1 最大值:1000 缺省值:15
  • 返回结果 表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时为空。该值根据调用接口的不同而不同,参见“桶相关接口”章节和“对象相关接口”章节的详细描述。 默认取值: 无
  • 响应示例 状态码: 200 请求响应成功。 { "log_streams" : [ { "creation_time" : 1630549842955, "log_stream_name" : "lts-stream-02kh", "log_stream_id" : "c54dbc58-0fd8-48ed-b007-6d54981427a7", "filter_count" : 0 } ] } 状态码: 401 AuthFailed。鉴权失败, 请确认token后再次请求 。 { "error_code" : "LTS.0003", "error_msg" : "Invalid token" } 状态码: 403 Forbidden。请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 { "error_code" : "LTS.0001", "error_msg" : "Invalid projectId" } 状态码: 500 InternalServerError。 表明服务端能被请求访问到,但是服务内部出错。 { "error_code" : "LTS.0010", "error_msg" : "The system encountered an internal error" }
  • 状态码 状态码 描述 200 请求响应成功。 401 AuthFailed。鉴权失败, 请确认token后再次请求 。 403 Forbidden。请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 500 InternalServerError。 表明服务端能被请求访问到,但是服务内部出错。
  • URI GET /v2/{project_id}/groups/{log_group_id}/streams 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,账号ID,日志组ID、日志流ID,获取方式请参见:获取项目ID,获取账号ID,日志组ID、日志流ID 缺省值:None 最小长度:32 最大长度:32 log_group_id 是 String 租户想查询的日志流所在的日志组的groupid,一般为36位字符串。 缺省值:None 最小长度:36 最大长度:36
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 从IAM服务获取的用户Token,获取方式请参见:获取用户Token 缺省值:None 最小长度:1000 最大长度:2000 Content-Type 是 String 该字段填为:application/json;charset=UTF-8。 缺省值:None 最小长度:30 最大长度:30