Todos los productos
Search
Centro de documentos

Alibaba Cloud SDK:Uso del SDK de Python de Alibaba Cloud en un IDE

Última actualización: Sep 09, 2026

Aprenda a usar el SDK de Python de Alibaba Cloud con PyCharm en Windows.

Requisitos previos

Uso del SDK

Uso del proyecto de ejemplo desde OpenAPI Portal

Nota

Si no puede descargar el proyecto de ejemplo desde OpenAPI Portal, siga los pasos de Use the SDK in an existing project.

  1. Vaya a la OpenAPI Explorer y seleccione un producto y una API. Por ejemplo, para llamar a la API DescribeInstanceTypeFamilies de ECS, introduzca DescribeInstanceTypeFamilies en el cuadro de búsqueda y haga clic en el resultado para ir a la página de OpenAPI Explorer.

  2. En la pestaña Parameters de la columna central, especifique los parámetros según sus necesidades de negocio. Mientras los define, lea la información de la pestaña Document en la columna derecha. Asegúrese de comprender las notas de uso de la operación y la descripción de cada parámetro. Preste atención a la información relacionada con la facturación. En este ejemplo, la operación DescribeInstanceTypeFamilies admite dos parámetros de solicitud. Debe especificar un valor como cn-hangzhou para el parámetro RegionId. El parámetro Generation es opcional. Puede establecer este parámetro en ecs-5, que indica la familia de instancias de la serie V. Consulte los valores válidos de los parámetros en la pestaña Document.

  3. En la pestaña SDK Sample Code de la columna derecha, seleccione un lenguaje de programación y haga clic en Download Project para descargar el proyecto completo del SDK a su computadora. Después, descomprima el paquete.

    Establezca SDK Version en V2.0 Recommended, Language en Python y haga clic en Download Complete Project.

  4. Abra PyCharm. Haga clic en File > Open, seleccione la carpeta del proyecto descomprimido y haga clic en OK en el cuadro de diálogo Creating Virtual Environment. Espere a que PyCharm cree el entorno virtual y descargue las dependencias.

    Nota

    Si las dependencias no se descargan, ejecute python3 setup.py install en la terminal.

  5. Antes de llamar a esta operación, debe obtener un par de AccessKey como credencial de acceso. Se recomienda usar el par de AccessKey de un usuario de Resource Access Management (RAM). Para más información, consulte la sección Create an AccessKey pair for a RAM user del tema "Create an AccessKey pair".

    Importante

    Después de obtener el par de AccessKey de un usuario de RAM, debe configurar dicho par en las variables de entorno. Para más información, consulte Configure environment variables in Linux, macOS, and Windows.

  6. Ejecute el código de ejemplo.

    Haga clic en la pestaña Terminal en la parte inferior de PyCharm o presione Alt + F12. Ejecute el siguiente comando:

    python ./alibabacloud_sample/sample.py
    

    Contenido de 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

    Salida de la 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. Consulte el resultado. Haga clic en cualquier parte de la ventana Run en la zona inferior de la consola y presione Ctrl+F para buscar statusCode. Si se muestra "statusCode":200, la llamada fue exitosa.

    # -*- 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}}
    

Uso del SDK en un proyecto existente

  1. Obtenga el SDK.

    Vaya a SDK Center y seleccione un producto, como Elastic Compute Service. Establezca SDK Version en V2.0 y Language en Python.

    Seleccione la pestaña Quick Start, copie el comando de instalación pip install alibabacloud_ecs20140526==4.1.5 de la sección Installation y ejecútelo en su terminal local.

  2. Instale el SDK.

    En PyCharm, presione Alt+F12 para abrir la terminal. Pegue el comando de instalación y presione Enter.

    (.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. Cree un archivo de Python.

    Haga clic con el botón derecho en el nombre del proyecto y seleccione New > Python File. Introduzca sdk_demo como nombre del archivo, seleccione Python File y presione Enter.

  4. Inicialice el cliente.

    Inicialice el cliente de ECS antes de llamar a una API.

    Importante
    1. Debe usar un par de AccessKey para completar la verificación de identidad cuando inicialice el cliente. Por lo tanto, obtenga un par de AccessKey por adelantado. Para más información sobre cómo obtenerlo, consulte Create an AccessKey.

    2. Después de obtener el par de AccessKey de un usuario de RAM, debe configurarlo en las variables de entorno. Para más información, consulte Configure environment variables in Linux, macOS, and Windows.

    3. Para más información sobre cómo configurar el endpoint, consulte 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. Llame a la API. Revise la documentación de la API correspondiente. A continuación se muestra un ejemplo que llama a la API DescribeRegions de ECS.

    Nota

    Cada API tiene un objeto de solicitud independiente que sigue la convención de nomenclatura ${APIName}${Request}, como 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. Gestione las excepciones.

    El SDK de Python V2.0 gestiona las excepciones mediante Tea.exceptions, con dos tipos de excepción:

    1. UnretryableException: se lanza cuando se alcanza el número máximo de reintentos debido a problemas de red.

    2. TeaException: indica un error del servicio durante una solicitud del 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. (Opcional) Copie el código de ejemplo de OpenAPI Portal en un archivo y ejecútelo. Auto-generate SDK sample code.

Referencias

Documentación avanzada