云数据库 HTAP for CockroachDB

    API接口说明

    如果您是初次调用百度智能云产品的API,可以观看API入门视频指南,快速掌握调用API的方法。

    创建实例

    请求方法 API
    POST /api/v1/instance

    创建CRDB实例前,需要选定node节点数、每个节点内存和磁盘大小。node节点申请bcc配额按照用户购买的套餐来申请,master和standby master节点默认固定配额(最小1核CPU、2G内存,随着node节点配额变化,按相应比例改变)来申请。

    请求参数

    参数名称 参数类型 是否必须 参数描述
    backupPolicy Object No 备份策略
    1)preferredBackupDays,备份时间,周日为第一天,取值0,格式:"0,1,2,3,5,6"
    2)preferredBackupWindow,备份时间窗口,格式:"00:15:00Z-05:15:00Z",使用UTC时间
    engine String Yes 1)数据库类型
    2)取值范围:CockroachDB
    engineVersion String Yes 2.0
    instanceExpireTime Datetime Yes deprecated. RDS不保存实例过期时间了
    instanceName String No 1)用户自定义实例名;
    2)允许小写字母、数字;
    3)长度限制为1~32;
    instanceClass String Yes 实例硬件套餐名。
    cpuCount Int Yes 单个node CPU核数
    allocatedMemoryInMB Int Yes 单个node 内存
    allocatedStorageInGB Int Yes 单个node 磁盘空间
    publiclyAccessible Boolean Yes 是否开放外网访问
    1)取值范围:true,false
    2)默认不开放外网权限
    initialDataReference Object No 初始化数据源(实例克隆)
    orderId String Yes 订单号
    instanceAmount Int Yes 批量创建RDS实例个数
    azone String Yes 可用区名称
    vpcId String Yes VPC ID
    subnetId Object Yes 子网ID
    physicalZone Object No 逻辑可用区和物理机机房对应关系
    machineType String Yes bcc:默认;dcc:RDS on DCC
    dccHostIds Object No 当machineType为dcc时选
    nodeAmount Object Yes 总数最少3个,每个zone的Node节点个数,最少1个

    返回参数

    参数名称 参数类型 参数描述
    instances List 由instance对象组成的数组

    请求示例

    POST /json-api/v1/instance HTTP/1.1
    HOST: crdb.baidu.com
    Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}
    {
        "orderId": "20180801723123123404501",
        "instanceAmount": 1,
        "instanceParameters": {
            "instanceName": "cockroach-test",
            "engine": "cockroachdb",
            "engineVersion": "2.0",
            "instanceClass": "db1.micro",
            "allocatedMemoryInMB": 1024,
            "allocatedStorageInGB": 10,
            "cpuCount": 3,
            "backupPolicy": {
                "preferredBackupDays": "0,1,2,4,5",
                "preferredBackupWindow": "17:00:00Z-19:00:00Z"
            },
            "publiclyAccessible": true,
            "instanceExpireTime": "2018-05-07T12:00:00Z",
            "azone": "zoneA+zoneB",
            "vpcId": "5439f126-2e13-4e9f-9b97-672ef17e6f0a",
            "subnetId": {
                "zoneA": "5087d05d-3818-4dc6-b87d-8810a921c453",
                "zoneB": "a366faf1-f238-419d-8544-afd3e50bd9dd"
            },
            "nodeAmount": {
                "zoneA": 3,
                "zoneB": 2
            }
        }
    }

    返回示例

    {
        "instances": [
            {
                "instanceId": "rdsnk1h2iwrw1va",
                "instanceName": "cockroach-test",
                "engine": "cockroachdb",
                "engineVersion": "2.0",
                "characterSetName": "utf8",
                "endpoint": {
                    "port": 5100,
                    "address": "cockroach-test.rdsnk1h2iwrw1va.bj.bce.qa.sandbox.baidu.com",
                    "vnetIp": null,
                    "inetIp": null
                },
                "instanceClass": "db1.micro",
                "allocatedMemoryInMB": 1024,
                "allocatedStorageInGB": 10,
                "totalStorageInGB": 10,
                "usedStorageInMB": 0,
                "cpuCount": 1,
                "instanceStatus": "creating",
                "lockMode": "unlock",
                "eipStatus": "closed",
                "backupPolicy": {
                    "preferredBackupDays": "0,1,2,4,5",
                    "preferredBackupWindow": "17:00:00Z-19:00:00Z"
                },
                "publiclyAccessible": false,
                "instanceCreateTime": "2018-08-31T07:51:12Z",
                "instanceExpireTime": "2018-05-07T12:00:00Z",
                "sourceInstanceId": "",
                "instanceType": "master",
                "region": "bj",
                "sourceRegion": "bj",
                "nodeAmount": 1,
                "azone": "zoneA+zoneB",
                "vpcId": "5439f126-2e13-4e9f-9b97-672ef17e6f0a",
                "superUserFlag": "common",
                "replicationType": "async",
                "onlineStatus": 1,
                "oldInstance": 0,
                "applicationType": "normal",
                "machineType": "bcc"
            }
        ]
    }

    获取实例列表

    请求方法 API
    POST /json-api/v1/instance

    请求参数

    参数名称 参数类型 是否必须 参数描述
    公共请求参数 参考 公共请求参数

    返回参数

    参数名称 参数类型 参数描述
    Instances List <instance> 由instance组成的数组
    instanceId String 实例ID

    Instance参数列表

    instanceName String 数据库实例名
    engine String 数据库引擎
    engineVersion String 数据库引擎版本
    characterSetName String 默认字符集
    endpoint Object 数据库连接信息
    {
    //数据库端口
    "port": 5100,
    //数据库连接地址
    "address":
    "$instanceName.$instanceId.$engine.crdb.baidu.com"
    }
    instanceClass String 实例规格
    cpuCount Int 实例CPU
    allocatedMemoryInMB Int 实例内存
    allocatedStorageInGB Int 存储空间
    usedStorageInMB Int 已用存储空间
    totalStorageInGB Int 总存储空间
    instanceStatus String 实例状态
    lockMode String 锁定模式
    backupPolicy Object 备份策略
    {
    "preferredBackupDays" : "0,1,2,4,5",
    "preferredBackupWindow" : "17:00:00Z-19:00:00Z"
    }
    1)preferredBackupDays,备份时间,周日为第一天,取值0,格式:"0,1,2,3,5,6"
    2)备份时间窗口,格式:"00:15:00Z-05:15:00Z",使用UTC时间
    publiclyAccessible Boolean 是否开放外网访问权限
    instanceCreateTime Datetime 实例创建时间
    instanceExpireTime Datetime 实例到期时间
    instanceType String 实例类型
    sourceInstanceId String 主实例id,如果为主实例则为空
    region String 该实例的区域(bj...)
    sourceRegion String 该实例的主实例的区域
    superUserFlag String 是否创建super账号(common、super)
    azone String 实例的逻辑可用区
    vpcId String 实例所属VPC的ID

    请求示例

    GET /json-api/v1/instance HTTP/1.1
    HOST: crdb.baidu.com
    Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}

    返回实例

    HTTP/1.1 200 OK
    x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
    Content-Type: application/json
    {
        "instances":[{
            "instanceId"                : "rdsnudjimy0jbig",
            "instanceName"              : "cockroach5100",
            "engine"                    : "cockroach",
            "engineVersion"             : "2.0",
            "endpoint" : {
                "port"    : 3306,
                "address" : "cockroach5100.rdsnudjimy0jbig.mysql.crdb.baidu.com",
                "vnetIp"  : "172.0.0.1",
                "inetIp"  : ""
            },
            "instanceClass"             : "db1.micro",
            "cpuCapacity"             : 1,
            "allocatedStorageInGB"      : 5,
            "totalStorageInGB"      : 25,
            "memoryCapacityInMB"       : 256,
            "usedStorageInMB"           : 1023,
            "instanceStatus"            : "creating",
            "lockMode"                  : "unlock",
            "eipStatus"                 : "available",
            "region"                    : "bj",
            "backupPolicy"              : {
                "preferredBackupDays"   : "0,1,2,4,5",
                "preferredBackupWindow" : "17:00:00Z-19:00:00Z"
            },
            "instanceCreateTime"        : "2016-06-01T12:00:00Z",
            "instanceType"              : "master",
            "sourceInstanceId"          : "",
            "sourceRegion"              : "bj",
            "instanceAmount"            : 1,
            "azone"                     : "zoneB",
            "vpcId"                     : "63696dde-6617-4847-9bde-5a146e8db25a",
            "superUserFlag"             : 0,
            "replicationType"           : "async"
        }]
    }

    获取实例信息

    请求方法 API
    GET /json-api/v1/instance/{InstanceId}

    请求参数

    参数名称 参数类型 是否必须 参数描述
    <公共请求参数> 参考 公共请求参数

    返回参数

    参数名称 参数类型 参数描述
    <公共返回参数> 参考 公共返回参数
    Instance Object Instance Object

    Instance Object详情

    参数名称 参数类型 参数描述
    instanceId String 实例ID
    instanceName String 数据库实例名
    instanceClass String 实例规格
    allocatedMemoryInMB Int 实例内存
    allocatedStorageInGB Int 存储空间
    totalStorageInGB Int 总存储空间
    usedStorageInMB Int 已用存储空间
    engine String 数据库引擎
    engineVersion String 数据库引擎版本
    characterSetName String 默认字符集
    instanceStatus String 实例状态
    lockMode String 锁定模式
    billingStatus String 需要收费的附加服务状态
    publiclyAccessible Boolean 是否开放外网访问权限
    eipStatus String 外网访问功能状态
    instanceCreateTime Datetime 实例创建时间
    instanceExpireTime Datetime 实例到期时间
    endpoint Object 数据库连接信息,Endpoint Object
    sourceInstanceId String 主实例id,如果为主实例则为空
    instanceType String 实例类型
    region String 该实例的区域(bj...)
    sourceRegion String 该实例的主实例的区域
    instanceAmount Int 实例的执行单元数量(主要用于代理实例)
    azone String 实例的逻辑可用区
    vpcId String 实例所属VPC的ID
    subnetId Object 各可用区的子网ID(如果创建时选择了子网)
    superUserFlag String 是否创建super账号(common、super)
    backupPolicy Object 备份策略
    readReplicaNum Int 在同步本实例的副本数量
    readReplica List\<String\> 在同步本实例的副本ID列表
    topology Object 实例所属数据库集群的拓扑信息 Topology Object

    Endpoint Object详情

    参数名称 参数类型 参数描述
    address String 数据库连接地址
    port Int 数据库端口
    vnetIp String 数据库连接的IP( 会因为主从切换而变化)
    inetIp String 从公网连接数据库的IP( 不会因为主从切换而变化)

    BackupPolicy Object详情

    参数名称 参数类型 参数描述
    backupDays String 以逗号分隔的备份时间,周日为第一天,取值0
    举例:"0,1,2,3,5,6"
    backupTime String 备份开始时间,使用UTC时间
    举例:"17:00:00Z"
    persistent Boolean 是否启用了备份数据持久化
    expireInDays Int 持久化天数,未启用则为0
    freeSpaceInGB Int 免费赠送的存储空间大小,单位为GB

    请求示例

    GET /json-api/v1/instance/rdsmut9rhom8p3m HTTP/1.1
    HOST: crdb.baidu.com
    Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}

    返回实例

    HTTP/1.1 200 OK
    x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
    Content-Type: application/json
    {
        "instance": {
            "instanceId": "rdsn0k0wzxncdcp",
            "instanceName": "cockroach-test",
            "engine": "cockroachdb",
            "engineVersion": "2.0",
            "characterSetName": "utf8",
            "endpoint": {
                "port": 5100,
                "address": "cockroach-test.rdsn0k0wzxncdcp.bj.bce.qa.sandbox.baidu.com",
                "vnetIp": "192.168.9.242",
                "inetIp": ""
            },
            "instanceClass": "db1.micro",
            "allocatedMemoryInMB": 1024,
            "allocatedStorageInGB": 10,
            "totalStorageInGB": 10,
            "usedStorageInMB": 93.0859375,
            "cpuCount": "2",
            "instanceStatus": "available",
            "lockMode": "unlock",
            "eipStatus": "closed",
            "backupPolicy": {
                "preferredBackupDays": "0,1,2,4,5",
                "preferredBackupWindow": "17:00:00Z-19:00:00Z"
            },
            "publiclyAccessible": false,
            "instanceCreateTime": "2018-08-30T03:35:42Z",
            "instanceExpireTime": "2018-05-07T12:00:00Z",
            "sourceInstanceId": "",
            "instanceType": "master",
            "region": "bj",
            "sourceRegion": "bj",
            "nodeAmount": "1",
            "azone": "zoneA",
            "vpcId": "54xxxxxx-2e13-4e9f-9b97-672exxxxx6f0a",
            "superUserFlag": "common",
            "replicationType": "async",
            "onlineStatus": "1",
            "oldInstance": "0",
            "applicationType": "normal",
            "machineType": "bcc",
            "rootStorageInGB": "20",
            "subnetId": {
                "zoneA": "50xxxxxd-3818-4dc6-b87d-881xxxxxx453"
            },
            "readReplicaNum": 0,
            "readReplica": [],
            "topology": {
                "rdsproxy": [],
                "master": [
                    "rdsn0k0wzxncdcp"
                ],
                "readReplica": []
            }
        }
    }

    删除实例

    请求方法 API
    DELETE /json-api/v1/instance/{instanceId}

    删除实例,实例的运行数据、库、表记录,日志全部删除。

    1. 实例当前lockMode必须为lockExpiration
    2. 实例删除前先创建一个snapshot
    3. snapshot不删除
    4. 如果实例为只读副本,则只删除该副本

    请求参数

    参数名称 参数类型 是否必须 参数描述
    <公共请求参数> 参考 公共请求参数

    返回参数

    参数名称 参数类型 参数描述
    <公共返回参数> 公共返回参数

    请求示例

    DELETE /json-api/v1/instance/rdsmxiaozhiwen0 HTTP/1.1
    HOST: crdb.baidu.com
    Authorization: bce-auth-v1/rdsak/2014-07-03T06:13:13Z/1800/x-bce-date/{signature}

    返回实例

    HTTP/1.1 200 OK
    x-bce-request-id: 7869616F-7A68-6977-656E-406261696475
    Content-Type: application/json
    Content-Length: 0
    上一篇
    调用说明
    下一篇
    常见问题