全部產品
Search
文件中心

Tablestore:初始化OTSClient

更新時間:Aug 29, 2024

OTSClient是Table Store服務的用戶端,它為調用者提供了一系列的方法,可以用來動作表、讀寫單行資料、讀寫多行資料等。使用.NET SDK發起請求,您需要初始化一個OTSClient執行個體,並根據需要修改OTSClientConfig的預設配置項。

注意事項

Tablestore.NET SDK支援使用多線程。使用多線程時,建議共用一個OTSClient對象。

準備工作

初始化OTSClient前,您需要完成擷取執行個體Endpoint、安裝Tablestore.NET SDK和配置訪問憑證的準備工作。

擷取執行個體Endpoint

建立執行個體後,您需要擷取執行個體網域名稱地址(Endpoint)用於後續通過Endpoint訪問執行個體。

Endpoint是阿里雲Tablestore服務各個執行個體的網域名稱地址,例如https://sun.cn-hangzhou.ots.aliyuncs.com,表示使用HTTPS協議通過公網網路訪問華東1(杭州)地區的sun執行個體。更多資訊,請參見服務地址

  1. 如果未開通Tablestore服務,請進行開通。具體操作,請參見開通Table Store服務

  2. 建立執行個體。具體操作,請參見建立執行個體

  3. 建立執行個體後擷取執行個體的Endpoint。

    1. 登入Table Store控制台

    2. 概覽頁面,單擊執行個體名稱。

    3. 執行個體詳情頁簽的執行個體訪問地址地區即可查看該執行個體的服務地址(Endpoint)。

      image

安裝Tablestore.NET SDK

具體操作,請參見安裝Table Store.NET SDK

配置訪問憑證

要接入阿里雲的Tablestore服務,您需要擁有一個有效存取金鑰進行簽名認證。具體操作,請參見配置訪問憑證

初始化OTSClient

使用Tablestore的SDK時,您必須首先構造一個OTSClient,通過調用該OTSClient的介面來訪問Tablestore服務。

介面

/// <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);                   

樣本

警告

阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。本樣本以將AccessKey、SecurityToken儲存在環境變數中來實現身分識別驗證為例介紹。

說明

運行本程式碼範例之前,請確保已設定環境變數OTS_AK_ENVOTS_SK_ENV。更多資訊,請參見配置訪問憑證

// 構造一個OTSClientConfig對象。
public static string Endpoint = "yourEndpoint";
public static string InstanceName = "yourInstance";
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

執行個體名稱。更多資訊,請參見執行個體

APIVersion

2015-12-31

OTS協議的版本,預設為"2015-12-31"。

ConnectionLimit

300

與OTS建立串連的最大數量。預設值為300。

RetryPolicy

DefaultRetryPolicy

重試策略。預設配置為DefaultRetryPolicy。您也可以自訂重試策略。

如果要關閉重試策略,設定此參數為null即可。

OTSDebugLogHandler

null

Debug層級Tlog函數,用來列印正常的請求和響應資訊。預設配置為defaultOTSDebugLogHandler。

如果要關閉Debug層級的日誌列印,設定此參數為null即可。

OTSErrorLogHandler

null

Error層級Tlog函數,用來列印Table Store服務端返回的錯誤記錄檔。預設配置為defaultOTSErrorLogHandler。

如果要關閉Error層級的日誌列印,設定此參數為null即可。

常見問題

使用Table StoreSDK時出現Signature mismatch異常