All Products
Search
Document Center

Elastic Compute Service:Contoh pemanggilan ECS Java SDK V2.0

Last Updated:Apr 02, 2026

Mulai gunakan Elastic Compute Service (ECS) SDK V2.0 untuk Java. Panduan ini menjelaskan cara menginstal SDK dan memanggil operasi DescribeInstances untuk menampilkan daftar instance ECS Anda.

Contoh lengkap yang dapat dijalankan tersedia di bagian bawah halaman ini. Setiap langkah berikut merupakan cuplikan dari contoh tersebut.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Pengguna RAM dengan izin minimum yang diperlukan. Hindari penggunaan akun root Alibaba Cloud—pasangan AccessKey-nya menimbulkan risiko keamanan signifikan jika dikompromikan.

  • Pasangan AccessKey yang dikonfigurasi sebagai variabel lingkungan. Atur nilai berikut sebelum menjalankan kode apa pun. Untuk instruksi penyiapan, lihat Konfigurasi variabel lingkungan AccessKey.

    Variabel lingkunganNilai
    ALIBABA_CLOUD_ACCESS_KEY_IDID AccessKey Anda
    ALIBABA_CLOUD_ACCESS_KEY_SECRETSecret AccessKey Anda

Instal SDK

Contoh ini menggunakan Apache Maven. Untuk metode instalasi alternatif, lihat SDK Center.

Tambahkan dependensi ECS SDK ke bagian <dependencies> file pom.xml Anda, lalu perbarui proyek Maven Anda.

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

Gunakan SDK

Langkah-langkah berikut mengarah ke contoh lengkap di bagian bawah halaman ini.

Langkah 1: Inisialisasi client

Buat objek Config dengan kredensial dan titik akhir Anda, lalu berikan ke konstruktor Client.

import com.aliyun.ecs20140526.Client;
import com.aliyun.teaopenapi.models.Config;

private static Client createClient() throws Exception {
    Config config = new Config()
            // Membaca kredensial dari variabel lingkungan.
            .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
            .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
            // Temukan titik akhir yang tersedia di https://api.aliyun.com/product/Ecs
            .setEndpoint("ecs.cn-hangzhou.aliyuncs.com");
    return new Client(config);
}

SDK mendukung jenis kredensial lain—seperti pasangan AccessKey, token Security Token Service (STS), dan lainnya. Lihat Kelola kredensial akses untuk detail selengkapnya.

Langkah 2: Buat objek permintaan

Objek permintaan mengikuti konvensi penamaan {OperationName}Request. Untuk DescribeInstances, gunakan DescribeInstancesRequest.

// Buat objek permintaan dan atur wilayah target.
DescribeInstancesRequest request = new DescribeInstancesRequest().setRegionId("cn-hangzhou");

Untuk daftar lengkap parameter, lihat referensi API DescribeInstances.

Langkah 3: Panggil operasi

Berikan objek permintaan dan objek RuntimeOptions ke metode client. Objek respons mengikuti konvensi penamaan {OperationName}Response.

// Konfigurasi parameter waktu proses seperti timeout dan pengaturan proxy.
RuntimeOptions runtime = new RuntimeOptions();
// Panggil DescribeInstances dan cetak badan respons.
DescribeInstancesResponse response = client.describeInstancesWithOptions(request, runtime);
System.out.println(response.body.toMap());

Untuk mengonfigurasi timeout, retry, dan pengaturan proxy, lihat Pengaturan lanjutan.

Langkah 4: Tangani exception

SDK memunculkan dua jenis exception:

ExceptionPenyebab
TeaUnretryableExceptionKegagalan jaringan; muncul setelah jumlah maksimum retry habis
TeaExceptionKesalahan bisnis yang dikembalikan oleh API

Catat exception, laporkan ke sistem pemantauan Anda, dan terapkan logika retry jika sesuai.

} catch (TeaUnretryableException ue) {
    // Kegagalan tingkat jaringan setelah semua retry dilakukan.
    ue.printStackTrace();
    System.out.println(ue.getMessage());
    System.out.println(ue.getLastRequest());
} catch (TeaException e) {
    // Kesalahan bisnis dari API.
    e.printStackTrace();
    System.out.println(e.getCode());
    System.out.println(e.getMessage()); // Menyertakan RequestId untuk tiket dukungan.
    System.out.println(e.getData());
} catch (Exception e) {
    e.printStackTrace();
}

Contoh lengkap

Berikut adalah contoh lengkap yang dapat dijalankan yang menggabungkan semua langkah di atas.

import com.aliyun.ecs20140526.Client;
import com.aliyun.ecs20140526.models.DescribeInstancesRequest;
import com.aliyun.ecs20140526.models.DescribeInstancesResponse;
import com.aliyun.tea.TeaException;
import com.aliyun.tea.TeaUnretryableException;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;

public class Sample {
    private static Client createClient() throws Exception {
        Config config = new Config()
                // Membaca kredensial dari variabel lingkungan.
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
                // Temukan titik akhir yang tersedia di https://api.aliyun.com/product/Ecs
                .setEndpoint("ecs.cn-hangzhou.aliyuncs.com");
        return new Client(config);
    }

    public static void main(String[] args) {
        try {
            Client client = Sample.createClient();
            DescribeInstancesRequest request = new DescribeInstancesRequest()
                    .setRegionId("cn-hangzhou");
            RuntimeOptions runtime = new RuntimeOptions();
            DescribeInstancesResponse response = client.describeInstancesWithOptions(request, runtime);
            System.out.println(response.body.toMap());
        } catch (TeaUnretryableException ue) {
            // Kegagalan tingkat jaringan setelah semua retry dilakukan.
            ue.printStackTrace();
            System.out.println(ue.getMessage());
            System.out.println(ue.getLastRequest());
        } catch (TeaException e) {
            // Kesalahan bisnis dari API.
            e.printStackTrace();
            System.out.println(e.getCode());
            System.out.println(e.getMessage());
            System.out.println(e.getData());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Langkah selanjutnya