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實例。更多信息,請參見服務地址。
安裝表格存儲Go SDK
具體操作,請參見安裝表格存儲Go SDK。
初始化對接
請根據實際場景選擇相應方式進行初始化。
通過阿里云賬號以及RAM用戶的AccessKey進行初始化
重要阿里云賬號AccessKey擁有所有API的訪問權限,風險很高。強烈建議您創建并使用RAM用戶進行API訪問或日常運維。
阿里云賬號的AccessKey泄露會威脅該賬號下所有資源的安全。為保證賬號安全,強烈建議您給RAM用戶創建AccessKey,不要給阿里云賬號創建AccessKey。具體操作,請參見創建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獲取的臨時訪問憑證進行初始化
如果要進行臨時訪問授權,請使用此方式進行初始化。
說明關于配置臨時用戶權限的更多信息,請參見通過RAM Policy為RAM用戶授權。
Tunnel client內提供了NewTunnelClientWithToken接口用于使用臨時訪問憑證初始化Tunnel client。