Todos os produtos
Search
Central de documentação

Alibaba Cloud SDK:Use o Alibaba Cloud Python SDK em uma IDE

Última atualização: Jul 15, 2026

Saiba como usar o Alibaba Cloud Python SDK com o PyCharm no Windows.

Pré-requisitos

Use o SDK

Use o projeto de exemplo do OpenAPI Portal

Nota

Se não for possível baixar o projeto de exemplo do OpenAPI Portal, siga Usar o SDK em um projeto existente.

  1. Acesse a página do OpenAPI Explorer e selecione um produto e uma API. Por exemplo, para chamar a API DescribeInstanceTypeFamilies do ECS, insira DescribeInstanceTypeFamilies na caixa de pesquisa e clique no resultado para acessar a página do OpenAPI Explorer.

  2. Na aba Parameters na coluna central, especifique os parâmetros de acordo com seus requisitos de negócio. Ao especificar os parâmetros, leia as informações na aba Document na coluna mais à direita. Certifique-se de entender as notas de uso da operação e a descrição de cada parâmetro. Preste atenção às informações de faturamento. Neste exemplo, a operação DescribeInstanceTypeFamilies aceita dois parâmetros de requisição. Especifique um valor como cn-hangzhou para o parâmetro RegionId. O parâmetro Generation é opcional. Você pode defini-lo como ecs-5, o que indica a família de instâncias da série V. Os valores válidos dos parâmetros estão disponíveis na aba Document.

  3. Na aba SDK Sample Code na coluna mais à direita, selecione uma linguagem de programação e clique em Download Project para baixar o projeto SDK completo para o seu computador. Em seguida, descompacte o pacote.

    Defina SDK Version como V2.0 Recommended, defina Language como Python e clique em Download Complete Project.

  4. Abra o PyCharm. Clique em File > Open, selecione a pasta do projeto descompactado e clique em OK na caixa de diálogo Creating Virtual Environment. Aguarde o PyCharm criar o ambiente virtual e baixar as dependências.

    Nota

    Se as dependências não forem baixadas, execute python3 setup.py install no terminal.

  5. Antes de chamar esta operação, você deve obter um par de AccessKey como credencial de acesso. Recomendamos usar o par de AccessKey de um usuário do Resource Access Management (RAM). Para mais informações, consulte a seção Criar um par de AccessKey para um usuário RAM do tópico "Create an AccessKey pair".

    Importante

    Após obter o par de AccessKey de um usuário RAM, configure o par de AccessKey nas variáveis de ambiente. Para mais informações, consulte Configurar variáveis de ambiente no Linux, macOS e Windows.

  6. Execute o código de exemplo.

    Clique na aba Terminal na parte inferior do PyCharm ou pressione Alt + F12. Execute o seguinte comando:

    python ./alibabacloud_sample/sample.py
    

    Conteúdo de sample.py:

    # -*- coding: utf-8 -*-
    # This file is auto-generated, don't edit it. Thanks.
    import os
    import sys
    
    from typing import List
    
    from alibabacloud_ecs20140526.client import Client as Ecs20140526Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_ecs20140526 import models as ecs_20140526_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_console.client import Client as ConsoleClient
    from alibabacloud_tea_util.client import Client as UtilClient
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client() -> Ecs20140526Client:
            """
            使用AK&SK初始化账号Client
    

    Saída do terminal:

    python ./alibabacloud_sample/sample.py
    [LOG] {"headers":{"date":"Mon, 20 May 2024 02:41:40 GMT","content-type":"application/json;charset=utf-8","content-length":"139","connection":"keep-alive","keep-alive":"timeout=25","access-control-allow-origin":"*","access-control-expose-headers":"*","x-acs-request-id":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","x-acs-trace-id":"b31e569bd03bd37030ba2d9e5b0afbd","etag":"1Kp258uXZ5v+Tj9LKzSIaQ09"},"statusCode":200,"body":{"Instances":{"Instance":[]},"NextToken":"","PageNumber":1,"PageSize":10,"RequestId":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","TotalCount":0}}
    
  7. Visualize o resultado. Clique em qualquer lugar na janela Run na parte inferior do console e pressione Ctrl+F para pesquisar statusCode. Se "statusCode":200 for exibido, a chamada foi bem-sucedida.

    # -*- coding: utf-8 -*-
    # This file is auto-generated, don't edit it. Thanks.
    import os
    import sys
    
    from typing import List
    
    from alibabacloud_ecs20140526.client import Client as Ecs20140526Client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_ecs20140526 import models as ecs_20140526_models
    from alibabacloud_tea_util import models as util_models
    from alibabacloud_tea_console.client import Client as ConsoleClient
    from alibabacloud_tea_util.client import Client as UtilClient
    
    
    class Sample:
        def __init__(self):
            pass
    
        @staticmethod
        def create_client() -> Ecs20140526Client:
            """
            使用AK&SK初始化账号Client
    
    python ./alibabacloud_sample/sample.py
    [LOG] {"headers":{"date":"Mon, 20 May 2024 02:41:40 GMT","content-type":"application/json;charset=utf-8","content-length":"139","connection":"keep-alive","keep-alive":"timeout=25","access-control-allow-origin":"*","access-control-expose-headers":"*","x-acs-request-id":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","x-acs-trace-id":"b31e569bd03bd37030ba62d9e5b0afbd","etag":"1Kp258uXZ5v+Tj9LKzSIaQ09..."},"statusCode":200,"body":{"Instances":{"Instance":[]},"NextToken":"","PageNumber":1,"PageSize":10,"RequestId":"076CAAAD-D942-583B-BEFA-C4DF8CCD60DC","TotalCount":0}}
    

Use o SDK em um projeto existente

  1. Obtenha o SDK.

    Acesse o SDK Center e selecione um produto, como Elastic Compute Service. Defina SDK Version como V2.0 e Language como Python.

    Selecione a aba Quick Start, copie o comando de instalação pip install alibabacloud_ecs20140526==4.1.5 da seção Installation e execute-o no terminal local.

  2. Instale o SDK.

    No PyCharm, pressione Alt+F12 para abrir o terminal. Cole o comando de instalação e pressione Enter.

    (.venv) PS D:\ide\PythonProjects\pythonProject> pip install alibabacloud_ecs20140526==4.1.5
    Collecting alibabacloud_ecs20140526==4.1.5
      Obtaining dependency information for alibabacloud_ecs20140526==4.1.5 from https://files.pythonhosted.org/packages/6e/20/b10ac267a8625257dd846df4574c9c171126fbf6h149385af5dee128d756/alibabacloud_ecs20140526-4.1.5-py3-none-any.whl.metadata
      Using cached alibabacloud_ecs20140526-4.1.5-py3-none-any.whl.metadata (2.3 kB)
    Collecting alibabacloud-tea-util<1.0.0,>=0.3.12 (from alibabacloud_ecs20140526==4.1.5)
      Using cached alibabacloud_tea_util-0.3.12-py3-none-any.whl
    Collecting alibabacloud-tea-openapi<1.0.0,>=0.3.9 (from alibabacloud_ecs20140526==4.1.5)
      Using cached alibabacloud_tea_openapi-0.3.9-py3-none-any.whl
    Collecting alibabacloud-openapi-util<1.0.0,>=0.2.1 (from alibabacloud_ecs20140526==4.1.5)
      Using cached alibabacloud_openapi_util-0.2.2-py3-none-any.whl
    Collecting alibabacloud-endpoint-util<1.0.0,>=0.0.3 (from alibabacloud_ecs20140526==4.1.5)
    
  3. Crie um arquivo Python.

    Clique com o botão direito no nome do projeto e selecione New > Python File. Insira `sdk_demo` como nome do arquivo, selecione Python File e pressione Enter.

  4. Inicialize o cliente.

    Inicialize o cliente ECS antes de chamar uma API.

    Importante
    1. Você deve usar um par de AccessKey para concluir a verificação de identidade ao inicializar o cliente. Nesse caso, obtenha um par de AccessKey antecipadamente. Para mais informações sobre como obter um par de AccessKey, consulte Criar um AccessKey.

    2. Após obter o par de AccessKey de um usuário RAM, configure o par de AccessKey nas variáveis de ambiente. Para mais informações, consulte Configurar variáveis de ambiente no Linux, macOS e Windows.

    3. Para mais informações sobre como configurar o endpoint, consulte Endpoints.

    import os
    
    from alibabacloud_ecs20140526 import client as ecs_client
    from alibabacloud_tea_openapi import models as open_api_models
    
    
    def init_ecs_client():
        """
        Initializes the ECS client.
    
        This function takes no arguments.
    
        Returns:
            ecs_client.Client: An initialized ECS client object for further ECS operations.
        """
        # Create an ECS configuration object and read the AccessKey pair from environment variables.
        ecs_config = open_api_models.Config()
        ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
        ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        # Set the endpoint.
        ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com'
    
        # Initialize the ECS client with the configuration and return it.
        return ecs_client.Client(ecs_config)
    
    
    if __name__ == '__main__':
        client = init_ecs_client()
    
  5. Chame a API. Consulte a API Documentation da API de destino. O exemplo a seguir chama a API `DescribeRegions` do ECS.

    Nota

    Cada API tem um objeto de requisição separado que segue a convenção de nomenclatura `${APIName}${Request}`, como `DescribeRegionsRequest`.

    import os
    
    from alibabacloud_ecs20140526 import client as ecs_client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_ecs20140526 import models as ecs_20140526_models
    
    
    def init_ecs_client():
        """
        Initializes the ECS client.
    
        This function takes no arguments.
    
        Returns:
            ecs_client.Client: An initialized ECS client object for further ECS operations.
        """
        # Create an ECS configuration object and read the AccessKey pair from environment variables.
        ecs_config = open_api_models.Config()
        ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
        ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        # Set the endpoint.
        ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com'
    
        # Initialize the ECS client with the configuration and return it.
        return ecs_client.Client(ecs_config)
    
    
    if __name__ == '__main__':
        # Initialize the ECS client.
        client = init_ecs_client()
        # Create a DescribeRegionsRequest object.
        describeRegions_request = ecs_20140526_models.DescribeRegionsRequest()
        # Send a describeRegions request to get region information.
        response = client.describe_regions(describeRegions_request)
        print(response.body)
    
  6. Trate as exceções.

    O Python V2.0 SDK trata exceções por meio de `Tea.exceptions` com dois tipos de exceção:

    1. `UnretryableException`: lançada quando o número máximo de tentativas é atingido devido a problemas de rede.

    2. `TeaException`: indica um erro de serviço durante uma requisição SDK.

    import os
    
    from Tea.exceptions import UnretryableException, TeaException
    from alibabacloud_ecs20140526 import client as ecs_client
    from alibabacloud_tea_openapi import models as open_api_models
    from alibabacloud_ecs20140526 import models as ecs_20140526_models
    
    
    def init_ecs_client():
        """
        Initializes the ECS client.
    
        This function takes no arguments.
    
        Returns:
            ecs_client.Client: An initialized ECS client object for further ECS operations.
        """
        # Create an ECS configuration object and read the AccessKey pair from environment variables.
        ecs_config = open_api_models.Config()
        ecs_config.access_key_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
        ecs_config.access_key_secret = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
        # Set the endpoint.
        ecs_config.endpoint = 'ecs-cn-hangzhou.aliyuncs.com'
    
        # Initialize the ECS client with the configuration and return it.
        return ecs_client.Client(ecs_config)
    
    
    if __name__ == '__main__':
        try:
            # Initialize the ECS client.
            client = init_ecs_client()
            # Create a DescribeRegionsRequest object.
            describeRegions_request = ecs_20140526_models.DescribeRegionsRequest()
            # Send a describeRegions request to get region information.
            response = client.describe_regions(describeRegions_request)
            # Print the response.
            print(response.body)
        except UnretryableException as e:
            # Handle network exceptions.
            print(e)
        except TeaException as e:
            # Handle service exceptions.
            print(e)
        except Exception as e:
            # Handle other exceptions.
            print(e)
    
  7. (Opcional) Copie o código de exemplo do OpenAPI Portal para um arquivo e execute-o. Gerar automaticamente código de exemplo do SDK.

Referências

Documentação avançada