本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業務造成影響,請務必仔細閱讀。
TableStoreClient是表格存儲服務的客戶端,它為調用者提供了一系列的方法,可以用來操作表、讀寫單行數據、讀寫多行數據等。如果要使用寬表模型的操作數據表、讀寫單行數據、讀寫多行數據等功能,您需要初始化一個TableStoreClient實例;如果要使用時序模型的操作時序表、檢索時間線、讀寫時序數據等功能,您需要初始化一個TimeseriesClient實例。
準備工作
初始化OTSClient前,您需要完成獲取實例Endpoint、安裝表格存儲Go SDK和配置訪問憑證的準備工作。
獲取實例Endpoint
創建實例后,您需要獲取實例域名地址(Endpoint)用于后續通過Endpoint訪問實例。
Endpoint是阿里云表格存儲服務各個實例的域名地址,例如https://sun.cn-hangzhou.ots.aliyuncs.com
,表示使用HTTPS協議通過公網網絡訪問華東1(杭州)地域的sun實例。更多信息,請參見服務地址。
安裝表格存儲Go SDK
具體操作,請參見安裝表格存儲Go SDK。
配置訪問憑證
要接入阿里云的表格存儲服務,您需要擁有一個有效的訪問密鑰進行簽名認證。具體操作,請參見配置訪問憑證。
初始化TableStoreClient
如果要使用寬表模型,在使用表格存儲的SDK時,您必須首先構造一個TableStoreClient實例,通過調用該TableStoreClient的接口來訪問表格存儲服務。
接口
//初始化``TableStoreClient``實例。
//endPoint是表格存儲服務的地址(例如'https://instance.cn-hangzhou.ots.aliyun.com'),必須以'https://'或'http://'開頭。
//instanceName是要訪問的實例名,通過官方網站控制臺創建或通過管理員獲取。
//accessKeyId是訪問表格存儲服務的AccessKeyID,通過官方網站申請或通過管理員獲取。
//accessKeySecret是訪問表格存儲服務的AccessKeySecret,通過官方網站申請或通過管理員獲取。
//securityToken是訪問表格存儲服務的STS token,從阿里云STS服務獲取,具有有效期,過期后需要重新獲取。
//config是表格存儲的自定義配置項,請根據實際需要配置。
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
如果要使用時序模型,在使用表格存儲的SDK時,您需要初始化一個TimeseriesClient實例,通過調用該TimeseriesClient的接口來訪問表格存儲服務。時序模型需要初始化單獨的Client。
接口
//初始化``TimeseriesClient``實例。
//endPoint是表格存儲服務的地址(例如'https://instance.cn-hangzhou.ots.aliyun.com'),必須以'https://'或'http://'開頭。
//accessKeyId是訪問表格存儲服務的AccessKeyID,通過官方網站申請或通過管理員獲取。
//accessKeySecret是訪問表格存儲服務的AccessKeySecret,通過官方網站申請或通過管理員獲取。
//instanceName是要訪問的實例名,通過官方網站控制臺創建或通過管理員獲取。
//securityToken是訪問表格存儲服務的STS token,從阿里云STS服務獲取,具有有效期,過期后需要重新獲取。
//config是表格存儲的自定義配置項,請根據實際需要配置。
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