文档

初始化OTSClient

更新时间:

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

注意事项

表格存储.NET SDK支持使用多线程。使用多线程时,建议共用一个OTSClient对象。

准备工作

初始化OTSClient前,您需要完成配置访问密钥、获取实例Endpoint和安装表格存储.NET SDK的准备工作。

配置访问密钥

要接入阿里云的表格存储服务,您需要拥有一个有效的访问密钥进行签名认证。目前支持如下三种方式获取AccessKey。为了保证访问密钥安全,请根据使用的操作系统将访问密钥配置到环境变量。

  1. 获取访问密钥。

    重要

    为避免阿里云账号泄露AccessKey带来的安全风险,建议您通过RAM用户来完成授权和AccessKey的创建。

    获取方式

    操作

    阿里云账号的AccessKey ID和AccessKey Secret

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

    2. 创建AccessKey ID和AccessKey Secret。具体操作,请参见创建AccessKey

    被授予访问表格存储权限RAM用户的AccessKey ID和AccessKey Secret

    1. 使用阿里云账号前往访问控制RAM,创建一个新的RAM用户或者使用已经存在的RAM用户。

    2. 使用阿里云账号授予RAM用户访问表格存储的权限。具体操作,请参见通过RAM Policy为RAM用户授权

    3. 为RAM用户授权后,即可使用RAM用户的AccessKey ID和AccessKey Secret访问。具体操作,请参见创建AccessKey

    从STS获取的临时访问凭证

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

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

  2. 配置环境变量。

    表格存储使用OTS_AK_ENV环境变量名表示阿里云账号或者RAM用户的AccessKey ID,使用OTS_SK_ENV环境变量名表示对应AccessKey Secret,请根据实际配置。

    • Linux和macOS系统配置方法

      执行如下命令配置环境变量。其中<ACCESS_KEY_ID>请替换为已准备好的AccessKey ID,<ACCESS_KEY_SECRET>请替换为对应的AccessKey Secret。

      export OTS_AK_ENV=<ACCESS_KEY_ID>
      export OTS_SK_ENV=<ACCESS_KEY_SECRET>
    • Windows系统配置方法

      通过图形化界面方式在环境变量对话框的系统变量区域中分别添加环境变量OTS_AK_ENV和OTS_SK_ENV,并将环境变量分别配置为已准备好的AccessKey ID和AccessKey Secret,然后保存配置即可。

      image

获取实例Endpoint

创建实例后,您需要获取实例域名地址(Endpoint)用于后续通过Endpoint访问实例。

Endpoint是阿里云表格存储服务各个实例的域名地址,例如https://sun.cn-hangzhou.ots.aliyuncs.com,表示使用HTTPS协议通过公网网络访问华东1(杭州)地域的sun实例。更多信息,请参见服务地址

  1. 如果未开通表格存储服务,请进行开通。具体操作,请参见开通表格存储服务

  2. 创建实例。具体操作,请参见创建实例

  3. 创建实例后获取实例的Endpoint。

    1. 登录表格存储控制台

    2. 概览页面,单击实例名称。

    3. 实例详情页签的实例访问地址区域即可查看该实例的服务地址(Endpoint)。

      fig_endpoint

安装表格存储.NET SDK

具体操作,请参见安装表格存储.NET SDK

初始化对接

使用表格存储的SDK时,您必须首先构造一个OTSClient,通过调用该OTSClient的接口来访问表格存储服务。

重要

阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。本示例以将AccessKey保存在环境变量中来实现身份验证为例介绍。

接口

/// <summary>
/// OTSClient的构造函数。
/// </summary>
/// <param name="endPoint">OTS服务的地址(例如'https://instance.cn-hangzhou.ots.aliyun.com:80'),必须以'https://'开头。</param>
/// <param name="accessKeyID">OTS的Access Key ID,通过官方网站申请。</param>
/// <param name="accessKeySecret">OTS的Access Key Secret,通过官方网站申请。</param>
/// <param name="instanceName">OTS实例名,通过官方网站控制台创建。</param>
public OTSClient(string endPoint, string accessKeyID, string accessKeySecret, string instanceName);

/// <summary>
/// 通过客户端配置OTSClientConfig的实例来创建OTSClient实例。
/// </summary>
/// <param name="config">客户端配置实例</param>
public OTSClient(OTSClientConfig config);                   

示例

  1. 使用表格存储的Endpoint新建OTSClient。

    // 构造一个OTSClientConfig对象。
    public static string AccessKeyId = Environment.GetEnvironmentVariable("OTS_AK_ENV");
    public static string AccessKeySecret = Environment.GetEnvironmentVariable("OTS_SK_ENV");
    var config = new OTSClientConfig(Endpoint, AccessKeyId, AccessKeySecret, InstanceName);
    // 禁止输出日志,默认是打开的。
    config.OTSDebugLogHandler = null;
    config.OTSErrorLogHandler = null;
    // 使用OTSClientConfig创建一个OtsClient对象。
    var otsClient = new OTSClient(config);

    配置参数说明请参见下表。

    参数

    示例

    说明

    Endpoint

    https://myinstance.cn-hangzhou.ots.aliyuncs.com

    实例的访问地址。具体操作,请参见获取实例Endpoint

    AccessKeyId

    Environment.GetEnvironmentVariable("OTS_AK_ENV")

    通过环境变量获取AccessKey。

    请确保已配置相应环境变量。具体操作,请参见配置访问密钥

    AccessKeySecret

    Environment.GetEnvironmentVariable("OTS_SK_ENV")

    InstanceName

    myinstance

    实例名称。更多信息,请参见实例

  2. 配置OTSClient。

    如果您需要修改OTSClient的一些默认配置,请在构造OTSClient时传入对应参数,例如最大连接数、重试策略等参数。 具体设置的参数见下表。

    参数

    说明

    ConnectionLimit

    与OTS建立连接的最大数量。默认值为300。

    OTSDebugLogHandler

    Debug级别日志处理函数,用来打印正常的请求和响应信息。默认配置为defaultOTSDebugLogHandler。

    如果要关闭Debug级别的日志打印,设置此参数为null即可。

    OTSErrorLogHandler

    Error级别日志处理函数,用来打印表格存储服务端返回错误时的日志。默认配置为defaultOTSErrorLogHandler。

    如果要关闭Error级别的日志打印,设置此参数为null即可。

    RetryPolicy

    重试策略。默认配置为DefaultRetryPolicy。您也可以自定义重试策略。

    如果要关闭重试策略,设置此参数为null即可。

常见问题

使用表格存储SDK时出现Signature mismatch异常

  • 本页导读 (1)
文档反馈