表操作
更新时间:2019-11-05
创建表CreateTable
描述
在指定instance下创建一张表,表名限制字符个数1-255,满足正则:[a-zA-Z_][a-za-z0-9_]{0,254},以字母或下划线开头。表名不符合规范时会抛出BceClientException。
请求参数
| 参数 | 参数类型 | 说明 | 
|---|---|---|
| tableName | String | 期望创建的表的名称,创建表时必须指定。 | 
| tableOption | TableOption | 配置信息,创建表时必须指定。 | 
| +tableVersion | long | 表版本号,创建表时必须为0,非0时会抛出BceClientException。 | 
| +compressType | CompressType(enum) | 压缩方式,可取以下值: NONE:不压缩 SNAPPY_ALL:使用snappy压缩 DEFAULT:使用操作的默认值,不同操作中含义不同 创建表时默认为NONE。  | 
| +ttl | int | 数据过期时间,单位为秒,设为0表示永不过期,默认值为0。 | 
| +storageType | String | 表存储类型,可取以下值: HighPerformance:使用SSD存储CommonPerformance:使用SATA存储创建表时若不指定则默认使用Instance的表存储类型。  | 
| +maxVersions | int | 最多保留版本数,取值范围[1, 50000] | 
返回参数
无
示例
其中,BceClientException相关信息参见异常处理
                Plain Text
                
            
            1private static void myCreateTable(TableStorageClient tableStorageClient) {
2    // 设置表参数
3    TableOption createTableOption = new TableOption();
4    createTableOption.setTableVersion(0);
5    createTableOption.setTtl(24 * 3600);
6    createTableOption.setCompressType(CompressType.NONE);
7    createTableOption.setStorageType(TableStorageConstants.STORAGE_TYPE_COMMON_PERFORMANCE);
8    createTableOption.setMaxVersions(10);
9    // 指定表名,其中TABLE_NAME为期望创建表的表名
10    CreateTableRequest createTableRequest = new CreateTableRequest(TABLE_NAME, createTableOption);
11    try{
12        // 创建一张表
13        tableStorageClient.createTable(createTableRequest);
14    } catch(BceClientException e) {
15        return;
16    }
17}
            更新表UpdateTable
描述
更新一张表的指定信息。
请求参数
| 参数 | 参数类型 | 说明 | 
|---|---|---|
| tableName | String | 期望更新的表的名称,更新表时必须指定,且更新表不允许修改表的名称 | 
| tableOption | TableOption | 配置信息,更新表时必须指定 | 
| +tableVersion | long | 表版本号,更新表时其值为表当前的版本号,可以通过ShowTable操作获取。此外,更新表时必须不为0,为0时会抛出BceClientException | 
| +compressType | CompressType(enum) | 压缩方式,可取以下值: NONE:不压缩 SNAPPY_ALL:使用snappy压缩 DEFAULT:使用操作的默认值,不同操作中含义不同 默认为不更新压缩方式。  | 
| +ttl | int | 数据过期时间,单位为秒,设为0表示永不过期 | 
| +maxVersions | int | 最多保留版本数,取值范围[1, 50000] | 
返回参数
无
示例
其中,BceClientException相关信息参见异常处理
                Plain Text
                
            
            1private static void myUpdateTable(TableStorageClient tableStorageClient) {
2    // 设置表参数
3    TableOption updateTableOption = new TableOption();
4    updateTableOption.setTableVersion(TABLE_VERSION);
5    updateTableOption.setTimeToLive(0);
6    updateTableOption.setCompressType(CompressType.SNAPPY_ALL);
7    updateTableOption.setMaxVersions(15);
8    // 指定表,其中TABLE_NAME为期望创建表的表名
9    UpdateTableRequest updateTableRequest = new UpdateTableRequest(TABLE_NAME, updateTableOption);
10    try {
11        // 修改表结构
12        tableStorageClient.updateTable(updateTableRequest);
13    } catch(BceClientException e) {
14        return;
15    }
16}
            删除表DropTable
描述
删除一张表。
请求参数
| 参数 | 参数类型 | 说明 | 
|---|---|---|
| tableName | String | 期望删除的表的名称 | 
返回参数 无
示例 其中,BceClientException相关信息参见异常处理
                Plain Text
                
            
            1private static void myDropTable(TableStorageClient tableStorageClient) {
2    // 指定表,其中TABLE_NAME为期望删除表的表名
3    DropTableRequest dropTableRequest = new DropTableRequest(TABLE_NAME);
4    try {
5        // 删除指定表
6        tableStorageClient.dropTable(dropTableRequest);
7    } catch (BceClientException e) {
8        return;
9    }
10}
            显示表信息ShowTable
描述
查询一张表的信息。
请求参数
| 参数 | 参数类型 | 说明 | 
|---|---|---|
| tableName | String | 期望查询的表的名称 | 
返回参数
ShowTable操作获取到表的信息如下:
| 参数名称 | 参数类型 | 说明 | 
|---|---|---|
| instance | String | 表所在实例的名称 | 
| tableName | String | 表的名称 | 
| tableState | String | 表的状态信息,目前有以下四种状态: Normal:表状态正常,可正常读写 Creating:表正在创建中 Updating:表正在更新中 Dropping:表正在被删除  | 
| tableVersion | long | 当前table版本号,值是最后一次更新的微秒级时间戳 | 
| createTime | String | 表创建的UTC时间 | 
| compressType | String | 数据压缩方式,默认为不压缩,可取以下值: NONE : 不压缩 SNAPPY_ALL : 使用snappy压缩  | 
| ttl | int | 数据过期时间,为0时永不过期,默认永不过期,单位秒 | 
| storageType | String | 表存储类型,可取以下值: HighPerformance:SSD存储 CommonPerformance:SATA存储  | 
| maxVersions | int | 最多保留版本数,取值范围[1, 50000] | 
示例 其中,BceClientException相关信息参见异常处理
                Plain Text
                
            
            1private static void myShowTable(TableStorageClient tableStorageClient) {
2    // 指定表,其中TABLE_NAME为期望展示表的表名
3    ShowTableRequest showTableRequest = new ShowTableRequest(TABLE_NAME);
4    try {
5        // 获取指定表结构信息
6        ShowTableResponse response = tableStorageClient.showTable(showTableRequest);
7        // 打印表结构信息
8        System.out.println("==================================");
9        System.out.println("ShowTableResponse result:");
10        System.out.println("  tableName=" + response.getTableName());
11        System.out.println("  tableState=" + response.getTableState());
12        System.out.println("  tableVersion=" + response.getTableVersion());
13        System.out.println("  createTime=" + response.getCreateTime());
14        System.out.println("  compressType=" + response.getCompressType());
15        System.out.println("  ttl=" + response.getTtl());
16        System.out.println("  storageType=" + response.getStorageType());
17        System.out.println("  maxVersions=" + response.getMaxVersions());
18        System.out.println("==================================");
19    } catch (BceClientException e) {
20        return;
21    }
22}
            列举所有表ListTable
描述
列举实例下所有表名称。
请求参数 无
返回参数
ListTable操作获取到表的信息如下:
| 参数名称 | 参数类型 | 说明 | 
|---|---|---|
| tables | List | 
table列表 | 
| +tableName | String | 表名称 | 
| +tableState | String | 表状态信息,有如下取值:<br/normal:表状态正常,可正常读写 Creating:表正在创建中 Dropping:表正在被删除  | 
| +tableVersion | long | 当前table版本号,值是最后一次更新的时间戳 | 
| +createTime | String | 表创建的UTC时间 | 
| +storageType | String | 表存储类型,可以取以下值: HighPerformance:SSD存储 CommonPerformance:SATA存储  | 
| maxVersions | int | 最多保留版本数,取值范围[1, 50000] | 
示例
其中,BceClientException相关信息参见异常处理
                Plain Text
                
            
            1private static void myListTables(TableStorageClient tableStorageClient) {
2    ListTablesRequest listTablesRequest = new ListTablesRequest();
3    try {
4        // 列举当前实例下的所有表
5        ListTablesResponse response = tableStorageClient.listTables(listTablesRequest);
6        // 打印列举表信息
7        System.out.println("==================================");
8        System.out.println("ListTableResponse result:");
9        for (ListTablesResponse.TableInfo info : response.getTables()) {
10            System.out.println("TableInfo result:");
11            System.out.println("    tableName=" + info.getTableName() + ",");
12            System.out.println("    tableState=" + info.getTableState() + ",");
13            System.out.println("    tableVersion=" + info.getTableVersion() + ",");
14            System.out.println("    tableStorageType=" + info.getStorageType());
15            System.out.println("    maxVersions=" + info.getMaxVersions());
16        }
17        System.out.println("==================================");
18    } catch (BceClientException e) {
19        return;
20    }
21}
            