Tous les produits
Search
Centre de documentation

Alibaba Cloud SDK:Utiliser le SDK Python Alibaba Cloud dans un IDE

Dernière mise à jour :Aug 11, 2026

Découvrez comment utiliser le SDK Python Alibaba Cloud avec PyCharm sous Windows.

Prérequis

Utiliser le SDK

Utiliser le projet d'exemple depuis OpenAPI Portal

Remarque

Si vous ne parvenez pas à télécharger le projet d'exemple depuis OpenAPI Portal, suivez la procédure décrite dans Utiliser le SDK dans un projet existant.

  1. Accédez à la page OpenAPI Explorer, puis sélectionnez un produit et une API. Par exemple, pour appeler l'API DescribeInstanceTypeFamilies d'ECS, saisissez DescribeInstanceTypeFamilies dans le champ de recherche et cliquez sur le résultat correspondant pour accéder à la page OpenAPI Explorer.

  2. Dans l'onglet Parameters de la colonne centrale, spécifiez les paramètres selon vos besoins métier. Consultez parallèlement les informations de l'onglet Document, situé dans la colonne de droite. Vérifiez que vous comprenez bien les notes d'utilisation de l'opération et la description de chaque paramètre. Prêtez une attention particulière aux informations relatives à la facturation. Dans cet exemple, l'opération DescribeInstanceTypeFamilies accepte deux paramètres de requête. Spécifiez une valeur telle que cn-hangzhou pour le paramètre RegionId. Le paramètre Generation est facultatif ; vous pouvez lui attribuer la valeur ecs-5, qui correspond à la famille d'instances de série V. Les valeurs valides des paramètres figurent dans l'onglet Document.

  3. Dans l'onglet SDK Sample Code de la colonne de droite, choisissez un langage de programmation et cliquez sur Download Project pour télécharger le projet SDK complet sur votre ordinateur. Décompressez ensuite l'archive.

    Définissez SDK Version sur V2.0 Recommended, sélectionnez Python comme langage, puis cliquez sur Download Complete Project.

  4. Lancez PyCharm. Cliquez sur File > Open, sélectionnez le dossier du projet décompressé, puis cliquez sur OK dans la boîte de dialogue Creating Virtual Environment. Patientez pendant la création de l'environnement virtuel et le téléchargement des dépendances par PyCharm.

    Remarque

    En cas d'échec du téléchargement des dépendances, exécutez la commande python3 setup.py install dans le terminal.

  5. Avant d'appeler cette opération, obtenez une paire d'AccessKey servant d'identifiant d'accès. Nous vous recommandons d'utiliser la paire d'AccessKey d'un utilisateur Resource Access Management (RAM). Pour plus d'informations, reportez-vous à la section Créer une paire d'AccessKey pour un utilisateur RAM de la rubrique « Créer une paire d'AccessKey ».

    Important

    Une fois la paire d'AccessKey de l'utilisateur RAM obtenue, configurez-la dans les variables d'environnement. Pour plus d'informations, consultez Configurer les variables d'environnement sous Linux, macOS et Windows.

  6. Exécutez le code d'exemple.

    Cliquez sur l'onglet Terminal en bas de PyCharm ou appuyez sur Alt + F12. Exécutez la commande suivante :

    python ./alibabacloud_sample/sample.py
    

    Contenu du fichier sample.py :

    # -*- coding: utf-8 -*-
    # This file is auto-generated, don't edit it. Thanks.
    import os
    import sys
    
    from typing import List
    
    from alibabacloud_ecs20140526.client import Client as Ecs20140526Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_ecs20140526 import models as ecs_20140526_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_console.client import Client as ConsoleClient
    from alibabacloud_tea_util.client import Client as UtilClient
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client() -> Ecs20140526Client:
            """
            Initialize the account client using AccessKey ID and AccessKey Secret.
            """
            pass

    Sortie du terminal :

    python ./alibabacloud_sample/sample.py
    [LOG] {"headers":{"date":"Mon, 20 May 2024 02:41:40 GMT","content-type":"application/json;charset=utf-8","content-length":"139","connection":"keep-alive","keep-alive":"timeout=25","access-control-allow-origin":"*","access-control-expose-headers":"*","x-acs-request-id":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","x-acs-trace-id":"b31e569bd03bd37030ba2d9e5b0afbd","etag":"1Kp258uXZ5v+Tj9LKzSIaQ09"},"statusCode":200,"body":{"Instances":{"Instance":[]},"NextToken":"","PageNumber":1,"PageSize":10,"RequestId":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","TotalCount":0}}
    
  7. Consultez le résultat. Cliquez n'importe où dans la fenêtre Run située en bas de la console, puis appuyez sur Ctrl+F pour rechercher statusCode. Si "statusCode":200 s'affiche, l'appel a réussi.

    # -*- coding: utf-8 -*-
    # This file is auto-generated, don't edit it. Thanks.
    import os
    import sys
    
    from typing import List
    
    from alibabacloud_ecs20140526.client import Client as Ecs20140526Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_ecs20140526 import models as ecs_20140526_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_console.client import Client as ConsoleClient
    from alibabacloud_tea_util.client import Client as UtilClient
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client() -> Ecs20140526Client:
            """
            Initialize the account client using AccessKey ID and AccessKey Secret.
            """
            pass
    
    python ./alibabacloud_sample/sample.py
    [LOG] {"headers":{"date":"Mon, 20 May 2024 02:41:40 GMT","content-type":"application/json;charset=utf-8","content-length":"139","connection":"keep-alive","keep-alive":"timeout=25","access-control-allow-origin":"*","access-control-expose-headers":"*","x-acs-request-id":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","x-acs-trace-id":"b31e569bd03bd37030ba62d9e5b0afbd","etag":"1Kp258uXZ5v+Tj9LKzSIaQ09..."},"statusCode":200,"body":{"Instances":{"Instance":[]},"NextToken":"","PageNumber":1,"PageSize":10,"RequestId":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","TotalCount":0}}
    

Utiliser le SDK dans un projet existant

  1. Obtenez le SDK.

    Rendez-vous sur SDK Center et sélectionnez un produit, par exemple Elastic Compute Service. Définissez SDK Version sur V2.0 et choisissez Python comme langage.

    Sélectionnez l'onglet Quick Start, copiez la commande d'installation pip install alibabacloud_ecs20140526==4.1.5 depuis la section Installation, puis exécutez-la dans votre terminal local.

  2. Installez le SDK.

    Dans PyCharm, appuyez sur Alt+F12 pour ouvrir le terminal. Collez la commande d'installation et appuyez sur Entrée.

    (.venv) PS D:\ide\PythonProjects\pythonProject> pip install alibabacloud_ecs20140526==4.1.5
    Collecting alibabacloud_ecs20140526==4.1.5
      Obtaining dependency information for alibabacloud_ecs20140526==4.1.5 from https://files.pythonhosted.org/packages/6e/20/b10ac267a8625257dd846df4574c9c171126fbf6h149385af5dee128d756/alibabacloud_ecs20140526-4.1.5-py3-none-any.whl.metadata
      Using cached alibabacloud_ecs20140526-4.1.5-py3-none-any.whl.metadata (2.3 kB)
    Collecting alibabacloud-tea-util<1.0.0,>=0.3.12 (from alibabacloud_ecs20140526==4.1.5)
      Using cached alibabacloud_tea_util-0.3.12-py3-none-any.whl
    Collecting alibabacloud-tea-openapi<1.0.0,>=0.3.9 (from alibabacloud_ecs20140526==4.1.5)
      Using cached alibabacloud_tea_openapi-0.3.9-py3-none-any.whl
    Collecting alibabacloud-openapi-util<1.0.0,>=0.2.1 (from alibabacloud_ecs20140526==4.1.5)
      Using cached alibabacloud_openapi_util-0.2.2-py3-none-any.whl
    Collecting alibabacloud-endpoint-util<1.0.0,>=0.0.3 (from alibabacloud_ecs20140526==4.1.5)
    
  3. Créez un fichier Python.

    Cliquez avec le bouton droit sur le nom du projet, puis sélectionnez New > Python File. Saisissez sdk_demo comme nom de fichier, choisissez Python File, et appuyez sur Entrée.

  4. Initialisez le client.

    Initialisez le client ECS avant tout appel d'API.

    Important
    1. L'initialisation du client nécessite une paire d'AccessKey pour l'authentification. Obtenez cette paire au préalable. Pour savoir comment procéder, consultez Créer une paire d'AccessKey.

    2. Après avoir obtenu la paire d'AccessKey d'un utilisateur RAM, configurez-la dans les variables d'environnement. Pour plus d'informations, voir Configurer les variables d'environnement sous Linux, macOS et Windows.

    3. Pour plus de détails sur la configuration de l'endpoint, reportez-vous à Endpoints.

    import os
    
    from alibabacloud_ecs20140526 import client as ecs_client
    from alibabacloud_tea_openapi import models as open_api_models
    
    def init_ecs_client():
        """
        Initializes the ECS client.
    
        This function takes no arguments.
    
        Returns:
            ecs_client.Client: An initialized ECS client object for further ECS operations.
        """
        # Create an ECS configuration object and read the AccessKey pair from environment variables.
        ecs_config = open_api_models.Config()
        ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
        ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        # Set the endpoint.
        ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com'
    
        # Initialize the ECS client with the configuration and return it.
        return ecs_client.Client(ecs_config)
    
    if __name__ == '__main__':
        client = init_ecs_client()
    
  5. Appelez l'API. Consultez la Documentation API relative à l'API ciblée. L'exemple suivant appelle l'API DescribeRegions d'ECS.

    Remarque

    Chaque API possède son propre objet de requête, nommé selon la convention ${APIName}${Request}, par exemple DescribeRegionsRequest.

    import os
    
    from alibabacloud_ecs20140526 import client as ecs_client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_ecs20140526 import models as ecs_20140526_models
    
    def init_ecs_client():
        """
        Initializes the ECS client.
    
        This function takes no arguments.
    
        Returns:
            ecs_client.Client: An initialized ECS client object for further ECS operations.
        """
        # Create an ECS configuration object and read the AccessKey pair from environment variables.
        ecs_config = open_api_models.Config()
        ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
        ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        # Set the endpoint.
        ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com'
    
        # Initialize the ECS client with the configuration and return it.
        return ecs_client.Client(ecs_config)
    
    if __name__ == '__main__':
        # Initialize the ECS client.
        client = init_ecs_client()
        # Create a DescribeRegionsRequest object.
        describeRegions_request = ecs_20140526_models.DescribeRegionsRequest()
        # Send a describeRegions request to get region information.
        response = client.describe_regions(describeRegions_request)
        print(response.body)
    
  6. Gérez les exceptions.

    Le SDK Python V2.0 gère les exceptions via Tea.exceptions, qui comprend deux types d'exceptions :

    1. UnretryableException : levée lorsque le nombre maximal de tentatives est atteint en raison de problèmes réseau.

    2. TeaException : signale une erreur de service survenue lors d'une requête SDK.

    import os
    
    from Tea.exceptions import UnretryableException, TeaException
    from alibabacloud_ecs20140526 import client as ecs_client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_ecs20140526 import models as ecs_20140526_models
    
    def init_ecs_client():
        """
        Initializes the ECS client.
    
        This function takes no arguments.
    
        Returns:
            ecs_client.Client: An initialized ECS client object for further ECS operations.
        """
        # Create an ECS configuration object and read the AccessKey pair from environment variables.
        ecs_config = open_api_models.Config()
        ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
        ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        # Set the endpoint.
        ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com'
    
        # Initialize the ECS client with the configuration and return it.
        return ecs_client.Client(ecs_config)
    
    if __name__ == '__main__':
        try:
            # Initialize the ECS client.
            client = init_ecs_client()
            # Create a DescribeRegionsRequest object.
            describeRegions_request = ecs_20140526_models.DescribeRegionsRequest()
            # Send a describeRegions request to get region information.
            response = client.describe_regions(describeRegions_request)
            # Print the response.
            print(response.body)
        except UnretryableException as e:
            # Handle network exceptions.
            print(e)
        except TeaException as e:
            # Handle service exceptions.
            print(e)
        except Exception as e:
            # Handle other exceptions.
            print(e)
    
  7. (Facultatif) Copiez le code d'exemple d'OpenAPI Portal dans un fichier et exécutez-le. Générer automatiquement du code d'exemple SDK.

Références

Documentation avancée