TableStoreClient是Table Store服務的用戶端,它為調用者提供了一系列的方法,可以用來動作表、讀寫單行資料、讀寫多行資料等。如果要使用寬表模型的操作資料表、讀寫單行資料、讀寫多行資料等功能,您需要初始化一個TableStoreClient執行個體;如果要使用時序模型的操作時序表、檢索時間軸、讀寫時序資料等功能,您需要初始化一個TimeseriesClient執行個體。
準備工作
初始化OTSClient前,您需要完成擷取執行個體Endpoint、安裝TablestoreGo SDK和配置訪問憑證的準備工作。
擷取執行個體Endpoint
安裝TablestoreGo SDK
配置訪問憑證
初始化TableStoreClient
如果要使用寬表模型,在使用Tablestore的SDK時,您必須首先構造一個TableStoreClient執行個體,通過調用該TableStoreClient的介面來訪問Tablestore服務。
介面
//初始化``TableStoreClient``執行個體。
//endPoint是Table Store服務的地址(例如'https://instance.cn-hangzhou.ots.aliyun.com'),必須以'https://'或'http://'開頭。
//instanceName是要訪問的執行個體名,通過官方網站控制台建立或通過管理員擷取。
//accessKeyId是訪問Table Store服務的AccessKeyID,通過官方網站申請或通過管理員擷取。
//accessKeySecret是訪問Table Store服務的AccessKeySecret,通過官方網站申請或通過管理員擷取。
//securityToken是訪問Table Store服務的STS token,從阿里雲STS服務擷取,具有有效期間,到期後需要重新擷取。
//config是Table Store的自訂配置項,請根據實際需要配置。
func NewClient(endPoint, instanceName, accessKeyId, accessKeySecret string, options ...ClientOption) *TableStoreClient
func NewClientWithConfig(endPoint, instanceName, accessKeyId, accessKeySecret string, securityToken string, config *TableStoreConfig, options ...ClientOption) *TableStoreClient
樣本
阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。本樣本以將AccessKey、SecurityToken儲存在環境變數中來實現身分識別驗證為例介紹。
使用AK初始化
運行本程式碼範例之前,請確保已設定環境變數OTS_AK_ENV
和OTS_SK_ENV
。更多資訊,請參見配置訪問憑證。
endpoint := "yourEndpoint"
instanceName := "yourInstance"
accessKeyId := os.Getenv("OTS_AK_ENV")
accessKeySecret := os.Getenv("OTS_SK_ENV")
//initialize tableStore client
client := tablestore.NewClient(endpoint, instanceName, accessKeyId, accessKeySecret)
//do something
使用STS初始化
運行本程式碼範例之前,請確保已設定環境變數OTS_AK_ENV
、OTS_SK_ENV
和OTS_SESSION_TOKEN
。更多資訊,請參見配置訪問憑證。
endpoint := "yourEndpoint"
instanceName := "yourInstance"
accessKeyId := os.Getenv("OTS_AK_ENV")
accessKeySecret := os.Getenv("OTS_SK_ENV")
securityToken := os.Getenv("OTS_SESSION_TOKEN")
config := tablestore.NewDefaultTableStoreConfig();
//initialize tableStore client
client := tablestore.NewClientWithConfig(endpoint, instanceName, accessKeyId, accessKeySecret, securityToken, config)
//do something
初始化TimeseriesClient
如果要使用時序模型,在使用Tablestore的SDK時,您需要初始化一個TimeseriesClient執行個體,通過調用該TimeseriesClient的介面來訪問Tablestore服務。時序模型需要初始化單獨的Client。
介面
//初始化``TimeseriesClient``執行個體。
//endPoint是Table Store服務的地址(例如'https://instance.cn-hangzhou.ots.aliyun.com'),必須以'https://'或'http://'開頭。
//accessKeyId是訪問Table Store服務的AccessKeyID,通過官方網站申請或通過管理員擷取。
//accessKeySecret是訪問Table Store服務的AccessKeySecret,通過官方網站申請或通過管理員擷取。
//instanceName是要訪問的執行個體名,通過官方網站控制台建立或通過管理員擷取。
//securityToken是訪問Table Store服務的STS token,從阿里雲STS服務擷取,具有有效期間,到期後需要重新擷取。
//config是Table Store的自訂配置項,請根據實際需要配置。
func NewTimeseriesClient(endPoint, instanceName, accessKeyId, accessKeySecret string , options ...TimeseriesClientOption) *TimeseriesClient
func NewTimeseriesClientWithConfig(endPoint, instanceName, accessKeyId, accessKeySecret string, securityToken string, config *TableStoreConfig, timeseriesConfiguration *TimeseriesConfiguration, options ...TimeseriesClientOption) *TimeseriesClient
樣本
阿里雲帳號AccessKey擁有所有API的存取權限,建議您使用RAM使用者進行API訪問或日常營運。強烈建議不要把AccessKey ID和AccessKey Secret儲存到工程代碼裡,否則可能導致AccessKey泄露,威脅您帳號下所有資源的安全。本樣本以將AccessKey、SecurityToken儲存在環境變數中來實現身分識別驗證為例介紹。
使用AK
運行本程式碼範例之前,請確保已設定環境變數OTS_AK_ENV
和OTS_SK_ENV
。更多資訊,請參見配置訪問憑證。
endpoint := "yourEndpoint"
instanceName := "yourInstance"
accessKeyId := os.Getenv("OTS_AK_ENV")
accessKeySecret := os.Getenv("OTS_SK_ENV")
//initialize tableStore client
client := tablestore.NewTimeseriesClient(endpoint, instanceName, accessKeyId, accessKeySecret)
//do something
使用STS
運行本程式碼範例之前,請確保已設定環境變數OTS_AK_ENV
、OTS_SK_ENV
和OTS_SESSION_TOKEN
。更多資訊,請參見配置訪問憑證。
endpoint := "yourEndpoint"
instanceName := "yourInstance"
accessKeyId := os.Getenv("OTS_AK_ENV")
accessKeySecret := os.Getenv("OTS_SK_ENV")
securityToken := os.Getenv("OTS_SESSION_TOKEN")
config := tablestore.NewDefaultTableStoreConfig();
timeseriesConfig := tablestore. NewTimeseriesConfiguration();
//initialize tableStore client
client := tablestore.NewTimeseriesClientWithConfig(endpoint, instanceName, accessKeyId, accessKeySecret, securityToken, config, timeseriesConfig)
//do something