Untuk mempermudah pemanggilan API, disarankan mengintegrasikan Alibaba Cloud SDK ke dalam proyek Anda. SDK ini menyederhanakan proses pengembangan, mempercepat integrasi fitur, dan secara signifikan mengurangi biaya operasional serta pemeliharaan (O&M). Topik ini menjelaskan cara mengintegrasikan Alibaba Cloud SDK V1.0 untuk Java ke dalam proyek Anda dan menggunakannya untuk pengembangan.
Prasyarat
JDK 1.6 atau versi lebih baru telah terpasang.
Instal SDK
Untuk menggunakan Alibaba Cloud SDK V1.0 untuk Java, Anda perlu menginstal SDK dari layanan cloud dan pustaka inti SDK.
Cloud service SDK
SDK dari layanan cloud mencakup objek permintaan yang diperlukan untuk memanggil operasi API dan objek respons. Dalam contoh ini, Elastic Compute Service (ECS) SDK V1.0 untuk Java dikonfigurasikan sebagai dependensi Maven. Contoh kode berikut menunjukkan dependensi Maven.
<dependencies>
<!-- ecs V1.0 SDK -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-ecs</artifactId>
<version>5.11.7</version>
</dependency>
</dependencies>SDK V1.0 untuk Java dari layanan Alibaba Cloud diberi nama dalam format aliyun-java-sdk-${Service code}. Informasi lebih lanjut tentang SDK V1.0 untuk Java dari layanan Alibaba Cloud tertentu dapat ditemukan di SDK Center.
Pustaka inti dari SDK
Pustaka inti dari SDK mencakup objek klien, logika tanda tangan, dan logika penanganan kesalahan, yang merupakan informasi penting untuk memanggil operasi API. Disarankan mengonfigurasi pustaka inti dari SDK sebagai dependensi Maven. Contoh kode berikut menunjukkan dependensi Maven.
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.7.3</version>
</dependency>Informasi lebih lanjut tentang versi pustaka inti dapat ditemukan di Maven Repository: com.aliyun » aliyun-java-sdk-core.
Gunakan SDK
Contoh berikut menunjukkan cara menggunakan Alibaba Cloud SDK V1.0 untuk memanggil operasi API DescribeInstances dari Elastic Compute Service (ECS).
1. Inisialisasi klien permintaan
Semua operasi API dipanggil menggunakan objek Client yang disediakan oleh pustaka inti. Sebelum memanggil operasi API, Anda harus menginisialisasi klien permintaan. Dalam contoh ini, klien permintaan diinisialisasi menggunakan pasangan AccessKey. Informasi lebih lanjut dapat ditemukan di Kelola kredensial akses.
Dalam contoh ini, pasangan AccessKey diperoleh dari variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET, yang harus dikonfigurasi sebelum menjalankan kode. Informasi lebih lanjut dapat ditemukan di Konfigurasikan variabel lingkungan di Linux, macOS, dan Windows.
com.aliyuncs.profile.DefaultProfile profile = com.aliyuncs.profile.DefaultProfile.getProfile(
"<REGION_ID>",
// Dapatkan ID AccessKey dari Pengguna Resource Access Management (RAM) dari variabel lingkungan.
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
// Dapatkan rahasia AccessKey dari Pengguna RAM dari variabel lingkungan.
System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
com.aliyuncs.IAcsClient client = new com.aliyuncs.DefaultAcsClient(profile);Jika satu klien SDK memproses beberapa thread, masalah keamanan mungkin terjadi. Jika beberapa layanan Alibaba Cloud berbagi informasi profil yang sama, akses tidak sah mungkin terjadi. Disarankan menggunakan Alibaba Cloud SDK V2.0 untuk pengembangan.
2. Buat objek permintaan
Anda dapat menggunakan objek permintaan yang disediakan oleh SDK untuk mengenkapsulasi parameter permintaan.
Beri nama objek permintaan dari operasi API dalam format berikut: <Nama Operasi API>Request.
com.aliyuncs.ecs.model.v20140526.DescribeInstancesRequest request = new com.aliyuncs.ecs.model.v20140526.DescribeInstancesRequest();
request.setRegionId("cn-hangzhou");
request.setInstanceIds(new com.google.gson.Gson().toJson(Arrays.asList("i-bp1fq61ktxxxxxxxxxxxx","i-bp1fq62ktxxxxxxxxxxxx")));3. Ajukan permintaan API
Gunakan klien permintaan yang dibuat pada Langkah 1 untuk memanggil operasi getAcsResponse. Parameter permintaan dari operasi tersebut adalah objek permintaan yang dibuat pada Langkah 2. Jika panggilan berhasil, objek respons akan dikembalikan.
Beri nama objek respons dari operasi API dalam format berikut: <Nama Operasi API>Response.
com.aliyuncs.ecs.model.v20140526.DescribeInstancesResponse response = client.getAcsResponse(request);
System.out.println(new com.google.gson.Gson().toJson(response));4. Tangani kesalahan
Jika kesalahan terpicu saat memanggil operasi API, Anda dapat menangkap ServerException dan ClientException untuk mendapatkan pesan kesalahan. Kesalahan ClientException sering disebabkan oleh parameter tidak valid selama inisialisasi klien, seperti parameter AccessKey yang tidak valid. Kesalahan ServerException mungkin disebabkan oleh beberapa faktor. Anda dapat meminta layanan pelanggan untuk pemecahan masalah dan memberikan ID permintaan.
Referensi
Informasi lebih lanjut tentang pengaturan SDK, seperti pengaturan proxy dan pengaturan timeout, dapat ditemukan di Pengaturan lanjutan.
Informasi lebih lanjut tentang cara membuat pasangan AccessKey dapat ditemukan di Buat pasangan AccessKey.