华为云用户手册
-
响应示例 状态码: 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权限的E CS 委托。取值范围: 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 执行完成 父主题: 实施步骤
-
资源和成本规划 该解决方案主要部署如下资源,不同产品的花费仅供参考,具体请参考华为云官网价格详情,实际收费以账单为准。 表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开发平台 ModelArts:是面向AI开发者的一站式开发平台,提供海量数据预处理及半自动化标注、大规模分布式训练、自动化模型生成及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。 对象存储系统 OBS:是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。 弹性文件服务 SFS Turbo:是面向企业、政府、金融等客户,提供一个基于专属计算、专属存储资源池构建的共享文件存储。租户独享专属计算和专属资源池,与公共租户资源物理隔离,满足特定性能、应用及安全合规等要求,为客户提供可靠、便捷的云上“头等舱”。 函数工作流 FunctionGraph:是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。
-
快速卸载 进入上传文本的OBS和存放结果的OBS中,删除所有存放在里面的文件。 图1 删除文本上传的OBS中的文件 删除训练作业。 图2 删除训练作业 删除notebook。 图3 删除notebook 删除弹性集群。 图4 删除弹性集群 图5 确认删除资源池 等待弹性集群删除完成后,删除网络。 图6 删除网络 等待网络删除完成后,删除全局配置。 图7 删除全局配置 打开 资源编排 服务 RFS资源栈,找到该解决方案创建的资源栈,单击资源栈名称最右侧“删除”按钮,在弹出的“删除资源栈”提示框输入“Delete”,单击“确定”进行解决方案卸载。 图8 解决方案删除 图9 删除确认 父主题: 实施步骤
-
配置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 重新加载文件
-
创建训练作业 准备数据集并上传到方案创建的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 训练作业已完成
-
实现数据预热和数据异步留存功能 实现数据预热功能。每次训练前需要读取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 查看异步留存数据 触发器的触发频率可按照训练模型的周期设定,示例中为一小时。
-
通过函数工作流完成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成功
-
创建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权限
-
给rf_admin_trust委托添加IAM Agency Management FullAccess权限(可选) 打开“统一身份认证”菜单 图15 统一身份认证菜单 进入“委托”菜单,选择rf_admin_trust委托 图16 委托列表 进入“授权记录”菜单,单击“授权”按钮 图17 授权记录 在搜索框输入IAM Agency Management FullAccess,勾选过滤出来的记录,单击下一步,并确认完成权限的配置 图18 配置IAM Agency Management FullAccess策略 配置好后的情况:rf_admin_trust委托拥有Tenant Administrator和IAM Agency Management FullAccess权限 图19 授权记录列表
-
注意事项 可开票产品包括 华为云产品 和在云商店购买的联营商品、华为商品。 自2024年4月中旬开始,增值税专用发票将支持数电发票。当客户签约主体为 华为云计算 技术有限公司时,增值税专用发票支持开具数电发票和纸质票。当客户签约主体不是华为云计算技术有限公司时,增值税专用发票不支持电子票,仅支持纸质票。 代金券消费不纳入可开票金额。 购买储值卡可以开票,但是储值卡消费不纳入可开票金额。 开票金额小于10元,且发票介质为纸质票时,客户自行承担快递费用。 一张发票只能有一个税率。当开具发票的产品税率有多个时,系统会自动生成多张发票。 客户申请合作伙伴代支付时,客户可以直接在费用中心开具发票,开具增值税发票后,不能进行退订操作。 按账期索取发票时,如果该账期为欠费状态,则需要还清欠款后才能进行开票操作。 后付费客户仅支持根据已生成的消费账单进行开票(每个月3号生成上个月的消费账单)。 代售类子客户请联系您关联的合作伙伴索取发票。 企业主客户代企业子客户开票,企业主客户和企业子客户关联关系为同一法人时,企业主客户代企业子客户开具的发票可以选择企业主客户创建的发票模板。 抬头类型为企业时,才可以开具增值税专用发票。
-
发票状态说明 待审核:等待发票专员审核,1个工作日可完成审核。“待审核”状态发票可撤销。 已驳回:发票审核时被驳回,可在发票列表中查看驳回原因,客户也会收到驳回通知。 开票中:正在开具发票。电子票一般实时开具。纸质票需要1-3个工作日,该状态下的纸质票可以申请撤销。 撤销中:纸质票为“开票中”时发起撤销申请,需要发票专员审核,1-3个工作日可完成撤销。 开票中(撤销失败):客户发起的撤销申请被驳回,会导致发票撤销失败。客户可以在发票列表中查看撤销失败原因,也会收到撤销失败的通知。 已撤销:发票申请已经撤销成功,客户可以重新申请开票。 待签收:纸质票已经邮寄给客户(具体邮寄时长以物流信息为准),客户收到发票后需要进行签收。 已开票:发票已开具完成。“已开票”状态的电子票可以进行下载,也可以申请退票;“已开票”状态的纸质票表示客户已经签收成功,该状态下可以申请退票。 已开票(退票中):客户发起退票,退票处理中。纸质票需要1-3个工作日。电子票一般实时开具。 已开票(退票驳回):客户发起的退票被驳回,可以在发票列表中查看驳回原因。 已退票:退票已完成。
-
按需资源欠费通知机制 按需资源欠费后,如果没有及时充值,资源将进入宽限期、保留期,直至被释放。这期间系统会通过邮件、短信等方式发送提醒通知,通知机制如下。 表2 按需资源欠费通知机制 客户等级 通知场景 通知机制 V0 资源欠费 到达结算周期时,资源变更为欠费状态,华为云会实时发送通知提醒。 系统每隔1小时发送一次欠费提醒,如果连续发送三次后您仍未缴清欠款,系统将不再发送通知。 资源释放前 资源释放前1天发送提醒通知。 V1、V2 资源欠费 到达结算周期时,资源变更为欠费状态,华为云会实时发送通知提醒。 系统每隔1小时发送一次欠费提醒,如果连续发送三次后您仍未缴清欠款,系统将不再发送通知。 资源释放前 资源释放前1天、3天、7天发送提醒通知。 V3 资源欠费 到达结算周期时,资源变更为欠费状态,华为云会实时发送通知提醒。 系统每隔1小时发送一次欠费提醒,如果连续发送三次后您仍未缴清欠款,系统将不再发送通知。 资源冻结前 资源冻结前1天发送提醒通知。 资源释放前 资源释放前1天、3天、7天发送提醒通知。 V4、V5 资源欠费 到达结算周期时,资源变更为欠费状态,华为云会实时发送通知提醒。 系统每隔1小时发送一次欠费提醒,如果连续发送三次后您仍未缴清欠款,系统将不再发送通知。 资源冻结前 资源冻结前1天、2天、3天发送提醒通知。 资源释放前 资源释放前1天、3天、7天、15发送提醒通知。
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- ...
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章