Tous les produits
Search
Centre de documentation

Elastic Compute Service:ECS Python V2.0 SDK call example

Dernière mise à jour :Aug 18, 2026

Cette rubrique explique comment installer le SDK Elastic Compute Service (ECS) V2.0 pour Python et fournit un exemple d'utilisation du SDK pour appeler les API ECS. L'exemple illustre l'utilisation du SDK ECS V2.0 pour Python afin d'appeler l'opération DescribeInstances et de récupérer des informations sur les instances ECS.

Prérequis

  1. La clé AccessKey d'un compte Alibaba Cloud offre un accès complet à vos ressources, ce qui présente un risque de sécurité élevé en cas de fuite. Nous vous recommandons de créer un utilisateur RAM (Resource Access Management) et de lui accorder uniquement les autorisations nécessaires. Utilisez ensuite la clé AccessKey de l'utilisateur RAM pour appeler les API. Pour plus d'informations, reportez-vous à la section Créer une clé AccessKey.

  2. Accordez à l'utilisateur RAM les autorisations de gestion des ressources ECS. Le code d'exemple de cette rubrique montre une opération de requête. Dans cet exemple, la stratégie système AliyunECSReadonlyAccess est utilisée. Vous pouvez accorder des autorisations personnalisées selon vos besoins.

    1. Utilisez des stratégies personnalisées.

      Pour plus d'informations sur la création de stratégies personnalisées, reportez-vous aux sections Créer une stratégie personnalisée et Informations sur l'autorisation.

      ECS propose des exemples de stratégies personnalisées basés sur les bonnes pratiques. Vous pouvez utiliser ces exemples pour créer rapidement des stratégies personnalisées adaptées à vos besoins métier. Pour plus d'informations, reportez-vous à la section Stratégies personnalisées.

    2. Utilisez des stratégies système.

      Pour obtenir la liste de toutes les stratégies système prises en charge par ECS et leurs descriptions d'autorisations, reportez-vous à la section Stratégies système pour ECS.

  3. Configurez la clé AccessKey à l'aide de variables d'environnement. Pour plus d'informations, reportez-vous à la section Configurer des variables d'environnement sur les systèmes Linux, macOS et Windows.

Installer le SDK

Pour plus d'informations sur l'installation du SDK ECS V2.0 pour Python, consultez le Centre SDK. Copiez et exécutez la commande suivante dans le terminal pour installer le SDK ECS V2.0 pour Python :

pip install alibabacloud_ecs20140526

Utiliser le SDK

1. Initialiser un client.

Les SDK Alibaba Cloud prennent en charge plusieurs types d'identifiants d'accès, tels que les paires de clés AccessKey et les jetons STS (Security Token Service), pour initialiser les clients. Pour plus d'informations, reportez-vous à la section Gérer les identifiants d'accès. Dans cet exemple, une paire de clés AccessKey est utilisée pour initialiser un client.

import os

from alibabacloud_tea_openapi.models import Config
from alibabacloud_ecs20140526.client import Client as Ecs20140526Client

class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> Ecs20140526Client:
        config = Config(
            # Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is configured.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is configured.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
            endpoint='ecs.cn-hangzhou.aliyuncs.com'
        )
        return Ecs20140526Client(config)

2. Créer un objet de requête pour l'API.

Avant de construire l'objet de requête, consultez la Référence API pour obtenir des informations sur les paramètres.

Remarque

Le nom d'un objet de requête suit le format {Nom de l'opération}Request. Par exemple, l'objet de requête pour l'opération DescribeInstances se nomme DescribeInstancesRequest.

# Construct the request object.
describe_instances_request = ecs_20140526_models.DescribeInstancesRequest(
    region_id='cn-hangzhou'
)

3. Appeler l'API.

Lorsque vous appelez une API depuis un client, vous pouvez spécifier des paramètres d'exécution, tels que les paramètres de délai d'expiration et les paramètres de proxy. Pour plus d'informations, reportez-vous à la section Paramètres avancés.

Remarque

Le nom d'un objet de réponse suit le format {Nom de l'opération}Response. Par exemple, l'objet de réponse pour l'opération DescribeInstances se nomme DescribeInstancesResponse.

# Specify runtime parameters.
runtime = util_models.RuntimeOptions()
# Call the DescribeInstances operation.
describe_instances_response = client.describe_instances_with_options(describe_instances_request, runtime)

4. Gérer les exceptions.

Le SDK Python classe les exceptions en deux catégories principales : UnretryableException et TeaException.

  • UnretryableException : ce type d'exception est causé par des problèmes réseau. Dans la plupart des cas, une exception UnretryableException est levée lorsque le nombre maximal de tentatives est atteint.

  • TeaException : ce type d'exception est généralement causé par des erreurs métier.

Nous vous recommandons de gérer correctement les exceptions en signalant les erreurs, en journalisant les exceptions et en effectuant des nouvelles tentatives, afin de garantir la robustesse et la stabilité de votre système.

5. Exemple de code complet.

import os

from Tea.exceptions import UnretryableException, TeaException
from alibabacloud_tea_openapi.models import Config
from alibabacloud_ecs20140526.client import Client as Ecs20140526Client
from alibabacloud_tea_util import models as util_models
from alibabacloud_ecs20140526 import models as ecs_20140526_models

class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> Ecs20140526Client:
        config = Config(
            # Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is configured.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is configured.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
            endpoint='ecs.cn-hangzhou.aliyuncs.com'
        )
        return Ecs20140526Client(config)

    @staticmethod
    def main():
        client = Sample.create_client()
        # Create a request object.
        describe_instances_request = ecs_20140526_models.DescribeInstancesRequest(
            region_id='cn-hangzhou'
        )
        # Specify runtime parameters.
        runtime = util_models.RuntimeOptions()
        try:
            # Call the DescribeInstances operation.
            describe_instances_response = client.describe_instances_with_options(describe_instances_request, runtime)
            print(describe_instances_response.body)
        except UnretryableException as e:
            # Network exceptions. Handle exceptions with caution in actual business scenarios and do not ignore exceptions in your project. In this example, exceptions are provided only for reference.
            print(e)
        except TeaException as e:
            # Business exceptions. Handle exceptions with caution in actual business scenarios and do not ignore exceptions in your project. In this example, exceptions are provided only for reference.
            print(e)
        except Exception as e:
            # Other exceptions. Handle exceptions with caution in actual business scenarios and do not ignore exceptions in your project. In this example, exceptions are provided only for reference.
            print(e)

if __name__ == '__main__':
    Sample.main()

Exemples par scénario

Informations complémentaires

Outre les méthodes décrites ci-dessus, vous pouvez effectuer des appels généralisés à l'API OpenAPI ECS. Pour plus d'informations, reportez-vous à la section Appels généralisés.

Si vous utilisez le SDK ECS V1.0 pour Python, consultez la section SDK Python V1.0 pour obtenir des informations sur le SDK.