全部產品
Search
文件中心

Tablestore:初始化OTSClient

更新時間:Aug 29, 2024

TableStoreClient是Table Store服務的用戶端,它為調用者提供了一系列的方法,可以用來動作表、讀寫單行資料、讀寫多行資料等。如果要使用寬表模型的操作資料表、讀寫單行資料、讀寫多行資料等功能,您需要初始化一個TableStoreClient執行個體;如果要使用時序模型的操作時序表、檢索時間軸、讀寫時序資料等功能,您需要初始化一個TimeseriesClient執行個體。

準備工作

初始化OTSClient前,您需要完成擷取執行個體Endpoint、安裝TablestoreGo 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

安裝TablestoreGo SDK

具體操作,請參見安裝Table StoreGo SDK

配置訪問憑證

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

初始化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_ENVOTS_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_ENVOTS_SK_ENVOTS_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_ENVOTS_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_ENVOTS_SK_ENVOTS_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

常見問題

使用Table StoreSDK時出現Signature mismatch異常