Integre o SDK Python V1.0 ao seu projeto para simplificar chamadas de OpenAPI, acelerar a integração de recursos e reduzir custos de manutenção.
Requisitos de ambiente
Python >= 3,7
Instale o SDK
A instalação do SDK de um produto instala automaticamente o SDK principal. Você só precisa instalar o SDK do produto.
SDK do produto
O SDK do produto fornece os objetos Request e Response para chamadas de OpenAPI. Por exemplo, instale o SDK do ECS:
pip install aliyun-python-sdk-ecs
A convenção de nomenclatura para um SDK V1.0 é aliyun-python-sdk-${product_code}. Você também pode encontrar SDKs V1.0 para produtos específicos no SDK Center.
SDK principal
O SDK principal fornece o objeto Client, assinatura de requisições e tratamento de exceções. Para fazer chamadas genéricas ou instalar uma versão específica do SDK principal, execute:
pip install aliyun-python-sdk-core
Visualize as versões disponíveis em aliyun-python-sdk-core · PyPI.
Usar o SDK
O exemplo a seguir chama a API DescribeInstances do ECS com o SDK V1.0.
1. Inicializar o cliente de requisição
Todas as chamadas de OpenAPI passam pelo objeto Client no SDK principal. Inicialize o cliente antes de chamar qualquer API. Este exemplo usa um par de AccessKey. Para outros tipos de credenciais, consulte Gerenciar credenciais de acesso.
Antes de executar o código, defina as variáveis de ambiente ALIBABA_CLOUD_ACCESS_KEY_ID e ALIBABA_CLOUD_ACCESS_KEY_SECRET. Configurar variáveis de ambiente no Linux, macOS e 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 um objeto de parâmetro de requisição OpenAPI
Use o objeto Request do SDK do produto para definir os parâmetros da requisição.
A convenção de nomenclatura para um objeto de parâmetro de requisição OpenAPI é <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 a requisição
Chame do_action_with_exception no cliente com o objeto Request da Etapa 2. Uma chamada bem-sucedida retorna um objeto Response.
response = client.do_action_with_exception(request)
print(response)
4. Tratar exceções
Capture ClientException e ServerException para tratar erros. Uma ClientException geralmente indica parâmetros de inicialização incorretos, como um AccessKey inválido. Uma ServerException tem várias causas — forneça o RequestId da exceção ao entrar em contato com o suporte da Alibaba Cloud.
Referências
Configure proxies, timeouts e outras opções em Configurações avançadas.