表操作
更新时间: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}