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.
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.
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.
Referencias
Configure proxies, tiempos de espera y otras opciones en Advanced configurations.