全部产品
表格存储

初始化

更新时间:2017-06-07 13:26:11   分享:   

OTSClient 是表格存储服务的客户端,它为调用者提供了一系列的方法,可以用来操作表、读写单行数据、读写多行数据等。使用 Java SDK 发起 TableStore 请求,您需要初始化一个 OTSClient 实例,并根据需要修改 ClientConfiguration 的默认配置项。

确定 Endpoint

Endpoint 是阿里云表格存储服务各个实例的域名地址,目前支持下列形式。

示例 解释
http://sun.cn-hangzhou.ots.aliyuncs.com HTTP 协议,公网网络访问杭州区域的 sun 实例。
https://sun.cn-hangzhou.ots.aliyuncs.com HTTPS 协议,公网网络访问杭州区域的 sun 实例。

提示:

  • 除了公网可以访问外,也支持私网地址。

  • 您可以登陆阿里云的表格存储控制台,进入 Instance 概览页,实例访问地址即是该实例的 Endpoint。

配置密钥

要接入阿里云的表格存储服务,您需要拥有一个有效的访问密钥进行签名认证。目前支持下面三种方式:

  • 主帐号的 AccessKeyId 和 AccessKeySecret。创建步骤如下:

    1. 在阿里云官网注册阿里云帐号

    2. 登录阿里云的管理控制台申请 AccessKey

  • 被授予访问表格存储权限的子帐号的 AccessKeyId 和 AccesskeySecret。创建步骤如下:

    1. 使用主帐号前往访问控制 RAM,创建一个新的子帐号或者使用已经存在的子帐号。

    2. 使用主帐号授予子帐号访问表格存储的权限。

    3. 子帐号被授权后,就可以使用自己的 AccessKeyId 和 AccessKeySecret 访问了。

  • 临时访问的 STS token。获取步骤如下:

    1. 应用的服务器通过访问 RAM/STS 服务,获取一个临时的 AccesskeyId、AccesskeySecret 和 token,发送给使用方。

    2. 使用方使用上述临时密钥访问表格存储服务。

初始化对接步骤

在获取到 AccessKeyId 和 AccessKeySecret 等密钥之后,您可以按照下面步骤进行初始化对接。

  1. 使用表格存储的 Endpoint 新建 Client。接口如下:

    1. /**
    2. * 使用指定的OTS Endpoint和默认配置构造一个新的实例。
    3. *
    4. * 注意:
    5. * 1. 大多数情况下,全局创建一个OTSClient对象即可(线程安全),不需要每次创建一个。
    6. * 当并发极高时(数万QPS),可以尝试使用多个OTSClient对象进行性能测试与调优,但数目也不宜过多。
    7. * 2. 每个OTSClient会占用一定的线程、连接资源,可以通过ClientConfiguration配置线程数、连接数等。
    8. * 3. 在使用完毕后,请调用shutdown方法释放OTSClient占有的线程和连接资源。
    9. *
    10. * @param endpoint TableStore服务的endpoint。
    11. * @param accessKeyId 访问TableStore服务的Access Key ID。
    12. * @param accessKeySecret 访问TableStore服务的Access Key Secret。
    13. */
    14. public OTSClient(String endpoint, String accessKeyId,
    15. String accessKeySecret, String instanceName);

    使用示例:

    1. final String endPoint = "<your endpoint>";
    2. final String accessId = "<your access id>";
    3. final String accessKey = "<your access key>";
    4. final String instanceName = "<your instance name>";
    5. // 创建一个OTSClient对象
    6. OTSClient client = new OTSClient(endPoint, accessId, accessKey, instanceName);
    7. // 使用client读写TableStore
    8. // 关闭client
    9. client.shutdown();

    提示:

    • 除了支持 AccessKeyId 和 AccessKeySecret 外,还支持 STS token 访问。

    • 在创建 OTSClient 时,也支持通过 ClientConfiguration 参数设置一些参数,比如超时时间,最大连接数,最多重试次数等。

  2. 配置 OTSClient。

    如果您需要修改 OTSClient 的一些默认配置,请在构造 OTSClient 的时候传入 ClientConfiguration 实例。 ClientConfiguration 是 OTSClient 的配置类,可配置代理、连接超时、最大连接数等参数。 通过 ClientConfiguration 可以设置的参数见下表:

参数 描述 默认值 方法
MaxConnections 允许打开的最大 HTTP 连接数。 300 ClientConfiguration.setMaxConnections
SocketTimeoutInMillisecond Socket 层传输数据的超时时间,0 表示无限等待(单位:毫秒)。 15 × 1000 ClientConfiguration. setSocketTimeoutInMillisecond
ConnectionTimeoutInMillisecond 建立连接的超时时间,0 表示无限等待(单位:毫秒) 。 15 × 1000 ClientConfiguration. setConnectionTimeoutInMillisecond
RetryThreadCount 用于执行错误重试的线程池的线程的个数。 1 ClientConfiguration.setRetryThreadCount
IoThreadCoun HttpAsyncClient 的 IOReactor 的线程数。 CPU 数 ClientConfiguration.setIoThreadCount
ProxyPort 代理服务器端口。 null public void setProxyPort (int proxyPort)
ProxyHost 代理服务器主机地址。 null ClientConfiguration.setProxyHost
ProxyUsername 代理服务器验证的用户名。 null ClientConfiguration.setProxyUsername
ProxyPassword 代理服务器验证的密码。 null ClientConfiguration.setProxyPassword
ProxyDomain 设置访问 NTLM 验证的代理服务器的 Windows 域名。 null ClientConfiguration.setProxyDomain
ProxyWorkstation NTLM 代理服务器的 Windows 工作站名称。 null ClientConfiguration.setProxyWorkstation
UserAgent 用户代理,指 HTTP 的 User-Agent 头。 aliyun-tablestore-sdk-java ClientConfiguration.setUserAgent

HTTPS

  • 升级到 java 7 后即可。

多线程

  • 支持多线程。

  • 使用多线程时,建议共用一个 OTSClient 对象。

本文导读目录
本文导读目录
以上内容是否对您有帮助?