本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
TableStoreClient是表格存储服务的客户端,它为调用者提供了一系列的方法,可以用来操作表、读写单行数据、读写多行数据等。如果要使用宽表模型的操作数据表、读写单行数据、读写多行数据等功能,您需要初始化一个TableStoreClient实例;如果要使用时序模型的操作时序表、检索时间线、读写时序数据等功能,您需要初始化一个TimeseriesClient实例。
准备工作
初始化OTSClient前,您需要完成获取实例Endpoint、安装表格存储Go SDK和配置访问凭证的准备工作。
获取实例Endpoint
安装表格存储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