初始化OTSClient
本文中含有需要您注意的重要提示信息,忽略該信息可能對(duì)您的業(yè)務(wù)造成影響,請(qǐng)務(wù)必仔細(xì)閱讀。
OTSClient是表格存儲(chǔ)服務(wù)的客戶端,它為調(diào)用者提供了一系列的方法,可以用來(lái)操作表、讀寫(xiě)單行數(shù)據(jù)、讀寫(xiě)多行數(shù)據(jù)等。使用.NET SDK發(fā)起請(qǐng)求,您需要初始化一個(gè)OTSClient實(shí)例,并根據(jù)需要修改OTSClientConfig的默認(rèn)配置項(xiàng)。
注意事項(xiàng)
表格存儲(chǔ).NET SDK支持使用多線程。使用多線程時(shí),建議共用一個(gè)OTSClient對(duì)象。
準(zhǔn)備工作
初始化OTSClient前,您需要完成獲取實(shí)例Endpoint、安裝表格存儲(chǔ).NET SDK和配置訪問(wèn)憑證的準(zhǔn)備工作。
獲取實(shí)例Endpoint
創(chuàng)建實(shí)例后,您需要獲取實(shí)例域名地址(Endpoint)用于后續(xù)通過(guò)Endpoint訪問(wèn)實(shí)例。
Endpoint是阿里云表格存儲(chǔ)服務(wù)各個(gè)實(shí)例的域名地址,例如https://sun.cn-hangzhou.ots.aliyuncs.com
,表示使用HTTPS協(xié)議通過(guò)公網(wǎng)網(wǎng)絡(luò)訪問(wèn)華東1(杭州)地域的sun實(shí)例。更多信息,請(qǐng)參見(jiàn)服務(wù)地址。
如果未開(kāi)通表格存儲(chǔ)服務(wù),請(qǐng)進(jìn)行開(kāi)通。具體操作,請(qǐng)參見(jiàn)開(kāi)通表格存儲(chǔ)服務(wù)。
創(chuàng)建實(shí)例。具體操作,請(qǐng)參見(jiàn)創(chuàng)建實(shí)例。
創(chuàng)建實(shí)例后獲取實(shí)例的Endpoint。
在概覽頁(yè)面,單擊實(shí)例名稱。
在實(shí)例詳情頁(yè)簽的實(shí)例訪問(wèn)地址區(qū)域即可查看該實(shí)例的服務(wù)地址(Endpoint)。
安裝表格存儲(chǔ).NET SDK
具體操作,請(qǐng)參見(jiàn)安裝表格存儲(chǔ).NET SDK。
配置訪問(wèn)憑證
要接入阿里云的表格存儲(chǔ)服務(wù),您需要擁有一個(gè)有效的訪問(wèn)密鑰進(jìn)行簽名認(rèn)證。具體操作,請(qǐng)參見(jiàn)配置訪問(wèn)憑證。
初始化OTSClient
使用表格存儲(chǔ)的SDK時(shí),您必須首先構(gòu)造一個(gè)OTSClient,通過(guò)調(diào)用該OTSClient的接口來(lái)訪問(wèn)表格存儲(chǔ)服務(wù)。
接口
/// <summary>
/// OTSClient的構(gòu)造函數(shù)。
/// </summary>
/// <param name="endPoint">OTS服務(wù)的地址(例如'https://instance.cn-hangzhou.ots.aliyun.com:80'),必須以'https://'開(kāi)頭。</param>
/// <param name="accessKeyID">OTS的Access Key ID,通過(guò)官方網(wǎng)站申請(qǐng)。</param>
/// <param name="accessKeySecret">OTS的Access Key Secret,通過(guò)官方網(wǎng)站申請(qǐng)。</param>
/// <param name="instanceName">OTS實(shí)例名,通過(guò)官方網(wǎng)站控制臺(tái)創(chuàng)建。</param>
public OTSClient(string endPoint, string accessKeyID, string accessKeySecret, string instanceName);
/// <summary>
/// 通過(guò)客戶端配置OTSClientConfig的實(shí)例來(lái)創(chuàng)建OTSClient實(shí)例。
/// </summary>
/// <param name="config">客戶端配置實(shí)例</param>
public OTSClient(OTSClientConfig config);
示例
阿里云賬號(hào)AccessKey擁有所有API的訪問(wèn)權(quán)限,建議您使用RAM用戶進(jìn)行API訪問(wèn)或日常運(yùn)維。強(qiáng)烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號(hào)下所有資源的安全。本示例以將AccessKey、SecurityToken保存在環(huán)境變量中來(lái)實(shí)現(xiàn)身份驗(yàn)證為例介紹。
運(yùn)行本代碼示例之前,請(qǐng)確保已設(shè)置環(huán)境變量OTS_AK_ENV
和OTS_SK_ENV
。更多信息,請(qǐng)參見(jiàn)配置訪問(wèn)憑證。
// 構(gòu)造一個(gè)OTSClientConfig對(duì)象。
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);
// 禁止輸出日志,默認(rèn)是打開(kāi)的。
config.OTSDebugLogHandler = null;
config.OTSErrorLogHandler = null;
// 使用OTSClientConfig創(chuàng)建一個(gè)OtsClient對(duì)象。
var otsClient = new OTSClient(config);
配置參數(shù)說(shuō)明請(qǐng)參見(jiàn)下表。
參數(shù) | 示例 | 說(shuō)明 |
Endpoint | https://myinstance.cn-hangzhou.ots.aliyuncs.com | 實(shí)例的訪問(wèn)地址。具體操作,請(qǐng)參見(jiàn)獲取實(shí)例Endpoint。 |
AccessKeyId | Environment.GetEnvironmentVariable("OTS_AK_ENV") | 通過(guò)環(huán)境變量獲取AccessKey,請(qǐng)確保已配置相應(yīng)環(huán)境變量。 |
AccessKeySecret | Environment.GetEnvironmentVariable("OTS_SK_ENV") | |
InstanceName | myinstance | 實(shí)例名稱。更多信息,請(qǐng)參見(jiàn)實(shí)例。 |
APIVersion | 2015-12-31 | OTS協(xié)議的版本,默認(rèn)為"2015-12-31"。 |
ConnectionLimit | 300 | 與OTS建立連接的最大數(shù)量。默認(rèn)值為300。 |
RetryPolicy | DefaultRetryPolicy | 重試策略。默認(rèn)配置為DefaultRetryPolicy。您也可以自定義重試策略。 如果要關(guān)閉重試策略,設(shè)置此參數(shù)為null即可。 |
OTSDebugLogHandler | null | Debug級(jí)別日志處理函數(shù),用來(lái)打印正常的請(qǐng)求和響應(yīng)信息。默認(rèn)配置為defaultOTSDebugLogHandler。 如果要關(guān)閉Debug級(jí)別的日志打印,設(shè)置此參數(shù)為null即可。 |
OTSErrorLogHandler | null | Error級(jí)別日志處理函數(shù),用來(lái)打印表格存儲(chǔ)服務(wù)端返回的錯(cuò)誤日志。默認(rèn)配置為defaultOTSErrorLogHandler。 如果要關(guān)閉Error級(jí)別的日志打印,設(shè)置此參數(shù)為null即可。 |