Todos os produtos
Search
Central de documentação

Alibaba Cloud SDK:Alibaba Cloud SDK V1.0 e V2.0

Última atualização: Sep 10, 2026

Este tópico descreve as diferenças entre o Alibaba Cloud SDK V1.0 e o V2.0 quanto ao método de geração, linguagens compatíveis, suporte estendido a outras linguagens e exemplos de SDK para cenários específicos. Se você já integrou services da Alibaba Cloud com o Alibaba Cloud SDK V1.0 e notou divergências na documentação, leia este tópico para entender as diferenças entre as versões V1.0 e V2.0. Caso seja novo no Alibaba Cloud SDK, recomendamos começar pelo Alibaba Cloud SDK V2.0.

Comparação entre Alibaba Cloud SDK V1.0 e V2.0

Item

Alibaba Cloud SDK V1.0 (não recomendado)

Alibaba Cloud SDK V2.0 (recomendado)

Método de geração

SDKs para diferentes linguagens de programação são gerados com base em modelos distintos. Os recursos encapsulados variam conforme a linguagem. Consequentemente, a experiência do usuário difere entre os SDKs de cada linguagem.

A geração dos SDKs utiliza Darabonba, uma linguagem de domínio específico (DSL). O Darabonba atua como intermediário para gerar SDKs em diversas linguagens e verificar a sintaxe automaticamente. Isso garante uma experiência de uso consistente, independentemente da linguagem escolhida.

Linguagens compatíveis

Para a maioria dos services da Alibaba Cloud, apenas SDKs para até três linguagens de programação principais estão disponíveis.

Oferece SDKs para seis linguagens de programação principais.

Suporte estendido a mais linguagens

Gerar SDKs para novas linguagens é difícil, pois depende de modelos predefinidos.

É possível gerar SDKs para outras linguagens facilmente por meio do desenvolvimento de árvores de sintaxe abstrata (ASTs) no Darabonba.

Exemplos de SDK

O código de exemplo varia entre as linguagens de programação. Não há garantia de correção para todos os exemplos.

Os códigos de exemplo para diferentes linguagens seguem a mesma lógica e são escritos em uma linguagem intermediária. Todo o código passa por verificação para garantir sua correção.

Exemplos de SDK para cenários específicos

Criar exemplos para cenários específicos é complexo. Poucos services oferecem esse tipo de exemplo, e apenas para um número limitado de linguagens.

Com o Darabonba, você gera exemplos de SDK para cenários específicos em várias linguagens simultaneamente, o que facilita o aprendizado sobre o uso dos SDKs. Para mais informações, visite Sample Code Center.

Alibaba Cloud SDK V1.0 (não recomendado)

Nota

Recomendamos não utilizar o Alibaba Cloud SDK V1.0 devido a problemas como inconsistência na experiência do usuário e incapacidade de isolar informações de autenticação.

A figura abaixo ilustra a arquitetura básica do Alibaba Cloud SDK V1.0.

image

Conforme mostrado na arquitetura, o Alibaba Cloud SDK V1.0 consiste nas seguintes camadas:

  1. Camada do SDK de service: processa parâmetros específicos das operações de api.

  2. Camada do SDK principal: converte parâmetros específicos da operação de api em parâmetros de solicitação HTTP.

  3. Camada do cliente HTTP: inicia as solicitações.

Para integrar services da Alibaba Cloud usando o Alibaba Cloud SDK V1.0, importe o SDK principal e o SDK de service.

Código de exemplo

Ao chamar operações de api de múltiplos services da Alibaba Cloud simultaneamente, não é possível isolar os objetos client comuns por service. Isso pode causar problemas de segurança de threads.

<!-- ECS sdk -->
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-ecs</artifactId>
    <version>5.11.7</version>
</dependency>
<!-- core sdk -->
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.6.1</version>
</dependency>
package com.example;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import com.aliyuncs.ecs.model.v20140526.*;
public class DescribeInstanceStatus {
    public static void main(String[] args) {
        // Please ensure that the environment variables ALIBABA_CLOUD_ACCESS_KEY_ID
        // and ALIBABA_CLOUD_ACCESS_KEY_SECRET are set.
        DefaultProfile profile = DefaultProfile.getProfile(
                "<YOUR-REGION-ID>",
                System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
                System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
        );
        // use STS Token
        // DefaultProfile profile = DefaultProfile.getProfile(
        //  "<YOUR-REGION-ID>",                                 // The region ID
        //  System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),       // The AccessKey ID of the RAM account
        //  System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),   // The AccessKey Secret of the RAM account
        //  System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")       // STS Token
        // );
        // Initialize the ACS client
        IAcsClient client = new DefaultAcsClient(profile);
        // Create the request to query instance status
        DescribeInstanceStatusRequest request = new DescribeInstanceStatusRequest();
        request.setRegionId("<YOUR-REGION-ID>");
        try {
            DescribeInstanceStatusResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }
    }
}

Alibaba Cloud SDK V2.0 (recomendado)

O Alibaba Cloud SDK V1.0 é uma versão anterior amplamente utilizada pelos desenvolvedores. O Alibaba Cloud SDK V2.0 foi desenvolvido para resolver uma série de problemas encontrados pelos desenvolvedores ao usar a versão V1.0. Esta nova versão traz diversos recursos para simplificar o uso dos SDKs, reduzir custos de integração e aumentar a robustez das aplicações.

O Alibaba Cloud SDK V2.0 é gerado usando Darabonba, uma DSL desenvolvida pela Alibaba Cloud. Essa DSL oferece flexibilidade não apenas para expressar uma gama maior de conceitos, mas também para abstrair as diferenças nos estilos de api entre os diversos services da Alibaba Cloud. Ao analisar as ASTs geradas a partir da DSL, torna-se mais fácil superar as diferenças entre os estilos de api e gerar SDKs diretamente das especificações de api sem esforço. Em comparação com o Alibaba Cloud SDK V1.0, o Alibaba Cloud SDK V2.0 oferece os seguintes benefícios:

  • Experiência de usuário consistente: Alguns services da Alibaba Cloud fornecem apis no estilo remote procedure call (RPC), enquanto outros utilizam o estilo resource-oriented architecture (ROA). Essas diferenças causavam inconsistências na experiência do desenvolvedor ao usar o Alibaba Cloud SDK V1.0. No Alibaba Cloud SDK V2.0, os SDKs de todos os services seguem o mesmo padrão de uso, garantindo uma experiência uniforme.

  • Redução de custos de desenvolvimento: A DSL permite que o Alibaba Cloud SDK V2.0 descreva a lógica de negócios diretamente. Isso resolve o problema de acoplamento forte com a biblioteca central presente na versão V1.0, reduzindo assim os custos de desenvolvimento associados às atualizações do SDK.

  • Isolamento de identidade e informações de autenticação: Cada service da Alibaba Cloud fornece seu próprio objeto de cliente SDK. Basta instanciar um objeto de cliente para chamar todas as operações de api desse service. Essa implementação supera a abordagem do Alibaba Cloud SDK V1.0, em que um único cliente gerenciava múltiplas threads e a gestão de permissões era menos eficiente. O Alibaba Cloud SDK V2.0 garante a segurança entre threads, isola as credenciais de cada service e elimina a necessidade de compartilhar um único perfil de usuário entre vários services. Configure parâmetros distintos — como região, tempo limite, proxy HTTP e mecanismo de nova tentativa — para chamar apis de diferentes services.

  • Cenários complexos: O Alibaba Cloud SDK V2.0 suporta chamadas de api em cenários mais elaborados. Por exemplo, para usar o recurso FaceBody da Visual Intelligence api, é necessário enviar uma imagem para o Object Storage Service (oss) e usar IA para analisá-la com base na URL gerada. Nesse caso, o Alibaba Cloud SDK V2.0 permite combinar as operações de autenticação, upload e análise de imagem, simplificando as chamadas de api.

  • Exemplos de SDK para cenários específicos: O Alibaba Cloud SDK V2.0 fornece sample code para todas as solicitações de api. Também disponibiliza sample code for scenarios, nos quais múltiplas solicitações de api são enviadas simultaneamente. Essas informações ajudam você a usar os SDKs com facilidade e a compreender melhor os cenários de negócios onde os services da Alibaba Cloud se aplicam.

Se você é um novo usuário, recomendamos usar diretamente o Alibaba Cloud SDK V2.0. Para usuários atuais do Alibaba Cloud SDK V1.0, sugerimos atualizar seus SDKs para a versão mais recente o quanto antes.

Código de exemplo

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>ecs20140526</artifactId>
  <version>5.1.8</version>
</dependency>
package com.example;
import com.aliyun.tea.TeaException;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.ecs20140526.Client;
import com.aliyun.ecs20140526.models.DescribeInstanceStatusRequest;
public class Sample {
    public static void main(String[] args) throws Exception {
        Config config = new Config();
        // Your AccessKey ID, from the ALIBABA_CLOUD_ACCESS_KEY_ID environment variable.
        config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"));
        // Your AccessKey Secret, from the ALIBABA_CLOUD_ACCESS_KEY_SECRET environment variable.
        config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        // The endpoint for ECS. For more information, see https://api.alibabacloud.com/product/Ecs.
        config.setEndpoint("<Endpoint>");
        Client client = new Client(config);
        DescribeInstanceStatusRequest request = new DescribeInstanceStatusRequest()
                .setRegionId("<YOUR-REGION-ID>");
        try {
            // Add your logic to process the API response.
            client.describeInstanceStatus(request);
        } catch (TeaException error) {
            error.printStackTrace();
        } catch (Exception error) {
            error.printStackTrace();
        }
    }
}

Visualize informações de dependência de um SDK

  1. Acesse o Portal do Desenvolvedor OpenAPI da Alibaba Cloud. Este exemplo utiliza o Virtual Private Cloud (VPC).

Clique em no nome do product atual na barra de navegação superior. No painel suspenso Products and Services, localize e selecione o product desejado por categoria.

  1. Selecione uma SDK version.

As versões disponíveis incluem v2.0 (Recommended) e v1.0. Recomendamos selecionar a v2.0.

  1. Escolha uma linguagem. Na seção Installation Method, visualize as dependências do SDK para a linguagem selecionada referente ao service. Na seção Overview, confira a versão mais recente do SDK.

Por exemplo, ao selecionar Java, a seção Overview indica que a versão mais recente é 7.7.0. Em Installation Method, se você escolher Apache Maven, a dependência usará o groupId com.aliyun, artifactId vpc20160428 e versão 7.7.0.