全部产品
Search
文档中心

:Alibaba Cloud SDKs

更新时间:Jul 19, 2025

Topik ini menjelaskan cara menggunakan SDK dari layanan Alibaba Cloud untuk memanggil API operasi.

Alibaba Cloud SDKs

Alibaba Cloud menyediakan SDK dalam berbagai bahasa pemrograman, termasuk Java, C#, Go, Python, TypeScript + Node.js, PHP, dan C++. Operasi API dapat dipanggil langsung melalui SDK yang diintegrasikan ke dalam aplikasi Anda. SDK mengenkapsulasi informasi seperti logika tanda tangan, mekanisme timeout, mekanisme ulang, serta mengembalikan objek respons terstruktur sesuai spesifikasi, sehingga memudahkan pengembang.

Untuk informasi lebih lanjut tentang Alibaba Cloud SDKs, lihat Alibaba Cloud SDKs.

Metode integrasi

  1. Kunjungi OpenAPI Explorer. Gerakkan pointer ke image.png di bilah navigasi atas dan temukan layanan yang diperlukan.

  2. Pada bagian SDK Examples, klik bahasa pemrograman yang Anda gunakan.

  3. Lihat metode instalasi SDK dan kode contoh untuk mengintegrasikan SDK.

Perbandingan V2.0 dan V1.0

Alibaba Cloud SDK V2.0 mendukung lebih banyak bahasa dan skenario yang lebih kompleks untuk operasi API dibandingkan dengan Alibaba Cloud SDK V1.0. V2.0 mendukung panggilan asinkron dan sinkron serta menyelesaikan beberapa masalah warisan di V1.0. V2.0 menawarkan fitur yang lebih fleksibel dan kuat. Kami merekomendasikan Anda menggunakan Alibaba Cloud SDK V2.0. Untuk informasi lebih lanjut, lihat Alibaba Cloud SDK V1.0 dan V2.0.

Catatan

Untuk proyek baru, kami merekomendasikan Anda menggunakan V2.0. Untuk proyek yang menggunakan V1.0, kami merekomendasikan Anda meningkatkan V1.0 ke V2.0.

Contoh integrasi

Dalam contoh ini, Elastic Compute Service (ECS) SDK untuk Java diintegrasikan dan digunakan untuk memanggil operasi DescribeInstance.

V2.0

Alibaba Cloud SDK V2.0 mencakup informasi utama yang digunakan untuk operasi API, seperti pemrosesan parameter, perakitan permintaan, dan pemrosesan respons. Pengembang dapat memanggil operasi API dengan menginstal paket dependensi SDK tanpa bergantung pada pustaka inti.

Dependensi

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>ecs20140526</artifactId>
  <version>5.1.0</version>
</dependency>

Contoh Kode

// File ini dihasilkan secara otomatis, jangan edit. Terima kasih.
package com.aliyun.sample;

import com.aliyun.tea.*;

public class Sample {

    /**
     * Gunakan AccessKey ID dan AccessKey secret Anda untuk menginisialisasi klien.
     * @param accessKeyId
     * @param accessKeySecret
     * @return Client
     * @throws Exception
     */
    public static com.aliyun.ecs20140526.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // Diperlukan. Tentukan AccessKey ID Anda.
                .setAccessKeyId(accessKeyId)
                // Diperlukan. Tentukan AccessKey secret Anda.
                .setAccessKeySecret(accessKeySecret);
        // Tentukan titik akhir.
        config.endpoint = "ecs-cn-hangzhou.aliyuncs.com";
        return new com.aliyun.ecs20140526.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        java.util.List<String> args = java.util.Arrays.asList(args_);
        // Pastikan variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi. 
        // Jika kode proyek bocor, pasangan AccessKey mungkin terungkap, yang membahayakan keamanan sumber daya di akun Anda. Contoh kode berikut mendapatkan pasangan AccessKey dari variabel lingkungan. Contoh ini hanya untuk referensi. Kami merekomendasikan Anda menggunakan Layanan Token Keamanan (STS) untuk menginisialisasi klien SDK, yang lebih aman. Untuk informasi lebih lanjut tentang solusi otentikasi, lihat topik "Kelola kredensial akses" untuk Alibaba Cloud SDK for Java.
        com.aliyun.ecs20140526.Client client = Sample.createClient(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        com.aliyun.ecs20140526.models.RunInstancesRequest runInstancesRequest = new com.aliyun.ecs20140526.models.RunInstancesRequest();
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
        try {
            // Jika Anda menyalin dan menjalankan kode contoh, tulis kode Anda sendiri untuk menampilkan respons dari operasi API.
            client.runInstancesWithOptions(runInstancesRequest, runtime);
        } catch (TeaException error) {
            // Tampilkan kesalahan berdasarkan kebutuhan bisnis Anda.
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // Tampilkan kesalahan berdasarkan kebutuhan bisnis Anda.
            com.aliyun.teautil.Common.assertAsString(error.message);
        }        
    }
}

V1.0

Dependensi

Pustaka inti SDK harus diinstal, yang mencakup permintaan HTTP, informasi autentikasi, algoritma penandatanganan, dan penanganan pengecualian.

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>4.6.1</version>
</dependency>
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-ecs</artifactId>
  <version>5.11.5</version>
</dependency>

Contoh Kode

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import java.util.*;
import com.aliyuncs.ecs.model.v20140526.*;

public class DescribeInstances {

    public static void main(String[] args) {
        // Buat dan inisialisasi instance DefaultAcsClient. 
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        IAcsClient client = new DefaultAcsClient(profile);

        // Buat permintaan API dan konfigurasikan parameter yang diperlukan. 
        DescribeInstancesRequest request = new DescribeInstancesRequest();
        request.setRegionId("cn-hangzhou");
        request.setInstanceNetworkType("vpc");
        request.setInstanceChargeType("PostPaid");
        request.setInternetChargeType("PayByTraffic");
        request.setPageSize(10);

        try {
        // Ajukan permintaan dan tangani respons atau pengecualian. 
            DescribeInstancesResponse response = client.getAcsResponse(request);
        for (DescribeInstancesResponse.Instance instance:response.getInstances()) 
            {
                 System.out.println(instance.getImageId());
                 System.out.println(instance.getInstanceId());
                 System.out.println(instance.getPublicIpAddress());
             }
        } 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());
        }

    }
}