Todos os produtos
Search
Central de documentação

Elastic Compute Service:Exemplo de chamada do ECS Python V2.0 SDK

Última atualização: Jul 03, 2026

Este tópico descreve como instale o Elastic Compute Service (ECS) SDK V2.0 para Python e apresenta um exemplo de uso do SDK para chamar operações da API do ECS. O exemplo utiliza o ECS SDK V2.0 para Python para invocar a operação DescribeInstances e consultar informações sobre instâncias do ECS.

Pré-requisitos

  1. O AccessKey de uma conta Alibaba Cloud concede acesso total aos seus recursos, o que representa alto risco de segurança em caso de vazamento. Recomendamos crie um usuário no Resource Access Management (RAM) e conceder apenas as permissões necessárias. Em seguida, use o AccessKey desse usuário RAM para chamar as operações da API. Para mais informações, consulte Criar um AccessKey.

  2. Conceda ao usuário RAM permissões para gerencie recursos do ECS. O código de exemplo neste tópico demonstra uma operação de consulta e utiliza a política de sistema AliyunECSReadonlyAccess. Se necessário, conceda permissões personalizadas.

    1. Use políticas personalizadas.

      Para saber mais sobre a criação de políticas personalizadas, consulte Criar uma política personalizada e Informações de autorização.

      O ECS disponibiliza exemplos de políticas personalizadas baseados em melhores práticas. Use esses modelos para crie rapidamente políticas adequadas às necessidades do seu negócio. Para mais detalhes, consulte Políticas personalizadas.

    2. Use políticas de sistema.

      Para obter informações sobre todas as políticas de sistema compatíveis com o ECS e suas descrições de permissão, consulte Políticas de sistema para ECS.

  3. configure o AccessKey por meio de variáveis de ambiente. Para mais informações, consulte Configurar variáveis de ambiente em sistemas Linux, macOS e Windows.

Instale o SDK

Para obter mais detalhes sobre a instalação do ECS SDK V2.0 para Python, acesse o SDK Center. Copie e execute o comando abaixo no terminal para instale o ECS SDK V2.0 para Python:

pip install alibabacloud_ecs20140526

Uso do SDK

1. Inicializar um cliente.

Os SDKs da Alibaba Cloud aceitam múltiplas credenciais de acesso, como pares de AccessKey e tokens do Security Token Service (STS), para inicializar clientes. Para mais informações, consulte Gerenciar credenciais de acesso. Este exemplo usa um par de AccessKey para inicializar o cliente.

import os

from alibabacloud_tea_openapi.models import Config
from alibabacloud_ecs20140526.client import Client as Ecs20140526Client

class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> Ecs20140526Client:
        config = Config(
            # Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is configured.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is configured.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
            endpoint='ecs.cn-hangzhou.aliyuncs.com'
        )
        return Ecs20140526Client(config)

2. Crie um objeto de solicitação para a operação da API.

Antes de construir o objeto de solicitação, consulte a Referência da API para obter informações sobre os parâmetros.

Nota

O nome de um objeto de solicitação segue o formato {Nome da operação}Request. Por exemplo, o objeto de solicitação para a operação DescribeInstances chama-se DescribeInstancesRequest.

# Construct the request object.
describe_instances_request = ecs_20140526_models.DescribeInstancesRequest(
    region_id='cn-hangzhou'
)

3. Chamar a operação da API.

Ao chamar uma operação da API a partir de um cliente, especifique parâmetros de tempo de execução, como timeout e proxy. Para mais detalhes, consulte Configurações avançadas.

Nota

O nome de um objeto de resposta segue o formato {Nome da operação}Response. Por exemplo, o objeto de resposta para a operação DescribeInstances chama-se DescribeInstancesResponse.

# Specify runtime parameters.
runtime = util_models.RuntimeOptions()
# Call the DescribeInstances operation.
describe_instances_response = client.describe_instances_with_options(describe_instances_request, runtime)

4. Tratar exceções.

O SDK para Python classifica as exceções em duas categorias principais: UnretryableException e TeaException.

  • UnretryableException: resulta de problemas de rede. Geralmente, essa exceção é lançada quando o número máximo de tentativas é atingido.

  • TeaException: decorre de erros de negócio na maioria dos casos.

Recomendamos tratar adequadamente as exceções por meio de ações como relatar erros, registrar logs e executar novas tentativas, garantindo assim a robustez e a estabilidade do seu sistema.

5. Código de exemplo completo.

import os

from Tea.exceptions import UnretryableException, TeaException
from alibabacloud_tea_openapi.models import Config
from alibabacloud_ecs20140526.client import Client as Ecs20140526Client
from alibabacloud_tea_util import models as util_models
from alibabacloud_ecs20140526 import models as ecs_20140526_models

class Sample:
    def __init__(self):
        pass

    @staticmethod
    def create_client() -> Ecs20140526Client:
        config = Config(
            # Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable is configured.
            access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
            # Required. Make sure that the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable is configured.
            access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET'],
            endpoint='ecs.cn-hangzhou.aliyuncs.com'
        )
        return Ecs20140526Client(config)

    @staticmethod
    def main():
        client = Sample.create_client()
        # Create a request object.
        describe_instances_request = ecs_20140526_models.DescribeInstancesRequest(
            region_id='cn-hangzhou'
        )
        # Specify runtime parameters.
        runtime = util_models.RuntimeOptions()
        try:
            # Call the DescribeInstances operation.
            describe_instances_response = client.describe_instances_with_options(describe_instances_request, runtime)
            print(describe_instances_response.body)
        except UnretryableException as e:
            # Network exceptions. Handle exceptions with caution in actual business scenarios and do not ignore exceptions in your project. In this example, exceptions are provided only for reference.
            print(e)
        except TeaException as e:
            # Business exceptions. Handle exceptions with caution in actual business scenarios and do not ignore exceptions in your project. In this example, exceptions are provided only for reference.
            print(e)
        except Exception as e:
            # Other exceptions. Handle exceptions with caution in actual business scenarios and do not ignore exceptions in your project. In this example, exceptions are provided only for reference.
            print(e)

if __name__ == '__main__':
    Sample.main()

Exemplos baseados em cenários

Mais informações

Além dos métodos descritos acima, você pode fazer chamadas genéricas à OpenAPI do ECS. Para mais detalhes, consulte Chamadas genéricas.

Se você usar o ECS SDK V1.0 para Python, consulte SDK V1.0 para Python para obter informações sobre essa versão do SDK.