Cette rubrique explique comment installer Alibaba Cloud SDK V1.0 pour Go et appeler des opérations API dans votre projet.
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).
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.
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.
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())
Références
Pour les paramètres de proxy, la configuration des délais d'expiration et d'autres options avancées, reportez-vous à Paramètres avancés.
Pour créer une paire AccessKey, consultez Créer une paire AccessKey.