Tunnel client是通道服务的客户端,它为调用者提供了一系列的方法,可以用来操作通道、消费数据等。如果要使用通道服务消费表中的数据,您需要初始化一个Tunnel client。
准备工作
初始化Tunnel client前,您需要完成配置访问密钥、获取实例Endpoint和安装表格存储Go SDK的准备工作。
配置访问密钥
要接入阿里云的表格存储服务,您需要拥有一个有效的访问密钥进行签名认证。目前支持如下三种方式获取AccessKey。为了保证访问密钥安全,请根据使用的操作系统将访问密钥配置到环境变量。
获取访问密钥。
重要 为避免阿里云账号泄露AccessKey带来的安全风险,建议您通过RAM用户来完成授权和AccessKey的创建。
获取方式 | 操作 |
阿里云账号的AccessKey ID和AccessKey Secret | 在阿里云官网注册阿里云账号。 创建AccessKey ID和AccessKey Secret。具体操作,请参见创建AccessKey。
|
被授予访问表格存储权限RAM用户的AccessKey ID和AccessKey Secret | 使用阿里云账号前往访问控制RAM,创建一个新的RAM用户或者使用已经存在的RAM用户。 使用阿里云账号授予RAM用户访问表格存储的权限。具体操作,请参见通过RAM Policy为RAM用户授权。 为RAM用户授权后,即可使用RAM用户的AccessKey ID和AccessKey Secret访问。具体操作,请参见创建AccessKey。
|
从STS获取的临时访问凭证 | 应用的服务器通过访问RAM/STS服务,获取一个临时的AccessKey ID、AccessKey Secret和SecurityToken发送给使用方。 使用方使用上述临时密钥访问表格存储服务。
|
配置环境变量。
表格存储使用OTS_AK_ENV环境变量名表示阿里云账号或者RAM用户的AccessKey ID,使用OTS_SK_ENV环境变量名表示对应AccessKey Secret,请根据实际配置。
重要 环境变量配置完成后,为确保新的设置被正确应用,您可能需要重启相关的开发工具(IDE等)或服务。
Windows系统配置方法
您可以通过图形用户界面GUI、命令行提示符CMD或Windows PowerShell的方式进行环境变量的配置。更多信息,请参见在Linux、macOS和Windows系统配置环境变量。
通过图形用户界面GUI配置
通过图形化界面方式在环境变量对话框的系统变量区域中分别添加环境变量OTS_AK_ENV和OTS_SK_ENV,并将环境变量分别配置为已准备好的AccessKey ID和AccessKey Secret,然后保存配置即可。
通过命令行提示符CMD配置
以管理员身份打开命令提示符,并使用以下命令在系统中新增环境变量。其中/M
表示系统级环境变量。
setx OTS_AK_ENV LT******************** /M
setx OTS_SK_ENV Ir**************************** /M
配置完成后,在命令提示符界面执行echo %OTS_AK_ENV%
、echo %OTS_SK_ENV%
命令检查配置是否生效。如果能返回正确的AccessKey,则说明配置成功。
通过Windows PowerShell配置
以管理员身份运行Windows PowerShell。
在PowerShell中执行如下命令设置环境变量。
[System.Environment]::SetEnvironmentVariable('OTS_AK_ENV', 'LT********************', [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable('OTS_SK_ENV', 'Ir****************************', [System.EnvironmentVariableTarget]::Machine)
重启PowerShell后,在PowerShell中执行如下命令验证环境变量是否生效。
如果返回正确的AccessKey,则说明配置成功。
Get-ChildItem env:OTS_AK_ENV
Get-ChildItem env:OTS_SK_ENV
Linux和macOS系统配置方法
说明 如果是第一次设置环境变量,您可以使用touch ~/.bash_profile
命令创建一个配置文件,如果已经存在配置文件,则使用vim ~/.bash_profile
命令直接编辑文件。
创建.bash_profile
文件。
touch ~/.bash_profile
vim ~/.bash_profile
在.bash_profile
文件中配置环境变量,编辑完成后保存退出。
# 将以下命令中的<ACCESS_KEY_ID>请替换为已准备好的AccessKey ID,<ACCESS_KEY_SECRET>请替换为对应的AccessKey Secret。
export OTS_AK_ENV=<ACCESS_KEY_ID>
export OTS_SK_ENV=<ACCESS_KEY_SECRET>
使用.bash_profile
文件的配置生效并进行验证。
# 使配置文件生效
source ~/.bash_profile
# 显示配置是否生效
echo $ALIBABA_CLOUD_ACCESS_KEY_ID
如果返回正确的AccessKey ID,则说明配置成功。
获取实例Endpoint
创建实例后,您需要获取实例域名地址(Endpoint)用于后续通过Endpoint访问实例。
Endpoint是阿里云表格存储服务各个实例的域名地址,例如https://sun.cn-hangzhou.ots.aliyuncs.com
,表示使用HTTPS协议通过公网网络访问华东1(杭州)地域的sun实例。更多信息,请参见服务地址。
如果未开通表格存储服务,请进行开通。具体操作,请参见开通表格存储服务。
创建实例。具体操作,请参见创建实例。
创建实例后获取实例的Endpoint。
登录表格存储控制台。
在概览页面,单击实例名称。
在实例详情页签的实例访问地址区域即可查看该实例的服务地址(Endpoint)。
初始化对接
请根据实际场景选择相应方式进行初始化。
通过阿里云账号以及RAM用户的AccessKey进行初始化
获取到AccessKey ID和AccessKey Secret后,您可以按照如下示例代码初始化Tunnel client。
//endpoint是表格存储实例endpoint,例如https://instance.cn-hangzhou.ots.aliyun.com。
//instance是实例名称。
//accessKeyId和accessKeySecret分别为阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret。
accessKeyId := os.Getenv("OTS_AK_ENV")
accessKeySecret := os.Getenv("OTS_SK_ENV")
tunnelClient := tunnel.NewTunnelClient(endpoint, instance, accessKeyId, accessKeySecret)
通过从STS获取的临时访问凭证进行初始化
如果要进行临时访问授权,请使用此方式进行初始化。
Tunnel client内提供了NewTunnelClientWithToken接口用于使用临时访问凭证初始化Tunnel client。