Todos los productos
Search
Centro de documentos

Alibaba Cloud SDK:Integración con Alibaba Cloud SDK V1.0 para Go

Última actualización: Sep 05, 2026

Este tema describe cómo instalar Alibaba Cloud SDK V1.0 para Go y llamar a las operaciones de la API en su proyecto.

Importante

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).

Nota

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.

Nota

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.

Nota

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())

Código de ejemplo completo

package main

import (
	"fmt"
	"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/sdk/requests"
	"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)
	}

	ecsClient, err := ecs.NewClientWithOptions("cn-hangzhou", config, credential)
	if err != nil {
		panic(err)
	}

	// Create a request object.
	request := ecs.CreateDescribeInstancesRequest()
	request.InstanceIds = "[\"i-bp1dXXXXXXXXXXXX\"]"
	request.PageSize = requests.Integer("100")
	request.PageNumber = requests.Integer("1")

	response, err := ecsClient.DescribeInstances(request)
	if err != nil {
		panic(err)
	}
	fmt.Print(response.GetHttpContentString())
}

Referencias