表操作
更新时间: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相关信息参见异常处理
private static void myCreateTable(TableStorageClient tableStorageClient) {
// 设置表参数
TableOption createTableOption = new TableOption();
createTableOption.setTableVersion(0);
createTableOption.setTtl(24 * 3600);
createTableOption.setCompressType(CompressType.NONE);
createTableOption.setStorageType(TableStorageConstants.STORAGE_TYPE_COMMON_PERFORMANCE);
createTableOption.setMaxVersions(10);
// 指定表名,其中TABLE_NAME为期望创建表的表名
CreateTableRequest createTableRequest = new CreateTableRequest(TABLE_NAME, createTableOption);
try{
// 创建一张表
tableStorageClient.createTable(createTableRequest);
} catch(BceClientException e) {
return;
}
}
更新表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相关信息参见异常处理
private static void myUpdateTable(TableStorageClient tableStorageClient) {
// 设置表参数
TableOption updateTableOption = new TableOption();
updateTableOption.setTableVersion(TABLE_VERSION);
updateTableOption.setTimeToLive(0);
updateTableOption.setCompressType(CompressType.SNAPPY_ALL);
updateTableOption.setMaxVersions(15);
// 指定表,其中TABLE_NAME为期望创建表的表名
UpdateTableRequest updateTableRequest = new UpdateTableRequest(TABLE_NAME, updateTableOption);
try {
// 修改表结构
tableStorageClient.updateTable(updateTableRequest);
} catch(BceClientException e) {
return;
}
}
删除表DropTable
描述
删除一张表。
请求参数
参数 | 参数类型 | 说明 |
---|---|---|
tableName | String | 期望删除的表的名称 |
返回参数 无
示例 其中,BceClientException相关信息参见异常处理
private static void myDropTable(TableStorageClient tableStorageClient) {
// 指定表,其中TABLE_NAME为期望删除表的表名
DropTableRequest dropTableRequest = new DropTableRequest(TABLE_NAME);
try {
// 删除指定表
tableStorageClient.dropTable(dropTableRequest);
} catch (BceClientException e) {
return;
}
}
显示表信息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相关信息参见异常处理
private static void myShowTable(TableStorageClient tableStorageClient) {
// 指定表,其中TABLE_NAME为期望展示表的表名
ShowTableRequest showTableRequest = new ShowTableRequest(TABLE_NAME);
try {
// 获取指定表结构信息
ShowTableResponse response = tableStorageClient.showTable(showTableRequest);
// 打印表结构信息
System.out.println("==================================");
System.out.println("ShowTableResponse result:");
System.out.println(" tableName=" + response.getTableName());
System.out.println(" tableState=" + response.getTableState());
System.out.println(" tableVersion=" + response.getTableVersion());
System.out.println(" createTime=" + response.getCreateTime());
System.out.println(" compressType=" + response.getCompressType());
System.out.println(" ttl=" + response.getTtl());
System.out.println(" storageType=" + response.getStorageType());
System.out.println(" maxVersions=" + response.getMaxVersions());
System.out.println("==================================");
} catch (BceClientException e) {
return;
}
}
列举所有表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相关信息参见异常处理
private static void myListTables(TableStorageClient tableStorageClient) {
ListTablesRequest listTablesRequest = new ListTablesRequest();
try {
// 列举当前实例下的所有表
ListTablesResponse response = tableStorageClient.listTables(listTablesRequest);
// 打印列举表信息
System.out.println("==================================");
System.out.println("ListTableResponse result:");
for (ListTablesResponse.TableInfo info : response.getTables()) {
System.out.println("TableInfo result:");
System.out.println(" tableName=" + info.getTableName() + ",");
System.out.println(" tableState=" + info.getTableState() + ",");
System.out.println(" tableVersion=" + info.getTableVersion() + ",");
System.out.println(" tableStorageType=" + info.getStorageType());
System.out.println(" maxVersions=" + info.getMaxVersions());
}
System.out.println("==================================");
} catch (BceClientException e) {
return;
}
}