Tous les produits
Search
Centre de documentation

Alibaba Cloud SDK:Intégration d'Alibaba Cloud SDK V1.0 pour Go

Dernière mise à jour :Aug 11, 2026

Cette rubrique explique comment installer Alibaba Cloud SDK V1.0 pour Go et appeler des opérations API dans votre projet.

Important

La prise en charge d'Alibaba Cloud SDK V1.0 pour Go a pris fin. Pour plus de détails, consultez Fin de la prise en charge d'Alibaba Cloud SDK V1.0 pour Golang le 1er mars 2025. Utilisez plutôt Alibaba Cloud SDK V2.0 pour Go.

Prérequis

Avant de commencer, assurez-vous que :

  • Go 1.10.x ou version ultérieure est installé. Pour vérifier votre version de Go, exécutez la commande suivante :

go version

Installation du SDK

L'installation d'un SDK de service cloud installe automatiquement la bibliothèque principale. Seul le SDK spécifique au service requiert une installation manuelle.

SDK de service cloud

Le SDK de service cloud fournit les objets de requête et de réponse nécessaires aux appels API. L'exemple suivant illustre l'installation du SDK Elastic Compute Service (ECS).

Remarque

Si votre projet ne contient pas de fichier go.mod, initialisez d'abord un module Go :

go mod init <your-module-name>

Exécutez la commande suivante dans votre terminal :

go get github.com/aliyun/alibaba-cloud-sdk-go/services/ecs

Les packages SDK respectent le format de nommage suivant : github.com/aliyun/alibaba-cloud-sdk-go/services/${service-code}.

Bibliothèque principale

La bibliothèque principale comprend l'objet client, la logique de signature et la gestion des erreurs. Ne l'installez séparément que pour effectuer des appels API génériques :

go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdk

Utilisation du SDK

L'exemple ci-dessous appelle l'opération API DescribeInstances d'ECS en trois étapes : initialisation du client, création de l'objet de requête et envoi de la requête.

Étape 1 : Initialiser un client

Tous les appels API transitent par l'objet client. Initialisez-le avant tout appel. Cet exemple utilise une paire AccessKey pour l'authentification. Pour connaître les autres options d'identifiants, consultez Gérer les identifiants d'accès.

Remarque

Cet exemple lit la paire AccessKey depuis les variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET. Définissez ces variables avant d'exécuter le code. Pour obtenir des instructions, consultez Configurer les variables d'environnement sous Linux, macOS et Windows. Ne codez jamais vos identifiants en dur dans le code source.

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

Étape 2 : Créer un objet de requête

Utilisez l'objet de requête du SDK pour définir les paramètres de l'API.

Remarque

Nommez l'objet de requête de l'opération API selon le format suivant : <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")

Étape 3 : Envoyer la requête

Transmettez l'objet de requête à la méthode du client correspondant à l'opération API. Le client utilise alors les identifiants et la configuration définis à l'étape 1.

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

Code d'exemple complet

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

Références