华为云用户手册

  • 响应示例 实例列表: { "instances": [ { "id": "b331ed66cc3249f78bc20737308c01f4in14", "status": "ACTIVE", "name": "gauss-9e88", "port": 8000, "type": "Enterprise", "ha": { "consistency": "strong", "replication_mode": "sync" }, "region": "eu-de", "region": "aaa", "datastore": { "type": "GaussDB", "version": "1.3" }, "created": "2021-01-15 01:46:40 UTC", "updated": "2021-01-15 02:05:03 UTC", "volume": { "type": "ULTRAHIGH", "size": 120 }, "nodes": [ { "id": "02ebf757aaf94074855f49cc6e0e4712no14", "name": "gauss-9e88_gaussdbv5cn_2", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz", "private_ip": "192.168.16.253" }, { "id": "0a87b8ecbfeb46aba1409cfc0f0d5c34no14", "name": "gauss-9e88_gaussdbv5cn_0", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz", "private_ip": "192.168.28.81" }, { "id": "2d9fec1ab3834936b074d63acf48b1f2no14", "name": "gauss-9e88_gaussdbv5dn3_2", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "48bb08a2d635435891ac0caa1c0bf2e3no14", "name": "gauss-9e88_gaussdbv5dn1_0", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "5df830f652204827ada32f8bc28b107eno14", "name": "gauss-9e88_gaussdbv5dn1_1", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "8a97a246cee841b38c5b47290d4c9c38no14", "name": "gauss-9e88_gaussdbv5cn_1", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz", "private_ip": "192.168.27.52" }, { "id": "8c1a3f8eecca4d9e9974a868bb6dd942no14", "name": "gauss-9e88_gaussdbv5dn2_0", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "9bd0c80b8a684cc9bd7d99dd5adffb07no14", "name": "gauss-9e88_gaussdbv5dn3_1", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "9e2a3cd541e249d4af5aa57c5d3a7f39no14", "name": "gauss-9e88_gaussdbv5dn1_2", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "b046d28989ec4ae5a1a9ab20fe65f248no14", "name": "gauss-9e88_gaussdbv5dn2_2", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "b614cc12fd3742dbb230245f88a7bf00no14", "name": "gauss-9e88_gaussdbv5dn3_0", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "caba8e88c3c84ae58202f1f589490611no14", "name": "gauss-9e88_gaussdbv5dn2_1", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" } ], "private_ips": [ "192.168.16.253 / 192.168.28.81 / 192.168.27.52" ], "replica_num": 3, "db_user_name": "root", "vpc_id": "5f84a5c4-2f93-41de-8359-d7acedb585cc", "subnet_id": "300036af-a92f-4e9e-8e9f-7d20e7878b05", "security_group_id": "2dcfd40a-8f32-46b8-8a47-6cfab5eba163", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.large.8.in", "flavor_info": { "vcpu": 2, "mem": 16 }, "switch_strategy": "Reliability", "charge_info": { "charge_mode": "prePaid" }, "backup_strategy": { "start_time": "19:00-20:00", "keep_days": 7 }, "maintenance_window": "18:00-22:00", "disk_encryption_id": "24ae42b5-4009-4ea2-b66a-0b211e424dab", "enterprise_project_id": "6e76681b-a2f5-4c5f-97c5-ba4fd3c0dfb2", "time_zone": "UTC+08:00", "instance_mode":"enterprise" }, { "id": "226b4afcfcc84c86bf1b9cb345d3b00fin14", "status": "ACTIVE", "name": "UTS-gauss-ad53-2C3D", "port": 8000, "type": "Enterprise", "ha": { "consistency": "strong", "replication_mode": "sync" }, "region": "cn-xianhz-1", "datastore": { "type": "GaussDB", "version": "1.3" }, "created": "2021-01-08 09:18:27 UTC", "updated": "2021-01-14 13:25:03 UTC", "volume": { "type": "ULTRAHIGH", "size": 120 }, "nodes": [ { "id": "07538a1def584cee99e2a5685eeab36ano14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5dn3_1", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "21f41baba1e2454f82331b7cb5aeabe5no14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5dn1_2", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "2909771a3b3e4e3998f9388e77d22391no14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5dn1_0", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "2bd9a90a5da242a6b0743a7f597f6106no14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5dn2_2", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "77092f1dadb74d3ea13d28269cdd3590no14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5dn3_2", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "a46bfaa6d5a24355a60fce7432b964cano14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5dn3_0", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "aa5277736f3844e2a7adeb9de529e2b1no14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5dn2_1", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "b1d798e4ea7344dfa95032984bc6cfd7no14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5cn_1", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz", "private_ip": "192.168.29.231" }, { "id": "b9a46540186f4c0781eabaa2a79594cbno14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5dn1_1", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "d283813030364060ab64371d50294977no14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5dn2_0", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "eb7bce29b2284cd290405eaddc1b1a1eno14", "name": "UTS-gauss-ad53-2C3D_gaussdbv5cn_0", "role": "master", "status": "FAILED", "availability_zone": "az2xahz", "private_ip": "192.168.30.44", "public_ip": "10.154.217.248" } ], "private_ips": [ "192.168.29.231 / 192.168.30.44" ], "public_ips": [ "10.154.217.248" ], "replica_num": 3, "db_user_name": "root", "vpc_id": "5f84a5c4-2f93-41de-8359-d7acedb585cc", "subnet_id": "300036af-a92f-4e9e-8e9f-7d20e7878b05", "security_group_id": "2dcfd40a-8f32-46b8-8a47-6cfab5eba163", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.large.8.in", "flavor_info": { "vcpu": 2, "mem": 16 }, "switch_strategy": "Reliability", "charge_info": { "charge_mode": "prePaid" }, "backup_strategy": { "start_time": "18:00-19:00", "keep_days": 7 }, "maintenance_window": "18:00-22:00", "enterprise_project_id": "0", "time_zone": "UTC+08:00", "instance_mode":"enterprise" }, { "id": "706c65c3dd7d497ab16f5b3a113690abin14", "status": "ACTIVE", "name": "UTS-gauss-7362", "port": 8000, "type": "Enterprise", "ha": { "consistency": "strong", "replication_mode": "sync" }, "region": "cn-xianhz-1", "datastore": { "type": "GaussDB", "version": "1.2" }, "created": "2020-12-23 03:21:41 UTC", "updated": "2021-01-15 02:32:13 UTC", "volume": { "type": "ULTRAHIGH", "size": 80 }, "nodes": [ { "id": "25b7f16ee4084b7884d52f1bdfab4e68no14", "name": "UTS-gauss-7362_gaussdbv5dn1_2", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "ad6f02f31744422fa8ce487e81c9e7afno14", "name": "UTS-gauss-7362_gaussdbv5cn_0", "role": "master", "status": "ACTIVE", "availability_zone": "az2xahz", "private_ip": "192.168.26.70" }, { "id": "b30c56582bf44a548e3bb5b5af6c4773no14", "name": "UTS-gauss-7362_gaussdbv5dn1_1", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" }, { "id": "f79ea0600cba42b2888bd9bd67e52a79no14", "name": "UTS-gauss-7362_gaussdbv5dn1_0", "role": "slave", "status": "ACTIVE", "availability_zone": "az2xahz" } ], "private_ips": [ "192.168.26.70" ], "db_user_name": "root", "vpc_id": "5f84a5c4-2f93-41de-8359-d7acedb585cc", "subnet_id": "300036af-a92f-4e9e-8e9f-7d20e7878b05", "security_group_id": "2dcfd40a-8f32-46b8-8a47-6cfab5eba163", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.large.8.in", "flavor_info": { "vcpu": 2, "mem": 16 }, "switch_strategy": "Reliability", "charge_info": { "charge_mode": "postPaid" }, "backup_strategy": { "start_time": "16:00-17:00", "keep_days": 7 }, "maintenance_window": "18:00-22:00", "enterprise_project_id": "0", "time_zone": "UTC+08:00", "instance_mode":"enterprise" }, { "id": "4ad42d079a3948d88c28d6236211b21ein14", "status": "ACTIVE", "name": "UTS-gauss-4336", "port": 8000, "type": "Enterprise", "ha": { "consistency": "strong", "replication_mode": "sync" }, "region": "cn-xianhz-1", "datastore": { "type": "GaussDB", "version": "1.2" }, "created": "2020-12-03 14:28:53 UTC", "updated": "2021-01-14 13:20:10 UTC", "volume": { "type": "ULTRAHIGH", "size": 40 }, "nodes": [ { "id": "254dbda6f03643519ad64b39481bd11cno14", "name": "UTS-gauss-4336_gaussdbv5dn1_2", "role": "master", "status": "ACTIVE", "availability_zone": "az1xahz" }, { "id": "6ad76d4db26443c2a93b280739a31558no14", "name": "UTS-gauss-4336_gaussdbv5dn1_1", "role": "slave", "status": "ACTIVE", "availability_zone": "az1xahz" }, { "id": "9fdebf821bdf444a8689b19c0ff588ceno14", "name": "UTS-gauss-4336_gaussdbv5cn_0", "role": "master", "status": "FAILED", "availability_zone": "az1xahz", "private_ip": "192.168.30.93" }, { "id": "dd64bdbc02a542d88823b1582f772d25no14", "name": "UTS-gauss-4336_gaussdbv5cn_1", "role": "master", "status": "ACTIVE", "availability_zone": "az1xahz", "private_ip": "192.168.29.232" }, { "id": "de3c41461045466faf6c2b96eb709540no14", "name": "UTS-gauss-4336_gaussdbv5dn1_0", "role": "slave", "status": "ACTIVE", "availability_zone": "az1xahz" } ], "private_ips": [ "192.168.30.93 / 192.168.29.232" ], "db_user_name": "root", "vpc_id": "5f84a5c4-2f93-41de-8359-d7acedb585cc", "subnet_id": "300036af-a92f-4e9e-8e9f-7d20e7878b05", "security_group_id": "2dcfd40a-8f32-46b8-8a47-6cfab5eba163", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.large.8.in", "flavor_info": { "vcpu": 2, "mem": 16 }, "switch_strategy": "Reliability", "charge_info": { "charge_mode": "postPaid" }, "backup_strategy": { "start_time": "18:00-19:00", "keep_days": 7 }, "maintenance_window": "18:00-22:00", "enterprise_project_id": "0", "time_zone": "UTC+08:00", "instance_mode":"enterprise" } ], "total_count": 4 } 实例详情: { "instances": [ { "id": "706c65c3dd7d497ab16f5b3a113690abin14", "status": "ACTIVE", "name": "UTS-gauss-7362", "port": 8000, "type": "Enterprise", "ha": { "consistency": "strong", "replication_mode": "sync" }, "region": "aaa", "datastore": { "type": "GaussDB", "version": "1.4" }, "created": "2020-12-23 03:21:41 UTC", "updated": "2021-01-15 02:32:13 UTC", "volume": { "type": "ULTRAHIGH", "size": 80 }, "nodes": [ { "id": "25b7f16ee4084b7884d52f1bdfab4e68no14", "name": "UTS-gauss-7362_gaussdbv5dn1_2", "role": "master", "status": "ACTIVE", "region": "bbb", }, { "id": "ad6f02f31744422fa8ce487e81c9e7afno14", "name": "UTS-gauss-7362_gaussdbv5cn_0", "role": "master", "status": "ACTIVE", "region": "bbb", "private_ip": "192.168.26.70" }, { "id": "b30c56582bf44a548e3bb5b5af6c4773no14", "name": "UTS-gauss-7362_gaussdbv5dn1_1", "role": "slave", "status": "ACTIVE", "region": "bbb", }, { "id": "f79ea0600cba42b2888bd9bd67e52a79no14", "name": "UTS-gauss-7362_gaussdbv5dn1_0", "role": "slave", "status": "ACTIVE", "region": "bbb", } ], "private_ips": [ "192.168.26.70" ], "db_user_name": "root", "vpc_id": "5f84a5c4-2f93-41de-8359-d7acedb585cc", "subnet_id": "300036af-a92f-4e9e-8e9f-7d20e7878b05", "security_group_id": "2dcfd40a-8f32-46b8-8a47-6cfab5eba163", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "flavor_info": { "vcpu": 8, "mem": 64 }, "switch_strategy": "Reliability", "charge_info": { "charge_mode": "postPaid" }, "backup_strategy": { "start_time": "16:00-17:00", "keep_days": 7 }, "maintenance_window": "18:00-22:00", "enterprise_project_id": "0", "time_zone": "UTC+08:00", "instance_mode":"enterprise" } ], "total_count": 1 }
  • 请求示例 查询所有实例列表 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/97b026aa9cc4417888c14c84a1ad9860/instances 根据指定条件查询实例列表 https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/97b026aa9cc4417888c14c84a1ad9860/instances?id=ed7cc6166ec24360a5ed5c5c9c2ed726in14&name=hy&type=Enterprise&datastore_type=GaussDB&vpc_id=19e5d45d-70fd-4a91-87e9-b27e71c9891f&subnet_id=bd51fb45-2dcb-4296-8783-8623bfe89bb7&offset=0&limit=10
  • 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID,“name”即为项目名称。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "project_name", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 请求示例 POST https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/instances/d8e6ca5a624745bcb546a227aa3ae1cfin14/db-startup { "node_ids": [ "a4e6ca5a624745bcb546a227aa373kcfin14","b6e6ca5a624745bcb546a229si3ae1cfin14"] }
  • 响应示例 获取指定实例的参数成功。 { "created": "2022-04-11 10:46:59", "updated": "2022-04-11 10:46:59", "datastore_version": "2.0", "datastore_name": "GaussDB", "configuration_parameters": [ { "name": "audit_system_object", "value": "12295", "type": "integer", "description": "Determines whether to audit the CREATE, DROP, and ALTER operations on GaussDB Kernel database objects. GaussDB Kernel database objects include databases, users, schemas, and tables. You can change the parameter value to audit only the operations on required database objects. During a forcible primary/standby failover, set audit_system_object to the maximum value and audit all DDL objects. If the parameter value is incorrectly changed, DDL audit logs will be lost. Contact customer service personnel to change it.", "restart_required": false, "value_range": "0-2097151" } ] }
  • 响应参数 表2 参数说明 参数 参数类型 描述 datastore_version String 引擎版本。 datastore_name String 引擎名称。 created String 创建时间,格式为"yyyy-MM-dd HH:mm:ss"。 updated String 更新时间,格式为"yyyy-MM-ddHH:mm:ss"。 configuration_parameters Array of objects 参数对象,用户基于默认参数模板自定义的参数配置,具体请参考表3。 表3 configuration_parameters字段数据结构说明 参数 参数类型 描述 name String 参数名称。 value String 参数值。 restart_required Boolean 修改该参数是否需要重启实例。 value_range String 参数取值范围。 type String 参数类型,取值为“string”、“integer”、“boolean”、“list”或“float”之一。 枚举值: string integer boolean list float description String 参数描述。
  • 支持的授权项 策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作与API相对应,授权项列表说明如下: 权限:允许或拒绝某项操作。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 “√”表示支持,“x”表示暂不支持。
  • 响应示例 查询协调节点列表成功。 { "instance_id" : "cc6fd964d93f4003851dfc29d57d30a5in14", "max_reduction_num" : 10, "nodes" : [ { "id" : "25b7f16ee4084b7884d52f1bdfab4e68no14", "name" : "UTS-gauss-7362_gaussdbv5cn_0", "status" : "normal", "availability_zone" : "可用区2", "support_reduce" : true }, { "id" : "ad6f02f31744422fa8ce487e81c9e7afno14", "name" : "UTS-gauss-7362_gaussdbv5cn_1", "status" : "normal", "availability_zone" : "可用区3", "support_reduce" : true } ] }
  • 响应参数 表2 响应Body参数 参数 参数类型 描述 instance_id String 实例ID。 max_reduction_num Integer 单次缩容允许最大步长。 nodes Array of 表3 objects 节点信息列表。 表3 CnInfoBeforeReduce 参数 参数类型 描述 id String 节点ID。 name String 节点名称。 status String 节点状态。 值为“normal”,表示节点正常。 值为“abnormal”,表示节点异常。 值为“creating”,表示节点正在创建。 值为“createfail”,表示节点创建失败。 availability_zone String 可用区。 support_reduce Boolean 是否允许删除。
  • 请求示例 复制参数模板。 POST https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3/619d3e78f61b4be68bc5aa0b59edcf7b/configurations/3ca44134a16d4bbab8eb701e025b19f7pr14/copy { "name" : "paramTemplate-1233", "description" : "描述" }
  • 响应参数 表2 参数说明 参数 参数类型 描述 database_schemas Array of objects 列表中每个元素表示一个数据库SCHEMA,详情参见表3。 total_count Integer 数据库SCHEMA总数。 表3 database_schemas字段数据结构说明 参数 参数类型 描述 schema_name String SCHEMA名称。 owner String SCHEMA所属用户。
  • URI GET https://{Endpoint}/v3/{project_id}/instances/{instance_id}/schemas?db_name={db_name} 表1 参数说明 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 instance_id 是 String 实例ID。 db_name 是 String 数据库名称。不能和模板库重名。模板库包括postgres, template0 ,template1。 offset 否 Integer 分页符。从第一条数据偏移offset页数据后开始查询,默认为0(偏移0页数据,表示从第一条数据开始查询),必须为数字,不能为负数。例如:该参数指定为1,limit指定为10,则只展示第11-20条数据。 limit 否 Integer 每页显示的条目数量,取值范围[1, 100],默认10。
  • 响应示例 参数模板列表: { "count": 3, "configurations": [ { "id": "b000d7c91f1749da87315700793a11d4pr14", "name": "Default-Enterprise-Edition-GaussDB-1.0-INDEP", "description": "Default parameter template for Enterprise Edition GaussDB 1.0-Independent", "created": "2022-03-23 07:20:11", "updated": "2022-03-23 07:20:11", "datastore_version": "1.0", "datastore_name": "GaussDB", "ha_mode": "enterprise", "user_defined": false }, { "id": "8d99f260ea1b4493a1b349e7abce5c09pr14", "name": "Default-Enterprise-Edition-GaussDB-1.1-INDEP", "description": "Default parameter template for Enterprise Edition GaussDB 1.1-Independent", "created": "2022-03-23 07:20:11", "updated": "2022-03-23 07:20:11", "datastore_version": "1.1", "datastore_name": "GaussDB", "ha_mode": "enterprise", "user_defined": false }, { "id": "0f44b65521a8414d8b8811df810d94ccpr14", "name": "Default-Enterprise-Edition-GaussDB-1.2-INDEP", "description": "Default parameter template for Enterprise Edition GaussDB 1.2-Independent", "created": "2022-03-23 07:20:11", "updated": "2022-03-23 07:20:11", "datastore_version": "1.2", "datastore_name": "GaussDB", "ha_mode": "enterprise", "user_defined": false } ] }
  • 响应参数 表2 响应参数 参数 参数类型 描述 configurations Array of objects 参数模板信息,具体参数请参考表3。 count Integer 总记录数。 表3 configurations字段数据结构说明 参数 参数类型 描述 id String 参数组ID。 name String 参数组名称。 description String 参数组描述。 datastore_version String 引擎版本。 datastore_name String 引擎名称。 ha_mode String 实例类型。 created String 创建时间,格式为"yyyy-MM-dd HH:mm:ss"。 updated String 更新时间,格式为"yyyy-MM-dd HH:mm:ss"。 user_defined Boolean 是否是用户自定义参数模板: false,表示为系统默认参数模板。 true,表示为用户自定义参数模板。
  • URI GET https://{Endpoint}/v3/{project_id}/configurations?offset={offset}&limit={limit} 表1 参数说明 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 offset 否 Integer 索引位置,偏移量。从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。例如:该参数指定为0,limit指定为10,则只展示第1-10条数据。 limit 否 Integer 查询记录数。默认为100,不能为负数,最小值为1,最大值为100。例如该参数设定为10,则查询结果最多只显示10条记录。
  • 请求示例 按备份文件恢复到新实例,新实例规格为8U64G,磁盘为160G。 POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "targetInst", "availability_zone": "aaa,bbb,ccc", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "volume": { "type": "ULTRAHIGH", "size": 160 }, "disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "password": "******", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin14", "backup_id": "2f4ddb93b9014b0893d81d2e472f30febr14" }, "enable_parallel_restore": false, "configuration_id": "52e86e87445847a79bf807ceda213165pr01", "enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c", "port": 8000, "enable_force_switch": true, "time_zone": "UTC+04:00" } 按备份文件恢复到新实例,新实例规格为8U64G,磁盘为160G。 POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "targetInst", "availability_zone": "aaa,bbb,ccc", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "volume": { "type": "ULTRAHIGH", "size": 160 }, "disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "password": "******", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin14", "backup_id": "2f4ddb93b9014b0893d81d2e472f30febr14", "type": "backup" }, "enable_parallel_restore": false, "configuration_id": "52e86e87445847a79bf807ceda213165pr01", "enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c", "port": 8000, "enable_force_switch": true, "time_zone": "UTC+04:00" } 按时间点恢复到新实例,新实例规格为8U64G,磁盘为160G。 POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances { "name": "targetInst", "availability_zone": "aaa,bbb,ccc", "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "volume": { "type": "ULTRAHIGH", "size": 160 }, "disk_encryption_id": "2gfdsh-844a-4023-a776-fc5c5fb71fb4", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "password": "******", "restore_point": { "instance_id": "d8e6ca5a624745bcb546a227aa3ae1cfin14", "type": "timestamp", "restore_time": 1532001446987 }, "enable_parallel_restore": false, "configuration_id": "52e86e87445847a79bf807ceda213165pr01", "enterprise_project_id": "ba1f7fc8-3307-42a7-aa6f-42c8b9b8f85c", "port": 8000, "enable_force_switch": true, "time_zone": "UTC+04:00" }
  • 响应消息 恢复到新实例成功。 { "instance": { "id": "2gfdsh844a4023a776fc5c5fb71fb4in14", "name": "gaussdb-instance-rep2", "status": "BUILD", "datastore": { "type": "GaussDB", "version": "1.4" }, "ha": { "mode": "enterprise", "consistency": "strong", "replication_mode": "sync" }, "volume": { "type": "ULTRAHIGH", "size": 160 }, "port": "8000", "replica_num": 3, "region": "regionA", "enable_parallel_restore": false, "flavor_ref": "gaussdb.opengauss.ee.dn.m6.2xlarge.8.in", "availability_zone": "aaa,bbb,ccc", "vpc_id": "490a4a08-ef4b-44c5-94be-3051ef9e4fce", "subnet_id": "0e2eda62-1d42-4d64-a9d1-4e9aa9cd994f", "security_group_id": "2a1f7fc8-3307-42a7-aa6f-42c8b9b8f8c5", "charge_info": { "charge_mode": "postPaid" }, "enterprise_project_id": "fdsa-3rds", }, "job_id": "dff1d289-4d03-4942-8b9f-463ea07c000d" }
  • 响应参数 表7 要素说明 参数 参数类型 描述 instance Object 实例信息。 详情请参见表8。 job_id String 恢复新实例的任务id。 order_id string 创建实例的订单ID。 仅创建包周期实例时会返回该参数。 表8 instance说明 参数 参数类型 描述 id String 实例id。 name String 实例名称。 用于表示实例的名称,同一租户下,同类型的实例名可重名。 取值范围:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。 status String 实例状态。如BUILD,表示创建中。 datastore Object 数据库信息。 详情请参见表9 ha Object 实例部署形态。 详情请参见表10 port String 数据库端口信息。 当不传该参数时,默认端口8000。 enterprise_project_id String 项目标签。 volume Object volume信息。 详情请参见表11 backup_strategy Object 自动备份策略。 详情请参见表12 replica_num Integer 实例副本数。 region String 区域ID。 取值范围:非空,请参见地区和终端节点。 flavor_ref String 规格码。 availability_zone String 可用区ID。可选部署在同一可用区或三个不同可用区,可用区之间用逗号隔开。 取值范围:非空,请参见地区和终端节点。 vpc_id String 虚拟私有云ID。 subnet_id String 子网ID。 security_group_id String 安全组ID。 charge_info Object 付费方式信息,支持按需和包周期。 详情请参见表13。 表9 datastore字段数据结构说明 参数 参数类型 描述 type String 数据库引擎,返回值如下: GaussDB 枚举值: GaussDB version String 数据库版本。 表10 ha字段数据结构说明 参数 参数类型 描述 mode String GaussDB 分布式模式,返回值为:enterprise(企业版);主备版,返回值为:centralization_standard(主备版)。 replication_mode String 备机同步参数。 取值: GaussDB为“sync”。 说明: “sync”为同步模式。 枚举值: sync consistency String GaussDB的预留参数:指定实例一致性类型,取值范围:strong(强一致性) | eventual(最终一致性)。 枚举值: strong eventual 表11 volume字段数据结构说明 参数 参数类型 描述 type String 磁盘类型。 取值如下,区分大小写: ULTRAHIGH,表示SSD。 ESSD,表示极速云盘 枚举值: ULTRAHIGH ESSD size Integer 磁盘大小。 GaussDB分布式实例恢复时需指定大小:要求必须为(分片数*4GB)的倍数,取值范围:(分片数40GB)~(分片数16TB)。 表12 backup_strategy字段数据结构说明 参数 参数类型 描述 start_time String 废弃字段。无需关注。 keep_days Integer 废弃字段。无需关注。 表13 charge_info字段数据结构说明 参数 参数类型 描述 charge_mode String 计费模式。支持postPaid,后付费,即按需付费;perPaid,先付费,即包周期。 period_type string 订购周期类型。month:包月。year:包年。 说明: “charge_mode”为“prePaid”时生效,且为必选值。 period_num integer “charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围: 当“period_type”为“month”时,取值为1~9。 当“period_type”为“year”时,取值为1~3。 is_auto_renew boolean 包周期实例特有,表示是否自动续订,续订时会自动支付。 按月订购时续订周期默认为1个月,按年订购时续订周期默认为1年,续订周期可自定义修改。 true,表示自动续订。 false,表示不自动续订,默认为该方式。 is_auto_pay boolean 包周期实例时特有,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。 true,表示自动从账户中支付。 false,表示手动从账户中支付,默认为该支付方式。
  • 请求参数 表2 参数说明 参数 是否必选 参数类型 描述 name 是 String 实例名称。 用于表示实例的名称,同一租户下,同类型的实例名可重名。 取值范围:4~64个字符之间,必须以字母开头,区分大小写,可以包含字母、数字、中划线或者下划线,不能包含其他的特殊字符。 availability_zone 是 String 可用区ID。 GaussDB取值范围:非空,可选部署在同一可用区或三个不同可用区,可用区之间用逗号隔开。详见示例。 部署在同一可用区:需要输入三个相同的可用区。例如:部署在“cn-north-4a”可用区,则需要在此处输入"cn-north-4a,cn-north-4a,cn-north-4a"。 部署在三个不同可用区:需要分别输入三个不同的可用区。 取值范围:非空,请参见地区和终端节点。 flavor_ref 是 String 规格码,取值范围:非空。参考查询数据库规格中“spec_code”字段获取。 volume 是 Object volume信息。 详情请参见表3 disk_encryption_id 否 String 用于磁盘加密的密钥ID,默认为空。 vpc_id 是 String 虚拟私有云ID,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,在虚拟私有云的详情页面查找VPC ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询VPC列表。 subnet_id 是 String 子网的网络ID信息,获取方法如下: 方法1:登录虚拟私有云服务的控制台界面,单击VPC下的子网,进入子网详情页面,查找网络ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询子网列表。 security_group_id 是 String 指定实例所属的安全组。如果不需要指定安全组,请联系客服申请白名单。 方法1:登录虚拟私有云服务的控制台界面,在安全组的详情页面查找安全组ID。 方法2:通过虚拟私有云服务的API接口查询,具体操作可参考查询安全组列表。 password 是 String 数据库密码。 GaussDB密码取值范围: 非空; 至少包含大写字母(A-Z),小写字母(a-z),数字(0-9),非字母数字字符(限定为~!@#%^*-_=+?,)四类字符中的三类字符;长度8~32个字符。 建议您输入高强度密码,以提高安全性,防止出现密码被暴力破解等安全风险。 charge_info 否 Object 付费方式信息,支持按需和包周期。 详情请参见表4。 backup_strategy 否 Object 自动备份策略。 详情请参见表6。 restore_point 是 Object 恢复数据源对象。 详情请参见表5。 enable_parallel_restore 否 Boolean 是否支持备份并行恢复。当不传该参数时,企业版默认为不支持,主备版默认支持。 configuration_id 否 String 参数组ID。当不传该参数时,使用系统默认的参数模板。 enterprise_project_id 否 String 企业项目ID。 port 否 String 数据库对外开放的端口,不填默认为8000,可选范围为:1024-39998。限制端口: 2378,2379,2380,4999,5000,5999,6000,6001,8097,8098,12016,12017,20049,20050,21731,21732,32122,32123,32124。 time_zone 否 String UTC时区。 不选择时,GaussDB国内站默认为UTC时间。 选择填写时,取值范围为UTC-12:00~UTC+12:00,且只支持整段时间,如UTC+08:00,不支持UTC+08:30。 enable_force_switch 否 Boolean enable_force_switch表示是否开启备机强升主功能,仅支持取值true,false。 enable_force_switch=true表示开启备机强升主功能,enable_force_switch=false表示关闭,默认关闭。仅支持1.2.2及以上版本。 说明: 备机强升主功能适用场景:在主机发生故障后,为了保障集群的可用性,强制拉起备机作为新主机对外提供服务的场景。 本功能在集群故障状态下,以丢失部分数据为代价换取集群尽可能快的恢复服务。本功能是集群状态为不可用时的一个逃生方法,如果操作者不清楚备机强升后丢失数据对业务的影响,请勿使用本功能。 表3 volume字段数据结构说明 参数 是否必选 参数类型 描述 type 是 String 磁盘类型。 主备模式仅支持LOCALSSD,分布式模式独立部署仅支持ULTRAHIGH,区分大小写,表示本地SSD盘及云磁盘。 支持ULTRAHIGH,表示本地盘;支持ESSD,表示极速云盘。 size 是 Integer 磁盘大小,需要大于等于原实例。例如:该参数填写为“40”,表示为恢复的实例分配40GB的磁盘空间。 ECS部署方案取值范围:(分片数*40GB)~(分片数*16TB),且大小只能为分片数*4GB的整数倍。 表4 charge_info字段数据结构说明 参数 是否必选 参数类型 描述 charge_mode 是 String 计费模式。支持postPaid,后付费,即按需付费;prePaid,先付费,即包周期。 period_type 否 string 订购周期类型。month:包月。year:包年。 说明: “charge_mode”为“prePaid”时生效,且为必选值。 period_num 否 integer “charge_mode”为“prePaid”时生效,且为必选值,指定订购的时间。 取值范围: 当“period_type”为“month”时,取值为1~9。 当“period_type”为“year”时,取值为1~3。 当传入浮点型时,会自动截取为整型。 is_auto_renew 否 boolean 创建包周期实例时可指定,表示是否自动续订,续订时会自动支付。 按月订购时续订周期默认为1个月,按年订购时续订周期默认为1年,续订周期可自定义修改。 true,表示自动续订。 false,表示不自动续订,默认为该方式。 is_auto_pay 否 boolean 创建包周期实例时可指定,表示是否自动从账户中支付,该字段不影响自动续订的支付方式。 true,表示自动从账户中支付。 false,表示手动从账户中支付,默认为该支付方式。 表5 restore_point字段数据结构说明 参数 是否必选 参数类型 描述 instance_id 是 String 源实例ID。 backup_id 否 String 用于恢复的备份ID。 type 否 String 表示恢复方式,枚举值: “backup”,表示使用备份文件恢复,按照此方式恢复时,“type”字段为非必选,“backup_id”必选。 “timestamp”,表示按时间点恢复,按照此方式恢复时,“type”字段必选,“restore_time”必选。 枚举值: backup timestamp restore_time 否 Long 恢复数据的时间点,格式为UNIX时间戳,单位是毫秒,时区为UTC。 表6 backup_strategy字段数据结构说明 参数 是否必选 参数类型 描述 start_time 是 String 废弃字段,无需填写。 keep_days 否 Integer 废弃字段,无需填写。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } }
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 请求示例 修改企业项目配额,实例的配额设置为1000个,CPU配额100000核数,内存配额200000GB,存储空间配额1000000GB。 PUT https://gaussdb-opengauss.cn-north-4.myhuaweicloud.com/v3/054b61972980d4552f0bc00ac8d3f5cd/enterprise-projects/quotas { "eps_quotas": [ { "enterprise_projects_id": "0", "instance_quota": 1000, "vcpus_quota": 100000, "ram_quota": 200000, "volume_quota": 1000000 } ] }
  • 请求参数 表2 参数说明 名称 是否必选 参数类型 说明 eps_quotas 是 Array of objects 需要修改的企业配额列表。 表3。 表3 EpsQuotasOption参数说明 名称 是否必选 参数类型 说明 enterprise_projects_id 是 String 企业项目ID。 instance_quota 否 Integer 实例的配额。取值范围:实际创建的实例个数 ~ 100,000。 vcpus_quota 否 Integer CPU的配额。取值范围:实际使用的CPU核数 ~ 2,147,483,646。 ram_quota 否 Integer 内存的配额。单位GB。取值范围:实际使用的内存 ~ 2,147,483,646。 volume_quota 否 Integer 存储空间的配额。单位:GB。取值范围:实际使用的存储空间 ~ 2,147,483,646。
  • URI GET https://{Endpoint}/v3.1/{project_id}/flavors?limit={limit}&offset={offset}&ha_mode={ha_mode}&version={version}&spec_code={spec_code} 表1 参数说明 名称 是否必选 参数类型 说明 project_id 是 String 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 version 否 String 数据库版本号。查询指定版本支持的规格。例如1.4。 spec_code 否 String 规格编码,查询指定规格编码的具体规格信息。 ha_mode 否 String 实例类型,查询指定实例类型支持的规格。 集中式:centralization_standard 分布式(独立部署):enterprise limit 否 Integer 查询记录数。默认为100,不能为负数,最小值为1,最大值为100。例如该参数设定为10,则查询结果最多只显示10条记录。 offset 否 Integer 索引位置,偏移量。从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。例如:该参数指定为1,limit指定为10,则只展示第2~11条数据。
  • 响应示例 查询数据库规格成功。 { "flavors": [ { "vcpus": "2", "ram": "16", "availability_zone": [ "az2xahz", "az1xahz", "az3xahz" ], "version": "1.4", "name": "GaussDB", "spec_code": "gaussdb.opengauss.ee.dn.m6.large.8.in", "az_status": { "az2xahz": "normal", "az1xahz": "normal", "az3xahz": "normal" }, "group_type": "normal2" } ], "total": 1 }
  • 请求示例 查询主备版数据库规格 GET https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/flavors?offset=0&limit=10&ha_mode=centralization_standard&version=3.208&spec_code=gaussdb.opengauss.ee.km1.2xlarge.arm8.ha 查询分布式数据库规格 GET https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/flavors?offset=0&limit=10&ha_mode=enterprise&version=3.208&spec_code=gaussdb.opengauss.ee.dn.m6.2xlarge.8.in
  • 响应参数 表2 参数说明 参数 参数类型 描述 backups Array of objects 备份信息。 详情请参见表3。 total_count Long 备份文件的总数。 表3 backups字段数据结构说明 参数 参数类型 描述 id String 备份ID。 name String 备份名称。 description String 备份文件描述信息。 begin_time String 备份开始时间,格式为"yyyy-mm-ddThh:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 end_time String 备份结束时间,格式为“yyyy-mm-ddThh:mm:ssZ”。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 status String 备份状态 枚举值: BUILDING:备份中。 COMPLETED:备份完成。 FAILED:备份失败。 size Double 备份大小(单位:MB)。 type String 备份类型 取值: auto:实例级自动全量备份。 manual:实例级手动全量备份。 datastore Object 数据库信息。 详情请参见表4 instance_id String 实例ID。 表4 datastore字段数据结构说明 参数 参数类型 描述 type String 数据库引擎,不区分大小写,取值如下: GaussDB。 version String 数据库版本。不填时,默认为当前最新版本。 数据库支持版本可根据查询数据库引擎的版本接口获取。
  • 请求示例 查询所有备份列表 GET https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/backups 根据指定条件查询实例列表 GET https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3.1/0483b6b16e954cb88930a360d2c4e663/backups?instance_id=88be33e4c5a64ceba42b42da89310111in14&backup_id=88be1234c5a64ceba42b42da89310111br14&backup_type=auto&begin_time=2022-05-09T16:15:50+0800&end_time=2022-05-09T16:20:45+0800&limit=1&offset=1
  • 响应示例 查询备份列表成功。 { "backups": [ { "id": "a696cd25e4fc453aa503650225cece8bbr14", "name": "GaussDB-hly-ha-20220509080110906", "description": null, "status": "FAILED", "size": 0.0, "type": "auto", "datastore": { "type": "GaussDB", "version": "1.4" }, "begin_time": "2022-05-09T16:01:10+0800", "end_time": "2022-05-09T16:04:31+0800", "instance_id": "164abc6d35114095bb849d007b19db3bin14" }, { "id": "5651c62a7f12461c98020dd3abfe24ccbr14", "name": "GaussDB-hly-master-20220509022658257", "description": null, "status": "FAILED", "size": 0.0, "type": "auto", "datastore": { "type": "GaussDB", "version": "1.4" }, "begin_time": "2022-05-09T10:26:58+0800", "end_time": "2022-05-09T10:30:17+0800", "instance_id": "fd26e3bf26e5467587eec857e4f66ef0in14" } ], "total_count": 167 }
  • URI GET https://{Endpoint}/v3.1/{project_id}/backups?instance_id={instance_id}&backup_id={backup_id}&backup_type={backup_type}&offset={offset}&limit={limit}&begin_time={begin_time}&end_time={end_time} 表1 参数说明 参数 是否必选 参数类型 描述 project_id 是 String 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 instance_id 否 String 实例ID,严格匹配UUID规则。日志备份列表查询时实例ID必选。 backup_id 否 String 备份ID,严格匹配UUID规则。 backup_type 否 String 备份类型,取值范围: auto:实例级自动全量备份。 manual:实例级手动全量备份。 Log_Xbsa: XBSA日志备份。 offset 否 Integer 索引位置,偏移量。从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。 最小值:0 limit 否 Integer 查询记录数。默认为100,不能为负数,最小值为1,最大值为100。 最小值:1 最大值:100 begin_time 否 String 查询开始时间,格式为“yyyy-mm-ddThh:mm:ssZ”。其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。与end_time必须同时使用。 end_time 否 String 查询结束时间,格式为“yyyy-mm-ddThh:mm:ssZ”,且大于查询开始时间。其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。与begin_time必须同时使用。
共100000条