Este tema describe cómo instalar Alibaba Cloud SDK V1.0 para Go y llamar a las operaciones de la API en su proyecto.
La compatibilidad con Alibaba Cloud SDK V1.0 para Go ha finalizado. Para más detalles, consulte End of support for Alibaba Cloud SDK V1.0 for Golang on March 1, 2025. Utilice Alibaba Cloud SDK V2.0 for Go en su lugar.
Requisitos previos
Antes de empezar, asegúrese de tener:
Go 1.10.x o una versión posterior instalada. Para comprobar su versión de Go, ejecute:
go version
Instalar el SDK
Al instalar el SDK de un servicio en la nube se instala automáticamente la biblioteca principal. Solo necesita instalar el SDK específico del servicio.
SDK del servicio en la nube
El SDK del servicio en la nube proporciona los objetos de solicitud y respuesta para llamar a las operaciones de la API. A continuación se muestra un ejemplo que instala el SDK de Elastic Compute Service (ECS).
Si su proyecto no tiene un archivo go.mod, inicialice primero un módulo de Go:
go mod init <your-module-name>
Ejecute el siguiente comando en su terminal:
go get github.com/aliyun/alibaba-cloud-sdk-go/services/ecs
Los paquetes del SDK siguen el formato de nombre: github.com/aliyun/alibaba-cloud-sdk-go/services/${service-code}.
Biblioteca principal
La biblioteca principal incluye el objeto cliente, la lógica de firma y el manejo de errores. Instálela por separado solo si necesita hacer llamadas genéricas a la API:
go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdk
Usar el SDK
A continuación se muestra un ejemplo que llama a la operación de la API DescribeInstances de ECS en tres pasos: inicializar un cliente, crear un objeto de solicitud y enviar la solicitud.
Paso 1: Inicializar un cliente
Todas las llamadas a la API pasan por el objeto cliente. Inicialice el cliente antes de hacer cualquier llamada a la API. Este ejemplo usa un par de AccessKey para la autenticación. Para conocer otras opciones de credenciales, consulte Manage access credentials.
Este ejemplo lee el par de AccessKey de las variables de entorno ALIBABA_CLOUD_ACCESS_KEY_ID y ALIBABA_CLOUD_ACCESS_KEY_SECRET. Establezca estas variables antes de ejecutar el código. Para obtener instrucciones, consulte Configure environment variables in Linux, macOS, and Windows. No codifique sus credenciales directamente en el código fuente.
import (
"os"
"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
"github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
)
func main() {
config := sdk.NewConfig()
credential, err := credentials.NewStaticAKCredentialsProviderBuilder().
WithAccessKeyId(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")).
WithAccessKeySecret(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")).
Build()
if err != nil {
panic(err)
}
// Initialize the ECS client for the cn-hangzhou region
ecsClient, err := ecs.NewClientWithOptions("cn-hangzhou", config, credential)
if err != nil {
panic(err)
}
}
Paso 2: Crear un objeto de solicitud
Use el objeto de solicitud del SDK para establecer los parámetros de la API.
Asigne un nombre al objeto de solicitud de la operación de la API con el siguiente formato: <API operation name>Request.
// Add "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests" to your imports.
// Create a DescribeInstances request object.
request := ecs.CreateDescribeInstancesRequest()
request.InstanceIds = "[\"i-bp1dXXXXXXXXXXXX\"]"
request.PageSize = requests.Integer("100")
request.PageNumber = requests.Integer("1")
Paso 3: Enviar la solicitud
Pase el objeto de solicitud al método del cliente que corresponde a la operación de la API. El cliente utiliza las credenciales y la configuración del paso 1.
response, err := ecsClient.DescribeInstances(request)
if err != nil {
panic(err)
}
fmt.Print(response.GetHttpContentString())
Referencias
Para conocer la configuración del proxy, la configuración de tiempo de espera y otras opciones avanzadas, consulte Advanced settings.
Para crear un par de AccessKey, consulte Create an AccessKey pair.