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.
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.
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.
Références
Configurez les proxys, les délais d'attente et d'autres options dans la rubrique Configurations avancées.