Todos os produtos
Search
Central de documentação

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

Última atualização: Jun 28, 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 para mais linguagens e exemplos de SDK para cenários específicos. Se você já integrou serviços da Alibaba Cloud com o Alibaba Cloud SDK V1.0 e notar que a documentação difere do habitual, 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

Modelos distintos geram os SDKs para diferentes linguagens de programação. Os recursos encapsulados nos SDKs variam conforme a linguagem. Por isso, a experiência do usuário difere entre os SDKs de cada linguagem.

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

Linguagens compatíveis

A maioria dos serviços da Alibaba Cloud fornece SDKs para até três linguagens de programação principais.

Há SDKs disponíveis para seis linguagens de programação principais.

Suporte estendido para mais linguagens

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

Desenvolver árvores de sintaxe abstrata (ASTs) no Darabonba permite gerar facilmente SDKs para outras linguagens.

Exemplos de SDK

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

Uma linguagem intermediária baseada na mesma lógica define o código de exemplo para diferentes linguagens. Todos os exemplos passam por verificação para garantir sua correção.

Exemplos de SDK para cenários específicos

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

Use o Darabonba para gerar exemplos de SDK para cenários específicos em várias linguagens simultaneamente. Isso facilita o aprendizado sobre o uso dos SDKs. Para mais informações, acesse o Centro de Código de Exemplo.

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

Nota

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

A figura a seguir mostra a arquitetura básica do Alibaba Cloud SDK V1.0.

image

Conforme ilustrado na arquitetura, o Alibaba Cloud SDK V1.0 é composto pelas seguintes camadas:

  1. Camada do SDK de serviço: processa parâmetros específicos das operações de API.

  2. Camada do SDK principal: converte parâmetros específicos das operações de API em parâmetros de solicitação HTTP.

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

Para integrar serviços da Alibaba Cloud com o Alibaba Cloud SDK V1.0, importe o SDK principal e o SDK de serviço.

Código de exemplo

Ao chamar operações de API de vários serviços da Alibaba Cloud simultaneamente, não é possível isolar os objetos client comuns por serviço. Essa limitação 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 enfrentados pelos usuários da versão V1.0. Esta nova versão traz diversos recursos que simplificam o uso dos SDKs, reduzem custos de integração e aumentam a robustez das aplicações.

O Darabonba, uma DSL desenvolvida pela Alibaba Cloud, gera o Alibaba Cloud SDK V2.0. Essa DSL oferece flexibilidade tanto para expressar uma gama maior de conceitos quanto para abstrair as diferenças nos estilos de API entre os diversos serviços da Alibaba Cloud. Analisar as ASTs geradas a partir da DSL facilita superar as divergências entre estilos de API e gerar SDKs diretamente das especificações de API sem esforço adicional. 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 serviços da Alibaba Cloud fornecem APIs no estilo chamada de procedimento remoto (RPC), enquanto outros utilizam o estilo arquitetura orientada a recursos (ROA). Essas diferenças de estilo causavam inconsistência na experiência do desenvolvedor ao usar o Alibaba Cloud SDK V1.0. No Alibaba Cloud SDK V2.0, os SDKs de todos os serviços seguem o mesmo padrão de uso, garantindo uniformidade na experiência.

  • 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, diminuindo assim os custos de desenvolvimento associados às atualizações do SDK.

  • Isolamento de identidade e informações de autenticação: Cada serviço da Alibaba Cloud fornece seu próprio objeto de cliente SDK. Instancie um objeto de cliente para chamar todas as operações de API desse serviço. Essa implementação do Alibaba Cloud SDK V2.0 é superior à da versão V1.0. Enquanto no V1.0 um único cliente SDK gerenciava múltiplas threads com gestão de permissões ineficiente, o V2.0 garante segurança entre threads, isola as credenciais de cada serviço e elimina a necessidade de compartilhar um único perfil de usuário entre vários serviços. Configure parâmetros distintos — como região, tempo limite, proxy HTTP e mecanismo de nova tentativa — para chamar APIs de diferentes serviços.

  • 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, carregue uma imagem no Object Storage Service (OSS) e utilize 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 em um único fluxo, simplificando as chamadas de API.

  • Exemplos de SDK para cenários específicos: O Alibaba Cloud SDK V2.0 disponibiliza código de exemplo para todas as solicitações de API. Também oferece exemplos de código para cenários que envolvem múltiplas solicitações simultâneas. Esse conteúdo facilita o uso dos SDKs e ajuda a compreender melhor os cenários de negócios onde os serviços da Alibaba Cloud se aplicam.

Se você é um novo usuário, recomendamos adotar diretamente o Alibaba Cloud SDK V2.0. Para quem já utiliza o 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.aliyun.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 produto atual na barra de navegação superior. No painel suspenso Products and Services, localize e selecione o produto 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 serviço. 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 é a 7.7.0. Em Installation Method, se optar por Apache Maven, a dependência utilizará o groupId com.aliyun, artifactId vpc20160428 e versão 7.7.0.