All Products
Search
Document Center

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

Last Updated:Jun 22, 2026

Topik ini menjelaskan perbedaan antara Alibaba Cloud SDK V1.0 dan V2.0 dari segi metode pembuatan, bahasa pemrograman yang didukung, dukungan ekstensi untuk lebih banyak bahasa, serta contoh SDK untuk skenario tertentu. Jika sebelumnya Anda telah mengintegrasikan layanan Alibaba Cloud menggunakan Alibaba Cloud SDK V1.0 dan menemukan bahwa dokumentasi berbeda dari yang biasa Anda gunakan, Anda dapat membaca topik ini untuk memahami perbedaan antara Alibaba Cloud SDK V1.0 dan V2.0. Jika Anda baru mengenal Alibaba Cloud SDK, kami menyarankan Anda mulai dengan Alibaba Cloud SDK V2.0.

Perbandingan antara Alibaba Cloud SDK V1.0 dan V2.0

Item

Alibaba Cloud SDK V1.0 (tidak direkomendasikan)

Alibaba Cloud SDK V2.0 (direkomendasikan)

Metode pembuatan

SDK untuk berbagai bahasa pemrograman dibuat berdasarkan templat yang berbeda. Fitur yang dikemas dalam SDK bervariasi tergantung bahasa pemrogramannya, sehingga pengalaman pengguna tidak konsisten saat menggunakan SDK untuk bahasa pemrograman yang berbeda.

SDK dibuat menggunakan Darabonba, sebuah domain-specific language (DSL). Darabonba berperan sebagai perantara untuk menghasilkan SDK untuk berbagai bahasa pemrograman dan secara otomatis memverifikasi sintaksis, sehingga memberikan pengalaman pengguna yang konsisten di berbagai bahasa pemrograman.

Bahasa yang didukung

Untuk sebagian besar layanan Alibaba Cloud, SDK hanya tersedia dalam hingga tiga bahasa pemrograman utama.

SDK tersedia dalam enam bahasa pemrograman utama.

Dukungan diperluas ke lebih banyak bahasa

Sulit menghasilkan SDK untuk lebih banyak bahasa pemrograman karena SDK dibuat berdasarkan templat.

SDK untuk lebih banyak bahasa pemrograman dapat dengan mudah dihasilkan dengan mengembangkan abstract syntax trees (ASTs) di Darabonba.

Contoh SDK

Kode contoh untuk berbagai bahasa pemrograman saling berbeda, dan keakuratannya tidak dapat dijamin.

Kode contoh untuk berbagai bahasa pemrograman ditulis dalam bahasa perantara berdasarkan logika yang sama, dan seluruh kode contoh diverifikasi untuk memastikan keakuratannya.

Contoh SDK untuk skenario tertentu

Sulit menulis contoh SDK untuk skenario tertentu. Hanya beberapa layanan yang menyediakan contoh SDK untuk skenario tertentu dalam jumlah terbatas bahasa pemrograman.

Anda dapat menggunakan Darabonba untuk menghasilkan contoh SDK untuk skenario tertentu dalam berbagai bahasa pemrograman sekaligus, sehingga membantu Anda mempelajari cara menggunakan SDK secara efisien. Untuk informasi selengkapnya, kunjungi Sample Code Center.

Alibaba Cloud SDK V1.0 (tidak direkomendasikan)

Catatan

Kami menyarankan agar Anda tidak menggunakan Alibaba Cloud SDK V1.0 karena masalah seperti pengalaman pengguna yang tidak konsisten dan ketidakmampuan mengisolasi informasi autentikasi.

Gambar berikut menunjukkan arsitektur dasar Alibaba Cloud SDK V1.0.

Seperti yang ditunjukkan pada arsitektur tersebut, Alibaba Cloud SDK V1.0 terdiri atas lapisan-lapisan berikut:

  1. Lapisan Service SDK: memproses parameter spesifik operasi API.

  2. Lapisan Core SDK: mengonversi parameter spesifik operasi API menjadi parameter permintaan HTTP.

  3. Lapisan HTTP Client: menginisiasi permintaan.

Untuk menggunakan Alibaba Cloud SDK V1.0 dalam mengintegrasikan layanan Alibaba Cloud, Anda harus mengimpor core SDK dan service SDK.

Kode contoh

Saat Anda memanggil operasi API dari beberapa layanan Alibaba Cloud secara bersamaan, Anda tidak dapat mengisolasi objek client umum berdasarkan layanan. Hal ini dapat menyebabkan masalah keamanan thread.

<!-- 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) {
        // Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID
        // dan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel.
        DefaultProfile profile = DefaultProfile.getProfile(
                "<YOUR-REGION-ID>",
                System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
                System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
        );
        // gunakan STS Token
        // DefaultProfile profile = DefaultProfile.getProfile(
        //  "<YOUR-REGION-ID>",                                 // ID wilayah
        //  System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),       // ID AccessKey akun RAM
        //  System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),   // Secret AccessKey akun RAM
        //  System.getenv("ALIBABA_CLOUD_SECURITY_TOKEN")       // STS Token
        // );
        // Inisialisasi client ACS
        IAcsClient client = new DefaultAcsClient(profile);
        // Buat permintaan untuk mengkueri status instans
        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 (direkomendasikan)

Alibaba Cloud SDK V1.0 merupakan versi sebelumnya yang banyak digunakan oleh developer. Alibaba Cloud SDK V2.0 dikembangkan untuk mengatasi serangkaian masalah yang dihadapi developer saat menggunakan Alibaba Cloud SDK V1.0. Alibaba Cloud SDK V2.0 menyediakan banyak fitur baru untuk menyederhanakan penggunaan SDK, mengurangi biaya integrasi, dan meningkatkan ketangguhan SDK.

Alibaba Cloud SDK V2.0 dibuat menggunakan Darabonba, sebuah DSL yang dikembangkan oleh Alibaba Cloud. DSL ini menawarkan fleksibilitas tidak hanya untuk merepresentasikan konsep yang lebih luas, tetapi juga untuk mengabstraksi perbedaan gaya API di berbagai layanan Alibaba Cloud. Dengan menguraikan AST yang dihasilkan dari DSL, kesenjangan antara berbagai gaya API dapat dijembatani dengan lebih mudah dan SDK dapat dihasilkan secara lancar dari spesifikasi API. Dibandingkan dengan Alibaba Cloud SDK V1.0, Alibaba Cloud SDK V2.0 memberikan manfaat berikut:

  • Pengalaman pengguna yang konsisten: Beberapa layanan Alibaba Cloud menyediakan API dalam gaya remote procedure call (RPC), sedangkan layanan lainnya menyediakan API dalam gaya resource-oriented architecture (ROA). Perbedaan gaya API ini menyebabkan pengalaman pengguna yang tidak konsisten saat developer menggunakan Alibaba Cloud SDK V1.0 untuk mengintegrasikan layanan Alibaba Cloud. Di Alibaba Cloud SDK V2.0, semua SDK layanan Alibaba Cloud digunakan dengan cara yang sama, sehingga menjamin pengalaman pengguna yang konsisten.

  • Biaya pengembangan yang lebih rendah: DSL memungkinkan Alibaba Cloud SDK V2.0 untuk mendeskripsikan logika bisnis, sehingga mengatasi masalah ketergantungan erat antara Alibaba Cloud SDK V1.0 dan pustaka inti. Dengan demikian, biaya pengembangan akibat pembaruan SDK berkurang.

  • Informasi identitas dan autentikasi yang terisolasi: Setiap layanan Alibaba Cloud menyediakan objek client SDK. Anda dapat membuat instans objek client untuk memanggil semua operasi API suatu layanan Alibaba Cloud. Implementasi Alibaba Cloud SDK V2.0 ini lebih baik daripada Alibaba Cloud SDK V1.0. Di Alibaba Cloud SDK V1.0, satu client SDK menangani beberapa thread, dan pengelolaan izin kurang efisien. Sebaliknya, Alibaba Cloud SDK V2.0 menjamin keamanan multi-thread, mengisolasi informasi identitas dan autentikasi setiap layanan Alibaba Cloud, serta tidak mengharuskan beberapa layanan Alibaba Cloud berbagi satu profil pengguna. Anda dapat mengonfigurasi parameter berbeda untuk memanggil operasi API layanan Alibaba Cloud yang berbeda. Parameter yang dapat dikonfigurasi mencakup wilayah, periode timeout, proxy HTTP, dan mekanisme retry.

  • Skenario kompleks: Alibaba Cloud SDK V2.0 mendukung pemanggilan API dalam skenario yang lebih kompleks. Misalnya, untuk menggunakan fitur FaceBody dari Visual Intelligence API, Anda harus mengunggah gambar ke Object Storage Service (OSS) dan menganalisis gambar tersebut menggunakan AI berdasarkan URL gambar yang dihasilkan. Dalam kasus ini, Alibaba Cloud SDK V2.0 memungkinkan Anda menggabungkan operasi autentikasi, unggah gambar, dan analisis gambar, sehingga menyederhanakan pemanggilan API.

  • Contoh SDK untuk skenario tertentu: Alibaba Cloud SDK V2.0 menyediakan kode contoh untuk semua permintaan API. Alibaba Cloud SDK V2.0 juga menyediakan kode contoh untuk skenario di mana beberapa permintaan API dikirim sekaligus. Informasi yang disediakan membantu Anda menggunakan SDK dengan mudah dan memahami skenario bisnis tempat Anda dapat menggunakan layanan Alibaba Cloud.

Jika Anda pengguna baru, kami menyarankan Anda langsung menggunakan Alibaba Cloud SDK V2.0. Jika Anda pengguna Alibaba Cloud SDK V1.0 yang sudah ada, kami menyarankan Anda memperbarui SDK Anda ke versi terbaru sesegera mungkin.

Kode contoh

<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();
        // ID AccessKey Anda, dari variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID.
        config.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"));
        // Secret AccessKey Anda, dari variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET.
        config.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        // Titik akhir untuk ECS. Untuk informasi selengkapnya, lihat https://api.aliyun.com/product/Ecs.
        config.setEndpoint("<Endpoint>");
        Client client = new Client(config);
        DescribeInstanceStatusRequest request = new DescribeInstanceStatusRequest()
                .setRegionId("<YOUR-REGION-ID>");
        try {
            // Tambahkan logika Anda untuk memproses respons API.
            client.describeInstanceStatus(request);
        } catch (TeaException error) {
            error.printStackTrace();
        } catch (Exception error) {
            error.printStackTrace();
        }
    }
}

Lihat informasi dependensi SDK

  1. Buka Alibaba Cloud OpenAPI Developer Portal. Contoh ini menggunakan Virtual Private Cloud (VPC).

Klik nama produk saat ini di bilah navigasi atas. Di panel drop-down Products and Services, cari dan pilih produk target berdasarkan kategori.

  1. Pilih SDK version.

Versi yang tersedia meliputi v2.0 (Direkomendasikan) dan v1.0. Kami menyarankan memilih v2.0.

  1. Pilih bahasa. Di bagian Installation Method, Anda dapat melihat dependensi SDK untuk bahasa yang dipilih untuk layanan tersebut. Di bagian Overview, Anda dapat melihat versi SDK terbaru.

Misalnya, jika Anda memilih Java, bagian Overview menunjukkan bahwa versi terbaru adalah 7.7.0. Di bawah Installation Method, jika Anda memilih Apache Maven, dependensinya menggunakan groupId com.aliyun, artifactId vpc20160428, dan versi 7.7.0.