Todos los productos
Search
Centro de documentos

Alibaba Cloud SDK:Integrate an SDK

Última actualización: Sep 10, 2026

Integre el SDK de Python V1.0 en su proyecto para simplificar las llamadas a openapi, acelerar la integración de funciones y reducir los costos de mantenimiento.

Requisitos del entorno

Python >= 3.7

Instalar el SDK

Cuando se instala el SDK de un producto, el SDK principal se instala automáticamente. Solo necesita instalar el SDK del producto.

SDK del producto

El SDK de un producto proporciona los objetos Request y Response para las llamadas a openapi. Por ejemplo, instale el SDK de ECS:

pip install aliyun-python-sdk-ecs

La convención de nombres para un SDK V1.0 es aliyun-python-sdk-${product_code}. También puede encontrar los SDK V1.0 de productos específicos en SDK Center.

SDK principal

El SDK principal proporciona el objeto Client, la firma de solicitudes y el manejo de excepciones. Para ejecutar llamadas generalizadas o instalar una versión específica del SDK principal, ejecute el siguiente comando:

pip install aliyun-python-sdk-core

Consulte las versiones disponibles en aliyun-python-sdk-core · PyPI.

Usar el SDK

A continuación se muestra un ejemplo que llama a la API DescribeInstances de ECS con el SDK V1.0.

1. Inicializar el cliente de solicitud

Todas las llamadas a openapi pasan por el objeto Client del SDK principal. Inicialice el cliente antes de llamar a cualquier API. Este ejemplo utiliza un par de accesskey. Para otros tipos de credenciales, consulte Manage access credentials.

Nota

Antes de ejecutar el código, establezca las variables de entorno ALIBABA_CLOUD_ACCESS_KEY_ID y ALIBABA_CLOUD_ACCESS_KEY_SECRET. Configure environment variables on Linux, macOS, and 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. Construir un objeto de parámetro de solicitud de openapi

Utilice el objeto Request del SDK del producto para establecer los parámetros de la solicitud.

Nota

La convención de nombres para un objeto de parámetro de solicitud de openapi es <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. Enviar la solicitud

Llame a do_action_with_exception en el cliente con el objeto Request del paso 2. Si la llamada es exitosa, devuelve un objeto Response.

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

4. Manejar excepciones

Capture ClientException y ServerException para manejar los errores. Una ClientException suele indicar parámetros de inicialización incorrectos, como un accesskey no válido. Una ServerException tiene diversas causas; proporcione el RequestId de la excepción cuando contacte al soporte técnico de Alibaba Cloud.

Ejemplo de código completo

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)

Referencias