阿里云-表格存储服务SDK参考手册_第1页
阿里云-表格存储服务SDK参考手册_第2页
阿里云-表格存储服务SDK参考手册_第3页
阿里云-表格存储服务SDK参考手册_第4页
阿里云-表格存储服务SDK参考手册_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、表格存储SDK参考手册表格存储/SDK参考手册 PAGE 70SDK参考手册Java-SDK 前言简介本文档主要介绍TableStore(原OTS)Java SDK的安装和使用,适用2.2.4版本。并且假设您已经开通了阿里云TableStore服务,并创建了AccessKeyId 和AccessKeySecret。如果您还没有开通或者还不了解阿里云TableStore服务,请登录TableStore产品主页了解。如果还没有创建AccessKeyId和AccessKeySecret,请到阿里云Access Key管理创建Access Key。SDK下载SDK包:aliyun_tablestore

2、_java_sdk_2.2.4.zipGitHub:/aliyun/aliyun-tablestore-java-sdk版本迭代详情参考这里版本当前最新版本:2.2.4兼容性对于2.x.x 系列SDK:兼容变更内容新增condition update新增filter安装环境准备适用于JDK 6及以上版本安装方式Maven方式com.aliyun.openservicesots-public2.2.4在Maven工程中使用TableStore Java SDK只需在pom.xml中加入相应依赖即可。以2.2.4版本为例,在dependencies标签内加入如下内容:Eclipse中导入JAR包以

3、2.2.4版本为例,步骤如下:下载Java SDK开发包版本号 aliyun_tablestore_java_sdk_2.2.4.zip解压该开发包;将解压后文件夹中的文件: ots-public-.jar 以及lib文件夹下的所有文件拷贝到您的项目中;在Eclipse中选择您的工程,右击 - Properties - Java Build Path - Add JARs;选中您在第三步拷贝的所有JAR文件;经过以上几步,您就可以在Eclipse项目中使用TableStore Java SDK。示例程序TableStore Java SDK提供丰富的示例程序,方便用户参考或直接使用。您可以通过

4、以下两种方式获取示例程序:下载TableStore Java SDK开发包后,解压后examples为示例程序;访问TableStore Java SDK的GitHub项目:aliyun-tablestore-java-sdk初始化OTSClient是表格存储(TableStore)服务的客户端,它为调用者提供了一系列的方法,可以用来操作表、读写单 行数据、读写多行数据等。使用Java SDK发起TableStore请求,您需要初始化一个OTSClient实例,并根据需 要修改ClientConfiguration的默认配置项。确定EndpointEndpoint是阿里云TableStore服

5、务各个实例的域名地址,目前支持下列形式示例解释 HYPERLINK / HTTP协议,公网网络访问杭州区域的sun实例HTTPS协议,公网网络访问杭州区域的sun实例提示:除了公网可以访问外,也支持私网地址。您可以登陆阿里云TableStore控制台,进入Instance概览页,实例访问地址即是该实例的Endpoint。配置密钥要接入阿里云TableStore,您需要拥有一个有效的访问密钥进行签名认证。目前支持下面三种方式:主帐号的AccessKeyId和AccessKeySecret通过以下方式获得注册阿里云帐号申请AccessKey被授予访问TableStore权限的子帐号的AccessK

6、eyId和AccesskeySecret主帐号前往访问控制RAM创建一个新的子帐号或者使用已经存在的子帐号主帐号授予子帐号访问TableStore的权限子帐号被授权后,就可以使用自己的AccessKeyId和AccessKeySecret访问了。临时访问的STS token应用的服务器通过访问RAM/STS服务,获取一个临时的AccesskeyId,AccesskeySecret和tokne,发送给使用方使用方使用上述临时密钥访问TableStore服务在获取到 AccessKeyId和 AccessKeySecretd等密钥之后,您可以按照下面步骤进行初始化对接新建Client使用Table

7、Store Endpoint新建Client/*使用指定的OTS Endpoint和默认配置构造一个新的实例。*注意:1. 大多数情况下,全局创建一个OTSClient对象即可(线程安全),不需要每次创建一个。当并发极高时(数万QPS),可以尝试使用多个OTSClient对象进行性能测试与调优,但数目也不宜过多。2. 每个OTSClient会占用一定的线程、连接资源,可以通过ClientConfiguration配置线程数、连接数等。3. 在使用完毕后,请调用shutdown方法释放OTSClient占有的线程和连接资源。*param endpoint TableStore服务的endpoin

8、t。param accessKeyId 访问TableStore服务的Access Key ID。param accessKeySecret 访问TableStore服务的Access Key Secret。*/public OTSClient(String endpoint, String accessKeyId, String accessKeySecret, String instanceName);接口示例final String endPoint = ; final String accessId = ;final String accessKey = ;final String i

9、nstanceName = ;/ 创建一个OTSClient对象OTSClient client = new OTSClient(endPoint, accessId, accessKey, instanceName);/ 使用client读写TableStore/ 关 闭 client client.shutdown();提示:除了支持AccessKeyId,AccessKeySecret外,还支持STS token访问。在创建OTSClient时,也支持通过ClientConfiguration参数设置一些参数,比如超时时间,最大 连接数,最多重试次数等配置OTSClient如果您需要修改

10、OTSClient的一些默认配置,请在构造OTSClient的时候传入ClientConfiguration实例。ClientConfiguration是OTSClient的配置类,可配置代理、连接超时、最大连接数等参数。 通过ClientConfiguration可以设置的参数见下表:参数描述默认值方法MaxConnections允许打开的最大HTTP连接数300ClientConfiguration. setMaxConnectionsSocketTimeoutInMill isecondSocket层传输数据的超时时间,0表示无限等待(单位:毫秒)15 1000ClientConfigu

11、ration. setSocketTimeoutIn MillisecondConnectionTimeoutI nMillisecond建立连接的超时时间,0表示无限等待(单位:毫秒)15 1000ClientConfiguration. setConnectionTimeo utInMillisecondRetryThreadCount用于执行错误重试的线程池的线程的个数1ClientConfiguration. setRetryThreadCoun tIoThreadCounHttpAsyncClient的IOReactor的线程数CPU数ClientConfiguration. set

12、IoThreadCountProxyPort代理服务器端口nullpublic void setProxyPort(int proxyPort)ProxyHost代理服务器主机地址nullClientConfiguration. setProxyHostProxyUsername代理服务器验证的用户名nullClientConfiguration. setProxyUsernameProxyPassword代理服务器验证的密码nullClientConfiguration. setProxyPasswordProxyDomain设置访问NTLM验证的代理服务器的Windows域名nullCli

13、entConfiguration. setProxyDomainProxyWorkstationNTLM代理服务器的Windows工作站名称nullClientConfiguration. setProxyWorkstationUserAgent用户代理,指HTTP的User-Agent头。aliyun-tablestore- sdk-javaClientConfiguration. setUserAgentHTTPS升级到java 7后即可多线程支持多线程使用多线程时,建议共用一个OTSClient对象。表操作SDK提供了CreateTable,ListTable,DeleteTable,U

14、pdateTable和DescribeTable等表级别的操作接口创建表(CreateTable)根据给定的表结构信息创建相应的表。创建Table Store表时必须指定表的主键。主键包含14个主键列。每一个主键列都有名字和类型。/*创建表(Table)。*param createTableRequest 执行CreateTable操作所需参数的封装。return CreateTable操作的响应内容。throws OTSException OTS访问返回错误消息throws ClientException 请求的返回结果无效, 或由于网络原因请求失败, 或访问超时。*/public Crea

15、teTableResult createTable(CreateTableRequest createTableRequest) throws OTSException, ClientException;接口提示:- Table Store表在被创建之后需要几秒钟进行加载,在此期间对该表的读写数据操作均会失败。示例/创建主键列的schema,包括PK的个数,名称和类型/第一个PK列为整数,名称是pk0,这个同时也是分片列/第二个PK列为整数,名称是pk1TableMeta tableMeta = new TableMeta(SampleTable); tableMeta.addPrimaryK

16、eyColumn(pk0, PrimaryKeyType.INTEGER); tableMeta.addPrimaryKeyColumn(pk1, PrimaryKeyType.INTEGER);/ 将该表的读写CU都设置为0CapacityUnit capacityUnit = new CapacityUnit(0, 0);try创建一个有2个主键列,预留读写吞吐量为(0,0)的表。/ 构造CreateTableRequest对象CreateTableRequest request = new CreateTableRequest();/ 调用client的createTable接口,如果没

17、有抛出异常,则说明成功,否则失败client.createTable(request);System.out.println(Create table succeeded.); catch (ClientException ex) / 如果抛出客户端异常,则说明参数等有误System.out.println(Create table failed.); catch (OTSException ex) / 如果抛出服务器端异常,则说明请求失败System.out.println(Create table failed.);提示:- 详细代码:createTableGitHub列出表名称(List

18、Table)获取当前实例下已创建的所有表的表名。/*返回表(Table)名的列表。*return ListTable 操作的响应内容。throws OTSException OTS访问返回错误消息throws ClientException 请求的返回结果无效,或由于网络原因请求失败,或访问超时。*/public ListTableResult listTable() throws OTSException, ClientException;接口示例try/ 调用listTable接口ListTableResult result = client.listTable();/ 打印table名称

19、for (String tableName : result.getTableNames() System.out.println(tableName);获取实例下所有表名System.out.println(List table succeeded.); catch (ClientException ex) / 如果抛出客户端异常,则说明参数等有误System.out.println(List table failed.); catch (OTSException ex) / 如果抛出服务器端异常,则说明请求失败System.out.println(List table failed.);提

20、示:- 详细代码:listTableGitHub更新表(UpdateTable)更新指定表的预留读吞吐量或预留写吞吐量设置/*更新表的读或写CapacityUnit。*param updateTableRequest 执行UpdateTable操作所需参数的封装。return UpdateTable 操作的响应内容。throws OTSException OTS访问返回错误消息throws ClientException 请求的返回结果无效, 或由于网络原因请求失败, 或访问超时。*/public UpdateTableResult updateTable(UpdateTableRequest

21、 updateTableRequest) throws OTSException, ClientException;接口示例/ 设定新的预留读吞吐量为1,写吞吐量为2ReservedThroughputChange cuChange = new ReservedThroughputChange();/ 若想单独调整写CU,则无须设置读CU cuChange.setReadCapacityUnit(1);/ 若想单独调整读CU,则无须设置写CU cuChange.setWriteCapacityUnit(2);/ 构造UpdateTableRequest对象UpdateTableRequest

22、request = new UpdateTableRequest(); request.setTableName(SampleTable); equest.setReservedThroughputChange(reservedThroughput);更新表的CU值为读1,写2try/ 调用接口更新表的预留读写吞吐量client.updateTable(request);/ 没有抛出异常,则说明执行成功System.out.println(Update table succeeded.); catch (ClientException ex) / 如果抛出客户端异常,则说明参数等有误Syste

23、m.out.println(Update table failed.); catch (OTSException ex) / 如果抛出服务器端异常,则说明请求失败System.out.println(Update table failed.);提示:- 详细代码:updateTableGitHub查询表描述信息(DescribeTable)查询指定表的结构信息和预留读写吞吐量设置信息。/*返回表(Table)的结构信息。*param describeTableRequest 执行DescribeTable操作所需参数的封装。return DescribeTable 操作的响应内容。throws

24、 OTSException OTS访问返回错误消息throws ClientException 请求的返回结果无效, 或由于网络原因请求失败, 或访问超时。*/public DescribeTableResult describeTable(DescribeTableRequest describeTableRequest) throws OTSException, ClientException;接口示例try/ 构造一个请求对象DescribeTableRequest request = new DescribeTableRequest(); request.setTableName(Sa

25、mpleTable);DescribeTableResult result = client.describeTable(request);获取表的描述信息/ 打印SampleTable的描述信息TableMeta tableMeta = result.getTableMeta(); System.out.println(Table name: + tableMeta.getTableName(); System.out.println(Table Pk:);for (String keyName : tableMeta.getPrimaryKey().keySet() System.out.

26、println(keyName + : + tableMeta.getPrimaryKey().get(keyName);ReservedThroughputDetails reservedThroughputDetails = result.getReservedThroughputDetails(); System.out.println(Table read CU:+ reservedThroughputDetails.getCapacityUnit().getReadCapacityUnit(); System.out.println(Table write CU:+ reserved

27、ThroughputDetails.getCapacityUnit().getWriteCapacityUnit(); catch (ClientException ex) / 如果抛出客户端异常,则说明参数等有误System.out.println(Descibe table failed.); catch (OTSException ex) / 如果抛出服务器端异常,则说明请求失败System.out.println(Describe row failed.);提示:- 详细代码:describeTableGitHub删除表(DeleteTable)删除本实例下指定的表。/*删除表(Tab

28、le)。*param deleteTableRequest 执行DeleteTable操作所需参数的封装。return DeleteTable 操作的响应内容。throws OTSException OTS访问返回错误消息throws ClientException 请求的返回结果无效, 或由于网络原因请求失败, 或访问超时。*/public DeleteTableResult deleteTable(DeleteTableRequest deleteTableRequest) throws OTSException, ClientException;接口示例DeleteTableReques

29、t request = new DeleteTableRequest(); request.setTableName(SampleTable);删除表try/ 删除表client.deleteTable(request);/ 如果没有抛出异常,则说明删除成功System.out.println(Delete table succeeded.); catch (ClientException ex) / 如果抛出客户端异常,则说明参数等有误System.out.println(Delete table failed.); catch (OTSException ex) / 如果抛出服务器端异常,

30、则说明请求失败System.out.println(Delete table failed.);提示:- 详细代码:deleteTableGitHub单行数据操作TableStore提供了PutRow,GetRow,UpdateRow和DeleteRow等单行操作的接口插入一行数据(PutRow)插入数据到指定的行。/*向表(Table)中插入或覆盖一行数据。*param putRowRequest 执行PutRow操作所需参数的封装。return PutRow 操作的响应内容。throws OTSException OTS访问返回错误消息throws ClientException 请求的返

31、回结果无效, 或由于网络原因请求失败, 或访问超时。*/public PutRowResult putRow(PutRowRequest putRowRequest) throws OTSException, ClientException;接口示例插入一行数据/ 定义行的主键,必须与创建表时的TableMeta中定义的一致RowPrimaryKey primaryKey = new RowPrimaryKey(); primaryKey.addPrimaryKeyColumn(pk0, PrimaryKeyValue.fromLong(1); primaryKey.addPrimaryKey

32、Column(pk1, PrimaryKeyValue.fromLong(101);RowPutChange rowChange = new RowPutChange(SampleTable); rowChange.setPrimaryKey(primaryKey);/ 定义要写入改行的属性列rowChange.addAttributeColumn(col0, ColumnValue.fromLong(10); rowChange.addAttributeColumn(col1, ColumnValue.fromLong(111111); rowChange.addAttributeColum

33、n(col2, ColumnValue.fromString(北上杭深);/ RowExistenceExpectation.EXPECT_NOT_EXIST表示只有此行不存在时才会执行插入rowChange.setCondition(new Condition(RowExistenceExpectation.EXPECT_NOT_EXIST);try/ 构造插入数据的请求对象,PutRowRequest request = new PutRowRequest(); request.setRowChange(rowChange);/ 调用PutRow接口插入数据client.PutRow(re

34、quest);/ 如果没有抛出异常,则说明执行成功System.out.println(Put row succeeded.); catch (ClientException ex) System.out.println(Put row failed.); catch (OTSException ex) System.out.println(Put row failed.);提示:RowExistenceExpectation.IGNORE表示不管此行是否已经存在,都会插入新数据,如果之前有 会被覆盖RowExistenceExpectation.EXPECT_EXIST表示只有此行存在时,才

35、会插入新数据,此时,原有 数据也会被覆盖RowExistenceExpectation.EXPECT_NOT_EXIST表示只有此行不存在时,才会插入数据,否则 不执行详细代码:PutRowGitHub条件插入一行数据/ 定义行的主键,必须与创建表时的TableMeta中定义的一致RowPrimaryKey primaryKey = new RowPrimaryKey(); primaryKey.addPrimaryKeyColumn(pk0, PrimaryKeyValue.fromLong(1); primaryKey.addPrimaryKeyColumn(pk1, PrimaryKey

36、Value.fromLong(101);下列示例演示:当行存在,且col0小于5,且col2不等于beijing的时候才执行插入操作RowPutChange rowChange = new RowPutChange(SampleTable); rowChange.setPrimaryKey(primaryKey);/ 定义要写入改行的属性列rowChange.addAttributeColumn(col0, ColumnValue.fromLong(10); rowChange.addAttributeColumn(col1, ColumnValue.fromLong(111111); row

37、Change.addAttributeColumn(col2, ColumnValue.fromString(北上杭深);try/条件1:col0的值小于5ColumnCondition filter1 = new RelationalCondition( col0, RelationalCondition.CompareOperator.LESS_THAN, ColumnValue.fromLong(5);/条件2:col2不等于beijing的行ColumnCondition filter2 = new RelationalCondition( col2, RelationalCondit

38、ion.CompareOperator.NOT_EQUAL, ColumnValue.fromString(beijing);/ 组合条件1和条件2,关系是ANDColumnCondition cond = new CompositeCondition(CompositeCondition.LogicOperator.AND).addCondition(filter1).addCondition(filter2);/ RowExistenceExpectation.EXPECT_NOT_EXIST表示只有此行不存在时才会执行后面逻辑,否则直接返回Condition condition = ne

39、w Condition(RowExistenceExpectation.EXPECT_NOT_EXIST);/ 设置列条件,只有col0小于5且col2不等于beijing的时候才会插入condition.setColumnCondition(cond);/ 设置条件rowChange.setCondition(cond);/ 构造插入数据的请求对象PutRowRequest request = new PutRowRequest(); request.setRowChange(rowChange);/ 调用PutRow接口插入数据 client.PutRow(request);/ 如果没有抛

40、出异常,则说明执行成功System.out.println(Put row succeeded.); catch (ClientException ex) / 如果抛出客户端异常,则说明参数等有误System.out.println(Put row failed.); catch (OTSException ex) / 如果抛出服务器端异常,则说明请求失败System.out.println(Put row failed.);读取一行数据(GetRow)根据给定的主键读取单行数据。/*返回表(Table)中的一行数据。*param getRowRequest 执行GetRow操作所需参数的封装

41、。return GetRow操作的响应内容。throws OTSException OTS访问返回错误消息throws ClientException 请求的返回结果无效, 或由于网络原因请求失败, 或访问超时。*/public GetRowResult getRow(GetRowRequest getRowRequest) throws OTSException, ClientException;接口示例/ 定义行的主键,必须与创建表时的TableMeta中定义的一致RowPrimaryKey primaryKeys = new RowPrimaryKey(); primaryKeys.ad

42、dPrimaryKeyColumn(pk0, PrimaryKeyValue.fromLong(1);primaryKeys.addPrimaryKeyColumn(pk1, PrimaryKeyValue.fromLong(101);SingleRowQueryCriteria criteria = new SingleRowQueryCriteria(SampleTable); criteria.setPrimaryKey(primaryKeys);try/ 构造查询请求对象,这里未指定读哪列,默认读整行GetRowRequest request = new GetRowRequest()

43、; request.setRowQueryCriteria(criteria);/ 调用GetRow接口查询数据GetRowResult result = client.getRow(request);/ 输出此行的数据Row row = result.getRow();int consumedReadCU = result.getConsumedCapacity().getCapacityUnit().getReadCapacityUnit(); System.out.println(Consumed capacity unti: + consumedReadCU); System.out.

44、println(col0: + row.getColumns().get(col0);System.out.println(col1: + row.getColumns().get(col1); System.out.println(col2: + row.getColumns().get(col2);/ 如果没有抛出异常,则说明成功System.out.println(Get row succeeded.); catch (ClientException ex) / 如果抛出客户端异常,则说明参数等有误System.out.println(Get row failed.); catch (O

45、TSException ex) / 如果抛出服务器端异常,则说明请求失败System.out.println(Get row failed.);读取一行数据提示:查询一行数据时,默认返回这一行所有列的数据,如果想只返回特定行,可以通过criteria.addColumnsToGet接口限制,如果将col0和col1加入到columnsToGet中,则只返回col0和col1的值。查询时也支持按条件过滤,比如当col0的值大于24时才返回结果当columnsToGet和condition同时使用时,顺序是columnsToGet先生效,然后再去返回的列 中去过滤当某列不存在时的行为,可以通过Pa

46、ssIfMissing控制详细代码:GetRowGitHub过滤读取一行数据/ 定义行的主键,必须与创建表时的TableMeta中定义的一致RowPrimaryKey primaryKeys = new RowPrimaryKey(); primaryKeys.addPrimaryKeyColumn(pk0, PrimaryKeyValue.fromLong(1);primaryKeys.addPrimaryKeyColumn(pk1, PrimaryKeyValue.fromLong(101);SingleRowQueryCriteria criteria = new SingleRowQu

47、eryCriteria(SampleTable); criteria.setPrimaryKey(primaryKeys);try/条件1:col0的值等于24ColumnCondition filter1 = new RelationalCondition( col0, RelationalCondition.CompareOperator.EQUAL, ColumnValue.fromLong(24);/条件2:col2不等于chengdu的行ColumnCondition filter2 = new RelationalCondition( col1, RelationalConditi

48、on.CompareOperator.NOT_EQUAL, ColumnValue.fromString(chengdu);/ 组合条件1和条件2,关系是ORcriteria.setFilter(new CompositeCondition(CompositeCondition.LogicOperator.OR).addCondition(filter1).addCondition(filter2);/ 构造查询请求对象,这里未指定读哪列,默认读整行GetRowRequest request = new GetRowRequest(); request.setRowQueryCriteria(

49、criteria);/ 调用GetRow接口查询数据GetRowResult result = client.getRow(request);/ 输出此行的数据Row row = result.getRow();下面演示查询数据,在col0和col2上面过滤,只有满足条件是col0等于24,或者col2不等于chengdu的列才 会返回。int consumedReadCU = result.getConsumedCapacity().getCapacityUnit().getReadCapacityUnit(); System.out.println(Consumed capacity un

50、ti: + consumedReadCU); System.out.println(col0: + row.getColumns().get(col0);System.out.println(col2: + row.getColumns().get(col2);/ 如果没有抛出异常,则说明成功System.out.println(Get row succeeded.); catch (ClientException ex) / 如果抛出客户端异常,则说明参数等有误System.out.println(Get row failed.); catch (OTSException ex) / 如果抛

51、出服务器端异常,则说明请求失败System.out.println(Get row failed.);更新一行数据(UpdateRow)更新指定行的数据,如果该行不存在,则新增一行;若该行存在,则根据请求的内容在这一行中新增、修改或 者删除指定列的值/*更新表的读或写CapacityUnit。*param updateTableRequest 执行UpdateTable操作所需参数的封装。return UpdateTable操作的响应内容。throws OTSException OTS访问返回错误消息throws ClientException 请求的返回结果无效, 或由于网络原因请求失败,

52、或访问超时。*/public UpdateTableResult updateTable(UpdateTableRequest updateTableRequest) throws OTSException, ClientException;接口示例/ 定义行的主键,必须与创建表时的TableMeta中定义的一致RowUpdateChange rowChange = new RowUpdateChange(SampleTable); RowPrimaryKey primaryKeys = new RowPrimaryKey(); primaryKeys.addPrimaryKeyColumn(

53、pk0, PrimaryKeyValue.fromLong(1); primaryKeys.addPrimaryKeyColumn(pk1, PrimaryKeyValue.fromLong(101); rowChange.setPrimaryKey(primaryKeys);/ 定义要写入改行的属性列rowChange.addAttributeColumn(col0, ColumnValue.fromLong(99); rowChange.addAttributeColumn(col2, ColumnValue.fromString(京沪杭深);/ 删除col1更新一行数据rowChange

54、.deleteAttributeColumn(col1);rowChange.setCondition(new Condition(RowExistenceExpectation.EXPECT_EXIST); try/ 构造更新行的请求对象UpdateRowRequest request = new UpdateRowRequest(); request.setRowChange(rowChange);/ 调用UpdateRow接口执行client.updateRow(request);/ 如果没有抛出异常,则说明执行成功System.out.println(Update row succee

55、ded.); catch (ClientException ex) / 如果抛出客户端异常,则说明参数等有误System.out.println(Update row failed.); catch (OTSException ex) / 如果抛出服务器端异常,则说明请求失败System.out.println(Update row failed.);提示:更新一行数据也支持条件语句详细代码:UpdateRowGitHub删除一行数据(DeleteRow)/*删除表(Table)中的一行数据。*param deleteRowRequest 执行DeleteRow操作所需参数的封装。return

56、 DeleteRow操作的响应内容。throws OTSException OTS访问返回错误消息throws ClientException 请求的返回结果无效, 或由于网络原因请求失败, 或访问超时。*/public DeleteRowResult deleteRow(DeleteRowRequest deleteRowRequest) throws OTSException, ClientException;接口示例/ 要删除的行的PK列分别为0和100删除一行数据RowDeleteChange rowChange = new RowDeleteChange(SampleTable);

57、RowPrimaryKey primaryKeys = new RowPrimaryKey(); primaryKeys.addPrimaryKeyColumn(pk0, PrimaryKeyValue.fromLong(0); primaryKeys.addPrimaryKeyColumn(pk1, PrimaryKeyValue.fromLong(100); rowChange.setPrimaryKey(primaryKeys);try/ 构造请求DeleteRowRequest request = new DeleteRowRequest(); request.setRowChange

58、(rowChange);/ 调用DeleteRow接口执行删除client.deleteRow(request);/ 如果没有抛出异常,则表示成功System.out.println(Delete table succeeded.); catch (ClientException ex) / 如果抛出客户端异常,则说明参数等有误System.out.println(Delete row failed.); catch (OTSException ex) / 如果抛出服务器端异常,则说明请求失败System.out.println(Delete row failed.);提示:删除一行数据也支持

59、条件语句详细代码:DeleteRowGitHub多行数据操作批量读(BatchGetRow)批量读取一个或多个表中的若干行数据。BatchGetRow操作可视为多个GetRow操作的集合,各个操作独立执 行,独立返回结果,独立计算服务能力单元。与执行大量的GetRow操作相比,使用BatchGetRow操作可以有 效减少请求的响应时间,提高数据的读取速率。/*从多张表(Table)中获取多行数据。*param batchGetRowRequest 执行BatchGetRow操作所需参数的封装。return BatchGetRow操作的响应内容。throws OTSException OTS访问

60、返回错误消息接口* throws ClientException 请求的返回结果无效, 或由于网络原因请求失败, 或访问超时。*/public BatchGetRowResult batchGetRow(BatchGetRowRequest batchGetRowRequest) throws OTSException, ClientException;示例try/ 构造BatchGetRow对象和参数BatchGetRowRequest request = new BatchGetRowRequest(); MultiRowQueryCriteria tableRows = new Mult

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论