Instale y configure el SDK de Tablestore para Go para trabajar con los modelos WideColumn, TimeSeries y Timeline.
Inicio rápido
Instale el SDK e inicialice un cliente de Tablestore.
Requisitos previos
Go 1.4 o posterior instalado. Descárguelo desde la página oficial de descargas de Go.
Un IDE de Go como GoLand o Visual Studio Code con la extensión de Go.
Instalar el SDK
Ejecute go mod init <DIRNAME> en el directorio de su proyecto para generar un archivo go.mod y luego instale el SDK:
<DIRNAME> es la ruta del directorio de su proyecto.
go get github.com/aliyun/aliyun-tablestore-go-sdk/tablestore
Los programas de ejemplo para cada modelo se encuentran en la carpeta sample del repositorio del SDK de Tablestore para Go.
Configurar las credenciales de acceso
Create an AccessKey para su cuenta de Alibaba Cloud o usuario de RAM, y luego configúrelas como variable de entorno para evitar codificar las credenciales directamente en el código.
Reinicie su IDE, terminal, otras aplicaciones de escritorio y servicios en segundo plano después de la configuración para cargar las variables de entorno actualizadas. Para obtener más información sobre otros tipos de credenciales de acceso, consulte Configure access credentials .
Linux
-
Agregue las variables de entorno al final de
~/.bashrc:echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc -
Aplique los cambios:
source ~/.bashrc -
Compruebe las variables de entorno:
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
macOS
-
Verifique su shell predeterminada:
echo $SHELL -
Configure según su tipo de shell:
Zsh
-
Agregue las variables de entorno al final de
~/.zshrc:echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc -
Aplique los cambios:
source ~/.zshrc -
Compruebe las variables de entorno:
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
Bash
-
Agregue las variables de entorno al final de
~/.bash_profile:echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profile -
Aplique los cambios:
source ~/.bash_profile -
Compruebe las variables de entorno:
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
-
Windows
CMD
-
Establezca las variables de entorno en CMD:
setx TABLESTORE_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID" setx TABLESTORE_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET" -
Reinicie CMD y compruebe:
echo %TABLESTORE_ACCESS_KEY_ID% echo %TABLESTORE_ACCESS_KEY_SECRET%
PowerShell
-
Ejecute en PowerShell:
[Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User) -
Compruebe las variables de entorno:
[Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
Inicializar un cliente
Después de inicializar un cliente, liste las tablas de su instancia para comprobar la conexión.
El acceso por red pública está deshabilitado de forma predeterminada en las nuevas instancias. Para acceder a los recursos de la instancia a través de la red pública, habilite el acceso por red pública en Network Management de su instancia.
WideColumn
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
)
func main() {
// yourInstanceName: enter your instance name
instanceName := "yourInstanceName"
// yourEndpoint: enter the endpoint of your instance
endpoint := "yourEndpoint"
// Obtain the AccessKey ID and AccessKey Secret from environment variables
accessKeyId := os.Getenv("TABLESTORE_ACCESS_KEY_ID")
accessKeySecret := os.Getenv("TABLESTORE_ACCESS_KEY_SECRET")
// Initialize the Tablestore client
client := tablestore.NewClient(endpoint, instanceName, accessKeyId, accessKeySecret)
// List data tables in the instance and print to console
tables, err := client.ListTable()
if err != nil {
fmt.Println("Failed to list table")
} else {
for _, table := range tables.TableNames {
fmt.Println(table)
}
}
}
TimeSeries
package main
import (
"fmt"
"os"
"github.com/aliyun/aliyun-tablestore-go-sdk/tablestore"
)
func main() {
// yourInstanceName: enter your instance name
instanceName := "yourInstanceName"
// yourEndpoint: enter the endpoint of your instance
endpoint := "yourEndpoint"
// Obtain the AccessKey ID and AccessKey Secret from environment variables
accessKeyId := os.Getenv("TABLESTORE_ACCESS_KEY_ID")
accessKeySecret := os.Getenv("TABLESTORE_ACCESS_KEY_SECRET")
// Initialize the Tablestore client
client := tablestore.NewTimeseriesClient(endpoint, instanceName, accessKeyId, accessKeySecret)
// List time series tables in the instance and print to console
timeseriesTables, err := client.ListTimeseriesTable()
if err != nil {
fmt.Println("Failed to list table")
} else {
for _, timeseriesTablesMeta := range timeseriesTables.GetTimeseriesTableMeta() {
fmt.Println(timeseriesTablesMeta.GetTimeseriesTableName())
}
}
}
Compatibilidad de versiones
La versión más reciente es la 1.17.x. Todas las versiones son compatibles con versiones anteriores.
Para consultar el registro de cambios del SDK, véase Version history of Tablestore SDK for Go.
Preguntas frecuentes
Referencias
Para el manejo de errores en Tablestore, consulte Go SDK error handling.