Tous les produits
Search
Centre de documentation

Alibaba Cloud SDK:Integrate an SDK

Dernière mise à jour :Sep 10, 2026

Intégrez le SDK Python V1.0 à votre projet pour simplifier les appels OpenAPI, accélérer l'intégration des fonctionnalités et réduire les coûts de maintenance.

Prérequis

Python >= 3,7

Installer le SDK

L'installation d'un SDK de produit installe automatiquement le SDK core. Il vous suffit d'installer le SDK du produit.

SDK de produit

Un SDK de produit fournit les objets Request et Response pour les appels OpenAPI. Par exemple, installez le SDK ECS :

pip install aliyun-python-sdk-ecs

La convention de nommage d'un SDK V1.0 est aliyun-python-sdk-${product_code}. Vous pouvez également trouver les SDK V1.0 pour des produits spécifiques dans le SDK Center.

SDK core

Le SDK core fournit l'objet Client, la signature des requêtes et la gestion des exceptions. Pour effectuer des appels génériques ou installer une version spécifique du SDK core, exécutez :

pip install aliyun-python-sdk-core

Consultez les versions disponibles sur aliyun-python-sdk-core · PyPI.

Utiliser le SDK

L'exemple suivant appelle l'API ECS DescribeInstances avec le SDK V1.0.

1. Initialiser le client de requête

Tous les appels OpenAPI passent par l'objet Client du SDK core. Initialisez le client avant d'appeler toute API. Cet exemple utilise une paire AccessKey. Pour d'autres types d'identifiants, consultez la rubrique Gérer les identifiants d'accès.

Remarque

Avant d'exécuter le code, définissez les variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET. Configurer les variables d'environnement sous Linux, macOS et Windows.

import os

from aliyunsdkcore.client import AcsClient

# Initialize the client
client = AcsClient(
    os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),  # Get the AccessKey ID of the RAM user from an environment variable
    os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),  # Get the AccessKey secret of the RAM user from an environment variable
    '<REGION_ID>'  # Region ID
)

2. Construire un objet de paramètres de requête OpenAPI

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

Remarque

La convention de nommage d'un objet de paramètres de requête OpenAPI est <OpenAPIName>Request.

from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest

# Construct a DescribeInstancesRequest object
request = DescribeInstancesRequest()
request.set_InstanceIds("[\"i-bp1dXXXXXXXXXXXX\"]")
request.set_PageSize(100)
request.set_PageNumber(1)

3. Envoyer la requête

Appelez do_action_with_exception sur le client avec l'objet Request de l'étape 2. Un appel réussi renvoie un objet Response.

response = client.do_action_with_exception(request)
print(response)

4. Gérer les exceptions

Interceptez ClientException et ServerException pour gérer les erreurs. Une ClientException indique généralement des paramètres d'initialisation incorrects, tels qu'une AccessKey non valide. Les causes d'une ServerException sont variées ; fournissez le RequestId de l'exception lorsque vous contactez le support Alibaba Cloud.

Exemple de code complet

import os

from aliyunsdkcore.acs_exception.exceptions import ClientException, ServerException
from aliyunsdkcore.client import AcsClient
from aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest

try:
    # Initialize the client
    client = AcsClient(
        os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),  # Get the AccessKey ID of the RAM user from an environment variable
        os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),  # Get the AccessKey secret of the RAM user from an environment variable
        'cn-hangzhou'  # Region ID. cn-hangzhou is used as an example.
    )

    # Construct a DescribeInstancesRequest object
    request = DescribeInstancesRequest()
    request.set_InstanceIds("[\"i-bp1dXXXXXXXXXXXX\"]")
    request.set_PageSize(100)
    request.set_PageNumber(1)

    #  Send the request
    response = client.do_action_with_exception(request)
    print(response)
except ClientException as e:
    # This is for printing and demonstration purposes only. Handle exceptions with care. Do not ignore exceptions in your projects.
    print(e)
except ServerException as e:
    # This is for printing and demonstration purposes only. Handle exceptions with care. Do not ignore exceptions in your projects.
    print(e)

Références