Todos os produtos
Search
Central de documentação

Alibaba Cloud SDK:Integrar um SDK

Última atualização: Jun 28, 2026

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.

Nota

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.

Nota

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.

Exemplo 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)

Referências