华为云用户手册

  • 交换IP须知 交换IP过程中,会自动停止在线迁移任务。 交换实例IP地址时,会有一分钟内只读和秒级的闪断。 创建的目标端实例端口需要与源实例端口保持一致。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在交换IP后有可能需要重启客户端应用。 源实例和目标实例不在同一子网时,交换IP地址后,会更新实例的子网信息。 如果源端是主备实例,交换IP时不会交换备节点IP,请确保应用中没有直接引用备节点IP。 如果应用中有直接引用 域名 ,请选择交换域名,否则域名会挂在源实例中。 请确保目标Redis和源Redis密码一致,否则交换IP后,客户端会出现密码验证错误。 当源实例配置了白名单时,则在进行IP交换前,保证目标实例也配置同样的白名单。
  • 前提条件 准备目标实例,如果已有目标Redis,不需要重复创建,但在迁移之前,您需要清空实例数据,清空操作请参考清空Redis实例数据。 如果没有清空,如果存在与源Redis实例相同的key,迁移后,会覆盖目标Redis实例原来的数据。 创建的目标Redis与源Redis和迁移任务资源所在VPC需在同一个VPC内。 如已有的目标Redis与源Redis的VPC不在同一个VPC内,需参考如下方式打通网络,确保迁移任务的虚拟机资源能访问源Redis和目标Redis: 当源Redis和目标Redis属于华为云同一Region,请参考VPC对等连接说明,查看和创建对等连接,打通网络。 当源Redis和目标Redis属于华为云不同Region,请参考云连接,查看和创建云连接,打通网络。 创建的目标实例端口需要与源实例保持一致。 进行实例交换IP满足的条件为: 进行实例IP交换依赖的是数据迁移功能,所以,源实例及目标实例必须支持数据迁移功能,详见D CS 支持的迁移能力。 交换IP支持的能力如下表。 表1 交换ip能力 源端 目标端 单机/主备/读写分离 单机/主备/读写分离/proxy集群 Proxy集群 单机/主备/读写分离/proxy集群
  • 前提条件 准备目标实例,如果已有目标Redis,不需要重复创建,但在迁移之前,您需要清空实例数据,清空操作请参考清空Redis实例数据。 如果没有清空,如果存在与源Redis实例相同的key,迁移后,会覆盖目标Redis实例原来的数据。 创建的目标Redis与源Redis和迁移任务资源所在VPC需在同一个VPC内。 如已有的目标Redis与源Redis的VPC不在同一个VPC内,需参考如下方式打通网络,确保迁移任务的虚拟机资源能访问源Redis和目标Redis: 当源Redis和目标Redis属于华为云同一Region,请参考VPC对等连接说明,查看和创建对等连接,打通网络。 当源Redis和目标Redis属于华为云不同Region,请参考云连接,查看和创建云连接,打通网络。 创建的目标实例端口需要与源实例保持一致。 进行实例交换IP满足的条件为: 进行实例IP交换依赖的是数据迁移功能,所以,源实例及目标实例必须支持数据迁移功能,详见DCS支持的迁移能力。 交换IP支持的能力如下表。 表1 交换ip能力 源端 目标端 单机/主备/读写分离 单机/主备/读写分离/proxy集群 Proxy集群 单机/主备/读写分离/proxy集群
  • 交换IP须知 交换IP过程中,会自动停止在线迁移任务。 交换实例IP地址时,会有一分钟内只读和秒级的闪断。 创建的目标端实例端口需要与源实例端口保持一致。 请确保您的客户端应用具备重连机制和处理异常的能力,否则在交换IP后有可能需要重启客户端应用。 源实例和目标实例不在同一子网时,交换IP地址后,会更新实例的子网信息。 如果源端是主备实例,交换IP时不会交换备节点IP,请确保应用中没有直接引用备节点IP。 如果应用中有直接引用域名,请选择交换域名,否则域名会挂在源实例中。 请确保目标Redis和源Redis密码一致,否则交换IP后,客户端会出现密码验证错误。 当源实例配置了白名单时,则在进行IP交换前,保证目标实例也配置同样的白名单。
  • 响应示例 状态码: 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 表3 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表4 响应Body参数 参数 参数类型 描述 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 更新时间 表5 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 表6 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认证机制 枚举值: SC RAM -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 表7 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 子网 表8 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 表9 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 表10 EventStreamingSink 参数 参数类型 描述 sink_fg SinkFGParameters object 函数目标参数 sink_kafka SinkKafkaParameters object kafka目标参数 name String 事件目标类型名称 枚举值: HC.FunctionGraph HC.Kafka 表11 SinkFGParameters 参数 参数类型 描述 invoke_type String 函数执行方式,同步/异步 枚举值: SYNC,ASYNC urn String 函数链接 最小长度:1 最大长度:512 agency String 租户委托 表12 SinkKafkaParameters 参数 参数类型 描述 topic String topic名称 keyTransform Array of TransForm objects key的转换规则 connectionId String 目标连接id 表13 TransForm 参数 参数类型 描述 type String 转换规则类型 枚举值: ORIGINAL CONSTANT VARIABLE value String 常量类型规则时,字段为常量内容定义; 变量类型规则时,为变量定义,内容必须为JsonObject字符串。 变量最多支持100个,且不支持嵌套结构定义; 变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符; 变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。 最大长度:1024 template String 变量类型规则时,规则内容的模板定义,支持对已定义变量的引用。 最大长度:2048 表14 rule_config 参数 参数类型 描述 transform TransForm object 转换规则 filter Object 过滤规则 表15 RunOption 参数 参数类型 描述 thread_num Integer 并发数 最小值:1 最大值:1000 batch_window BatchWindow object 批量推送 表16 BatchWindow 参数 参数类型 描述 count Integer 批量推送条数 最小值:1 最大值:10000 缺省值:1 time Integer 重试次数 最小值:0 最大值:15 缺省值:3 interval Integer 批量推送间隔,单位秒 最小值:0 最大值:15 缺省值:0 状态码: 400 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 401 表18 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 403 表19 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 404 表20 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 500 表21 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128
  • 响应示例 状态码: 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 表16 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表17 响应Body参数 参数 参数类型 描述 eventStreamingID String 事件流ID 状态码: 400 表18 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 401 表19 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 403 表20 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 404 表21 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 500 表22 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 最小长度:1 最大长度:16384 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 事件流名称,租户下唯一,由字母、数字、点、下划线和中划线组成,必须字母或数字开头 最小长度:1 最大长度:128 description 否 String 事件流描述 最大长度:255 source 是 EventStreamingSource object 事件源,一个事件流中事件源只有一个 sink 是 EventStreamingSink object 事件目标,一个事件流中只有一个 rule_config 否 rule_config object 事件规则,包括过滤规则和转换规则 option 否 RunOption object 运行时配置信息 表4 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 表5 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 表6 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 子网 表7 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 表8 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 表9 EventStreamingSink 参数 是否必选 参数类型 描述 sink_fg 否 SinkFGParameters object 函数目标参数 sink_kafka 否 SinkKafkaParameters object kafka目标参数 name 否 String 事件目标类型名称 枚举值: HC.FunctionGraph HC.Kafka 表10 SinkFGParameters 参数 是否必选 参数类型 描述 invoke_type 否 String 函数执行方式,同步/异步 枚举值: SYNC,ASYNC urn 否 String 函数链接 最小长度:1 最大长度:512 agency 否 String 租户委托 表11 SinkKafkaParameters 参数 是否必选 参数类型 描述 topic 是 String topic名称 keyTransform 否 Array of TransForm objects key的转换规则 connectionId 是 String 目标连接id 表12 TransForm 参数 是否必选 参数类型 描述 type 是 String 转换规则类型 枚举值: ORIGINAL CONSTANT VARIABLE value 否 String 常量类型规则时,字段为常量内容定义; 变量类型规则时,为变量定义,内容必须为JsonObject字符串。 变量最多支持100个,且不支持嵌套结构定义; 变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符; 变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。 最大长度:1024 template 否 String 变量类型规则时,规则内容的模板定义,支持对已定义变量的引用。 最大长度:2048 表13 rule_config 参数 是否必选 参数类型 描述 transform 否 TransForm object 转换规则 filter 否 Object 过滤规则 表14 RunOption 参数 是否必选 参数类型 描述 thread_num 是 Integer 并发数 最小值:1 最大值:1000 batch_window 否 BatchWindow object 批量推送 表15 BatchWindow 参数 是否必选 参数类型 描述 count 否 Integer 批量推送条数 最小值:1 最大值:10000 缺省值:1 time 否 Integer 重试次数 最小值:0 最大值:15 缺省值:3 interval 否 Integer 批量推送间隔,单位秒 最小值:0 最大值:15 缺省值:0
  • 响应示例 状态码: 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 表16 响应Header参数 参数 参数类型 描述 X-Request-Id String This field is the request ID number for task tracking. Format is request_uuid-timestamp-hostname. 表17 响应Body参数 参数 参数类型 描述 eventStreamingID String 事件流ID 状态码: 400 表18 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 401 表19 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 403 表20 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 404 表21 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128 状态码: 500 表22 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:1 最大长度:128 error_msg String 错误消息 最小长度:1 最大长度:512 error_details String 具体错误消息 最小长度:1 最大长度:1024 request_id String 请求处理ID 最小长度:1 最大长度:128
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 最小长度:1 最大长度:16384 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 事件流名称,租户下唯一,由字母、数字、点、下划线和中划线组成,必须字母或数字开头 最小长度:1 最大长度:128 description 否 String 事件流描述 最大长度:255 source 是 EventStreamingSource object 事件源,一个事件流中事件源只有一个 sink 是 EventStreamingSink object 事件目标,一个事件流中只有一个 rule_config 否 rule_config object 事件规则,包括过滤规则和转换规则 option 否 RunOption object 运行时配置信息 表4 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 表5 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 表6 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 子网 表7 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 表8 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 表9 EventStreamingSink 参数 是否必选 参数类型 描述 sink_fg 否 SinkFGParameters object 函数目标参数 sink_kafka 否 SinkKafkaParameters object kafka目标参数 name 否 String 事件目标类型名称 枚举值: HC.FunctionGraph HC.Kafka 表10 SinkFGParameters 参数 是否必选 参数类型 描述 invoke_type 否 String 函数执行方式,同步/异步 枚举值: SYNC,ASYNC urn 否 String 函数链接 最小长度:1 最大长度:512 agency 否 String 租户委托 表11 SinkKafkaParameters 参数 是否必选 参数类型 描述 topic 是 String topic名称 keyTransform 否 Array of TransForm objects key的转换规则 connectionId 是 String 目标连接id 表12 TransForm 参数 是否必选 参数类型 描述 type 是 String 转换规则类型 枚举值: ORIGINAL CONSTANT VARIABLE value 否 String 常量类型规则时,字段为常量内容定义; 变量类型规则时,为变量定义,内容必须为JsonObject字符串。 变量最多支持100个,且不支持嵌套结构定义; 变量名由字母、数字、点、下划线和中划线组成,必须字母或数字开头不能以HC.开头,长度不超过64个字符; 变量值表达式支持常量或JsonPath表达式,字符串长度不超过1024个字符。 最大长度:1024 template 否 String 变量类型规则时,规则内容的模板定义,支持对已定义变量的引用。 最大长度:2048 表13 rule_config 参数 是否必选 参数类型 描述 transform 否 TransForm object 转换规则 filter 否 Object 过滤规则 表14 RunOption 参数 是否必选 参数类型 描述 thread_num 是 Integer 并发数 最小值:1 最大值:1000 batch_window 否 BatchWindow object 批量推送 表15 BatchWindow 参数 是否必选 参数类型 描述 count 否 Integer 批量推送条数 最小值:1 最大值:10000 缺省值:1 time 否 Integer 重试次数 最小值:0 最大值:15 缺省值:3 interval 否 Integer 批量推送间隔,单位秒 最小值:0 最大值:15 缺省值:0
  • 响应示例 状态码: 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
  • 创建rf_admin_trust委托(可选) 进入华为云官网,打开控制台管理界面,鼠标移动至个人账号处,打开“ 统一身份认证 ”菜单。 图1 控制台管理界面 图2 统一身份认证菜单 进入“委托”菜单,搜索“rf_admin_trust”委托。 图3 委托列表 如果委托存在,则不用执行接下来的创建委托的步骤 如果委托不存在时执行接下来的步骤创建委托 单击步骤2界面中的“创建委托”按钮,在委托名称中输入“rf_admin_trust”,委托类型选择“云服务”,输入“ RFS ”,单击“下一步”。 图4 创建委托 在搜索框中输入“Tenant Administrator”权限,并勾选搜索结果,单击“下一步”。 图5 选择策略 选择“所有资源”,并单击“下一步“完成配置。 图6 设置授权范围 “委托”列表中出现“rf_admin_trust”委托则创建成功。 图7 委托列表
  • 资源和成本规划 该解决方案主要部署如下资源,不同产品的花费仅供参考,实际以收费账单为准,具体请参考华为云官网价格: 表1 资源和成本规格(按需计费) 华为云服务 配置示例 每月预估花费 对象存储服务 OBS并行文件系统 区域:华北-北京四 产品类型:并行文件系统 存储空间:数据存储(多AZ存储)0.1390元/GB/月 请求费用:所有请求类型 0.0100元/万次 默认存储类别:标准存储 桶策略:私有 流量费用: 内/公网流入流量(数据上传到OBS)免费 公网流出流量 / 00:00-08:00(闲时)0.2500元/GB 公网流出流量 / 08:00-24:00(忙时)0.5000元/GB 费用包括存储空间、请求费用、流量费用三部分,具体请参考OBS计费详情。 费用包括存储空间、请求费用、流量费用三部分,详细请参考每月账单。 MapReduce服务 MRS 按需计费:30.31元/小时 区域:华北-北京四 计费模式:按需计费 集群版本:LTS集群 集群类型:分析集群 Master节点规格:ac7.4xlarge.4|16核|64GB Master系统盘:超高IO 480GB Master数据盘:超高IO 600GB Master节点数量:2个 分析Core节点规格:ac7.4xlarge.4|16核|64GB 分析Core系统盘:超高IO | 480GB 分析Core数据盘:超高IO | 600GB 分析Core节点数量:3个 购买量:1 21819.60元 合计 21819.60元+OBS费用 表2 资源和成本规格(包年包月) 华为云服务 配置示例 每月预估花费 对象存储服务 OBS并行文件系统 区域:华北-北京四 产品类型:并行文件系统 存储空间:数据存储(多AZ存储)0.1390元/GB/月 请求费用:所有请求类型 0.0100元/万次 默认存储类别:标准存储 桶策略:私有 流量费用: 内/公网流入流量(数据上传到OBS)免费 公网流出流量 / 00:00-08:00(闲时)0.2500元/GB 公网流出流量 / 08:00-24:00(忙时)0.5000元/GB 费用包括存储空间、请求费用、流量费用三部分,具体请参考OBS计费详情。 费用包括存储空间、请求费用、流量费用三部分,详细请参考每月账单。 MapReduce服务 MRS 区域:华北-北京四 计费模式:包年包月 集群版本:LTS集群 集群类型:分析集群 Master节点规格:ac7.4xlarge.4|16核|64GB Master系统盘:超高IO 480GB Master数据盘:超高IO 600GB Master节点数量:2个 分析Core节点规格:ac7.4xlarge.4|16核|64GB 分析Core系统盘:超高IO | 480GB 分析Core数据盘:超高IO | 600GB 分析Core节点数量:3个 购买量:1 16321.60元 合计 16321.60元+OBS费用
  • 快速部署 本章节主要帮助用户快速部署该解决方案。 表1 参数填写说明 参数名称 类型 是否可选 参数解释 默认值 agency_name string 必填 委托名称,用于创建具有访问OBS权限的ECS委托。取值范围: 1-64个字符的字符串。 空 obs_bucket_name string 必填 对象存储服务 OBS并行文件系统名称,命名格式为{obs_bucket_name}-demo,用于存储数据,全局唯一。取值范围: 1-56个字符,以小写字母或数字开头,仅支持小写字母、数字、-(中划线)。禁止以中划线(-)开头。 空 登录华为云解决方案实践,选择“基于OBS配置大数据存算分离集群”解决方案。单击“一键部署”,跳转至解决方案创建堆栈界面。 图1 解决方案实施库 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数界面中,参考表1完成自定义参数填写,单击“下一步”。 图3 配置参数 (可选,如果使用华为主账号或admin用户组下的IAM子账户可不选委托)在资源设置界面中,在权限委托下拉框中选择“rf_admin_trust”委托,单击“下一步”。 图4 资源栈设置 在配置确认页面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 待执行计划状态为“创建成功,待部署”后,单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 执行计划 图8 执行计划确认 等待解决方案自动部署。部署成功后,单击“事件”,回显结果如下: 图9 资源创建成功 父主题: 实施步骤
  • 名词解释 基本概念、云服务简介、专有名词解释 弹性云服务器 ECS:是一种可随时自助获取、可弹性伸缩的云服务器,可帮助您打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。 虚拟私有云 VPC:为云服务器、云容器、云数据库等云上资源构建隔离、私密的虚拟网络环境。VPC丰富的功能帮助您灵活管理云上网络,包括创建子网、设置安全组和网络ACL、管理路由表、申请弹性公网IP和带宽等。 弹性公网IP EIP:提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。 MapReduce服务 MRS:提供Hudi、Doris、Spark、HBase、Flink、Clickhouse、Hadoop等开源大数据组件,支持湖仓一体、灵活的弹性控制能力。
  • 应用场景 该方案基于对象存储服务 OBS和MapReduce服务 MRS,帮助用户在华为云上快速搭建大数据存算分离集群。MRS是一个在华为云上部署和管理Hadoop系统的服务,通过为MRS集群绑定弹性云服务 ECS委托方式访问OBS,实现用户使用MRS集群作数据计算处理,而数据存储在OBS服务中。大数据在人们的生活中无处不在,在IoT、电子商务、金融、制造、医疗、能源和政府部门等行业均可以使用华为云MRS服务进行大数据处理。
  • 快速部署 本章节主要帮助用户快速部署“基于OBS SFS Turbo实现AI 云存储 加速”解决方案。 表1 参数说明 参数名称 类型 是否可选 参数解释 默认值 vpc_name string 必填 虚拟私有云名称,该模板使用新建VPC,不允许重名。取值范围:1-54个字符,支持英文字母、数字、_(下划线)、-(中划线)、.(点)。 ai-training-acceleration sfs_turbo_name string 必填 弹性服务文名称,取值范围:4-64字符,必须以字母开头,可以包含字母、数字、中划线和下划线,不能包含其他的特殊字符,不区分大小写。 ai-training-acceleration sfs_turbo_bandwidth string 必填 弹性文件服务带宽,取值范围:20M、40M、125M、250M、500M、1000M。 20M bucket_name string 必填 对象存储服务OBS桶名称,全局唯一,用于上传训练数据。取值范围: 3-63个字符,以小写字母或数字开头,仅支持小写字母、数字、中划线(-)、英文句号(.)。 ai-training-acceleration modelarts_name string 必填 AI开发平台 ModelArts内资源名称,作为方案内资源的后缀。取值范围: 1-24个字符,仅支持小写字母、数字、中划线(-)。 ai-training-acceleration user_id string 必填 IAM用户账户ID,用于授权给该用户使用ModelArts内资源的权限。可在统一身份认证服务-用户查看用户详情获取,如果授权给所有用户可使用all字段。 空 functiongraph_name string 必填 函数名称,用于定义创建函数,不支持重名,命名方式为{functiongraph_name}、preload-data-{functiongraph_name}、export-data-{functiongraph_name}。取值范围:2-47个字符,可包含字母、数字、_(下划线)和-(中划线),以字母开头,以字母或数字结尾。 ai-training-acceleration 登录华为云解决方案实践,选择“基于OBS SFS Turbo实现AI云存储加速”。 图1 解决方案实施库 单击“一键部署”,跳转至该解决方案创建资源栈部署界面。 图2 一键部署 单击“下一步”,参考表1完成自定义参数填写。user_id通过统一身份认证服务-用户查询IAM用户ID。 图3 查看用户ID 图4 配置参数 在配置确认页面中,单击“创建执行计划”。 图5 配置确认 单击“创建执行计划”,根据提示输入执行计划名称等,单击“确定”。 图6 创建执行计划 单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 部署执行计划 图8 执行计划确认 待出现“Apply required resource success”,表示该解决方案资源已经部署完成。 图9 执行完成 父主题: 实施步骤
    AI
  • 资源和成本规划 该解决方案主要部署如下资源,不同产品的花费仅供参考,具体请参考华为云官网价格详情,实际收费以账单为准。 表1 资源和成本规划(按需计费) 华为云服务 配置示例 每月预估花费 ModelArts 计算型CPU(16U)专属实例 按需计费:7.41元/小时 区域:华北-北京四 计费模式:按需计费 购买量:1 5335.20元 函数工作流 FunctionGraph 按需计费:1.33元/100万次(调用大于100万次) 区域:华北-北京四 计费模式:按需计费 购买量:1 函数调用次数费用 对象存储系统 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.1390元/GB/月 流量费用: 公网流出流量 / 00:00-08:00(闲时)0.2500元/GB 公网流出流量 / 08:00-24:00(忙时)0.5000元/GB 费用包括存储空间、请求费用、流量费用两部分,具体请参考OBS计费详情。 费用包括存储空间、请求费用、流量费用两部分,详细请参考每月账单。 弹性文件服务 SFS Turbo 20MB/s/TiB 按需计费:1.33元/小时 区域:华北-北京四 计费模式:按需计费 购买量:1 957.60元 合计 - 6,292.80元+OBS费用+函数调用次数费用 表2 资源和成本规划(包年包月) 华为云服务 配置示例 每月预估花费 ModelArts 计算型CPU(16U)专属实例 区域:华北-北京四 计费模式:包年包月 购买量:1 2599.09元 函数工作流 FunctionGraph 按需计费:1.33元/100万次(调用大于100万次) 区域:华北-北京四 计费模式:按需计费 购买量:1 函数调用次数费用 对象存储系统 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.1390元/GB/月 流量费用: 公网流出流量 / 00:00-08:00(闲时)0.2500元/GB 公网流出流量 / 08:00-24:00(忙时)0.5000元/GB 费用包括存储空间、请求费用、流量费用两部分,具体请参考OBS计费详情。 费用包括存储空间、请求费用、流量费用两部分,详细请参考每月账单。 弹性文件服务 SFS Turbo 20MB/s/TiB 区域:华北-北京四 计费模式:包年包月 购买量:1 884.64元 合计 - 3,483.73元+接口调用费用+函数调用次数费用
    AI
  • 名词解释 基本概念、云服务简介、专有名词解释 AI开发平台 ModelArts:是面向AI开发者的一站式开发平台,提供海量数据预处理及半自动化标注、大规模分布式训练、自动化模型生成及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。 对象存储系统 OBS:是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。 弹性文件服务 SFS Turbo:是面向企业、政府、金融等客户,提供一个基于专属计算、专属存储资源池构建的共享文件存储。租户独享专属计算和专属资源池,与公共租户资源物理隔离,满足特定性能、应用及安全合规等要求,为客户提供可靠、便捷的云上“头等舱”。 函数工作流 FunctionGraph:是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。
    AI
  • 快速卸载 进入上传文本的OBS和存放结果的OBS中,删除所有存放在里面的文件。 图1 删除文本上传的OBS中的文件 删除训练作业。 图2 删除训练作业 删除notebook。 图3 删除notebook 删除弹性集群。 图4 删除弹性集群 图5 确认删除资源池 等待弹性集群删除完成后,删除网络。 图6 删除网络 等待网络删除完成后,删除全局配置。 图7 删除全局配置 打开 资源编排 服务 RFS资源栈,找到该解决方案创建的资源栈,单击资源栈名称最右侧“删除”按钮,在弹出的“删除资源栈”提示框输入“Delete”,单击“确定”进行解决方案卸载。 图8 解决方案删除 图9 删除确认 父主题: 实施步骤
    AI
  • 配置SFS Turbo数据淘汰策略 等待SFSTurbo关联OBS成功后,进入SFS Turbo控制台,选择方案生成的SFS Turbo,配置SFS Turbo数据淘汰策略,填写数据淘汰的时间即可。 图41 选择SFS Turbo 图42 配置策略 触发数据淘汰策略需要将该数据留存到OBS中,可用数据异步留存功能实现。 如果未访问某数据达到设定时间后,SFS Turbo会自动释放设定时间内没有访问过的文件数据内容,仅保留文件元数据,数据内容释放后不占用SFS Turbo文件系统上的存储空间。 #该功能可在SFS目录下用命令创建大文件验证 truncate -s 1G test.txt #查看SFS Turbo占用空间 df -h 图43 经过设定时间后不再占用SFS Turbo空间 再次访问该文件时,将重新从OBS中加载文件数据内容。 图44 重新加载文件
    AI
  • 创建训练作业 准备数据集并上传到方案创建的OBS桶中。可在AI Gallery社区内下载数据集,以波士顿数据集为例。 图13 选择数据集 图14 下载数据集 图15 选择目标位置 图16 单击新建文件夹,创建名称为input和output的文件夹 图17 选择input文件夹作为下载路径 准备自己需要训练的算法。可在AI Gallery社区内订阅算法,以线性回归-LinearRegression为例。 图18 订阅算法 等待数据集下载完成后,即可创建训练作业。 图19 创建训练作业 图20 选择订阅的自动学习算法-预测分析 图21 设置数据输入输出位置为方案创建的OBS桶内的input和output文件夹 按照数据集内结构填写超参。本案例中,input_features_str填写内容为crim,zn,indus,chas,nox,rm,age,dis,rad,tax,ptratio,black,lstat;label_col填写内容为medv;tol参数修改默认值为0.0000000001。 图22 填写超参 图23 选择专属资源与挂载SFS Turbo 图24 等待训练作业执行 图25 训练作业已完成
    AI
  • 实现数据预热和数据异步留存功能 实现数据预热功能。每次训练前需要读取OBS中的数据时,可以使用该功能将要用的数据提前上传到SFS Turbo中。 打开函数工作流functiongraph,打开带有preload-data前缀的函数。 图29 打开对应函数 配置空白测试事件,运行函数即可触发预热功能。 图30 配置空白测试事件,单击”配置测试事件”下拉框配置测试事件,选择空白模板创建即可 图31 运行函数成功 如果函数出现下面异常回显,原因是委托暂未生效,请重试。 图32 函数运行异常 数据预热完成后,可在Notebook上查看预热到SFS Turbo上的数据。 图33 查看预热数据 实现数据异步留存功能。当SFS Turbo内产生新文件后,可以使用该功能将新文件存到OBS中。每次训练完成后都可以用该功能存储模型,降低存储成本。 在notebook中可以在SFS Turbo内创建文件,以test文件夹中的文件为例。 图34 SFS Turbo内的数据 打开函数工作流functiongraph,打开带有export-data前缀的函数。 图35 打开对应函数 本函数中默认留存的文件夹名称为output,需要改变数据留存的文件夹可以在环境变量中修改相应的值(本示例中将该值改成了test)。 图36 需要修改的环境变量 配置空白测试事件,单击”测试”运行函数即可触发数据异步留存功能。 图37 配置空白测试事件,单击”配置测试事件”下拉框配置测试事件,选择空白模板创建即可 图38 单击测试按钮运行函数 函数运行成功后,可以成功将数据留存在OBS桶内。 图39 查看异步留存数据 如需要定时触发异步留存功能,可在函数内创建定时触发器实现。 图40 查看异步留存数据 触发器的触发频率可按照训练模型的周期设定,示例中为一小时。
    AI
  • 通过函数工作流完成ModelArts与SFS Turbo的相应配置 在华为云控制台打开函数工作流 functiongraph,打开对应函数。 图1 打开对应函数 配置测试事件。单击”配置测试事件”下拉框配置测试事件,选择空白模板创建即可。 图2 配置测试事件 图3 配置测试事件成功后自动生成事件名称 运行函数,完成相关配置,函数运行过程约2分钟。 图4 运行函数 函数运行时间较长,出现如下回显为正常情况。可在日志中查看函数运行结果。 图5 函数回显 图6 查看函数运行结果 函数运行成功后,modelarts网络关联SFS Turbo,SFS Turbo绑定OBS。 图7 modelarts关联SFS Turbo成功 图8 SFS Turbo关联OBS成功
    AI
  • 创建rf_admin_trust委托(可选) 进入华为云官网,打开控制台管理界面,鼠标移动至个人账号处,打开“统一身份认证”菜单。 图1 控制台管理界面 图2 统一身份认证菜单 进入“委托”菜单,搜索“rf_admin_trust”委托。 图3 委托列表 如果委托存在,则不用执行接下来的创建委托的步骤。 如果委托不存在时执行接下来的步骤创建委托。 单击步骤2界面中的“创建委托”按钮,在委托名称中输入“rf_admin_trust”,委托类型选择“云服务”,选择“RFS”,单击“下一步”。 图4 创建委托 在搜索框中输入“Tenant Administrator”权限,并勾选搜索结果,单击“下一步”。 图5 选择策略 选择“所有资源”,并单击下一步完成配置。 图6 设置授权范围 “委托”列表中出现“rf_admin_trust”委托则创建成功。 图7 委托列表
  • 创建Entrust MA to operate SFS策略 打开“统一身份认证”菜单 图20 统一身份认证菜单 选择权限管理-权限,单击“创建自定义策略”按钮 图21 创建自定义策略 输入策略名称为“Entrust MA to operate SFS”,选择“JSON视图”,在策略内容中输入如下JSON代码,单击确认按钮 图22 创建自定义策略 { "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "sfsturbo:shares:showShareNic", "sfsturbo:shares:listShareNics", "sfsturbo:shares:addShareNic", "sfsturbo:shares:deleteShareNic" ] } ] } 界面无报错,则成功创建Entrust MA to operate SFS权限
共100000条