Topik ini menjelaskan cara menggunakan Alibaba Cloud SDK untuk Java di Integrated Development Environment (IDE) pada Windows. Contoh ini menggunakan IntelliJ IDEA.
Prasyarat
Java Development Kit (JDK) telah terinstal. Untuk informasi lebih lanjut, lihat Instal JDK di Windows.
IntelliJ IDEA telah terinstal. Untuk informasi lebih lanjut, lihat Bangun lingkungan pengembangan Java di Windows.
Gunakan SDK
Gunakan proyek sampel yang disediakan di OpenAPI Explorer
Buka OpenAPI Explorer. Cari operasi API yang ingin digunakan. Dalam contoh ini, operasi DescribeInstanceTypeFamilies dari Elastic Compute Service (ECS) digunakan. Masukkan "DescribeInstanceTypeFamilies" di kotak pencarian dan klik hasilnya untuk membuka halaman debugging API.

Di tab Parameters di kolom tengah, tentukan parameter sesuai kebutuhan bisnis Anda. Saat menentukan parameter, baca informasi di tab Document di kolom paling kanan. Pastikan Anda memahami catatan penggunaan operasi dan deskripsi setiap parameter. Perhatikan informasi terkait tagihan. Operasi DescribeInstanceTypeFamilies mendukung dua parameter permintaan. Tentukan nilai seperti "cn-hangzhou" untuk parameter RegionId. Parameter Generation bersifat opsional dan dapat diatur ke "ecs-5", yang menunjukkan keluarga instance seri-V. Nilai valid parameter dapat dilihat di tab Document.

Di tab SDK Sample Code di kolom paling kanan, pilih bahasa pemrograman dan klik Download Project untuk mengunduh proyek SDK lengkap ke komputer Anda. Ekstrak paket tersebut.
CatatanProyek lengkap berisi informasi SDK dan demo untuk memanggil operasi API.

Buka IntelliJ IDEA, pilih File > Open di bilah navigasi atas, lalu pilih folder proyek yang sudah diekstrak. Tunggu Maven secara otomatis menginstal dependensi.
Sebelum memanggil operasi ini, peroleh pasangan AccessKey sebagai kredensial akses. Kami merekomendasikan menggunakan pasangan AccessKey dari Pengguna Resource Access Management (RAM). Untuk informasi lebih lanjut, lihat bagian Buat pasangan AccessKey untuk pengguna RAM dari topik "Buat pasangan AccessKey".
PentingSetelah memperoleh pasangan AccessKey dari pengguna RAM, konfigurasikan pasangan AccessKey di variabel lingkungan. Untuk informasi lebih lanjut, lihat Konfigurasikan variabel lingkungan di Linux, macOS, dan Windows.
Jalankan kode demo SDK.
Di pohon direktori di sebelah kiri, klik dua kali Sample untuk membukanya. Klik ikon Run di pojok kanan atas editor untuk menjalankan kode.

Lihat hasilnya. Klik di mana saja di jendela Run di bagian bawah konsol dan tekan
Ctrl+Funtuk mencaristatusCode. Jika"statusCode":200ditampilkan, pemanggilan berhasil.
Instal SDK di proyek yang ada
Peroleh SDK.
Pergi ke SDK Center dan pilih layanan cloud yang SDK-nya ingin Anda gunakan. Dalam contoh ini, ECS digunakan. Pilih V2.0 sebagai versi SDK dan Java sebagai bahasa pemrograman. Di bagian Installation Method dari tab Quick Start, pilih Apache Maven.

Impor SDK.
Buka proyek Maven yang dibuat di IntelliJ IDEA. Di file pom.xml, buat tag <dependencies></dependencies> dan salin kode yang diperoleh di Langkah 1 dalam tag tersebut.
<dependencies> <!--ECS V2.0 SDK --> <dependency> <groupId>com.aliyun</groupId> <artifactId>ecs20140526</artifactId> <version>5.1.2</version> </dependency> </dependencies>
Klik kanan nama proyek dan pilih Maven > Reload project untuk mengunduh dependensi Maven.

Buat kelas Java.
Di direktori src/main/java proyek, klik kanan folder java dan pilih New > Java Class. Dalam contoh ini, kelas Java diberi nama Sample.

Inisialisasi klien layanan cloud.
PentingAnda harus menggunakan pasangan AccessKey untuk menyelesaikan verifikasi identitas saat menginisialisasi klien. Dalam hal ini, Anda harus memperoleh pasangan AccessKey terlebih dahulu. Untuk informasi lebih lanjut tentang cara memperoleh pasangan AccessKey, lihat Buat pasangan AccessKey.
Setelah memperoleh pasangan AccessKey dari pengguna RAM, konfigurasikan pasangan AccessKey di variabel lingkungan. Untuk informasi lebih lanjut, lihat Konfigurasikan variabel lingkungan di Linux, macOS, dan Windows.
Untuk informasi lebih lanjut tentang cara mengonfigurasi titik akhir, lihat Endpoints.
import com.aliyun.ecs20140526.Client; import com.aliyun.teaopenapi.models.Config; public class Sample { public static void main(String[] args) throws Exception { Config config = new Config() .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")); config.endpoint = "ecs-cn-hangzhou.aliyuncs.com"; Client client = new Client(config); } }Panggil operasi API.
Sebelum memanggil operasi API, baca Dokumentasi API yang sesuai.
Dalam dependensi Maven untuk layanan cloud, SDK layanan cloud menyediakan kelas permintaan dan kelas respons untuk setiap operasi API. Kelas permintaan mendefinisikan parameter dan tipe nilai. Kelas respons mendefinisikan parameter respons. Ini mencegah kesalahan ejaan saat Anda memanggil operasi.
Sebagai contoh, untuk operasi describeInstanceTypeFamilies, kelas permintaannya adalah DescribeInstanceTypeFamiliesRequest dan kelas responsnya adalah DescribeInstanceTypeFamiliesResponse.
CatatanAturan penamaan untuk kelas permintaan: Nama API + Request
Aturan penamaan untuk kelas respons: Nama API + Response
import com.aliyun.ecs20140526.Client; import com.aliyun.ecs20140526.models.DescribeInstanceTypeFamiliesRequest; import com.aliyun.ecs20140526.models.DescribeInstanceTypeFamiliesResponse; import com.aliyun.teaopenapi.models.Config; public class Sample { public static void main(String[] args) throws Exception { Config config = new Config() .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")); config.endpoint = "ecs-cn-hangzhou.aliyuncs.com"; Client client = new Client(config); DescribeInstanceTypeFamiliesRequest describeInstanceTypeFamiliesRequest = new DescribeInstanceTypeFamiliesRequest(); describeInstanceTypeFamiliesRequest.setRegionId("cn-hangzhou"); DescribeInstanceTypeFamiliesResponse describeInstanceTypeFamiliesResponse = client.describeInstanceTypeFamilies(describeInstanceTypeFamiliesRequest); } }Tangani pengecualian. Alibaba Cloud SDK menangani pengecualian secara seragam.
TeaException: Jenis pengecualian ini disebabkan oleh kesalahan bisnis. Tiga parameter berikut disediakan untuk menangani pengecualian semacam itu:
code: kode kesalahan yang dikembalikan saat pengecualian terjadi.
message: pesan kesalahan yang dikembalikan saat pengecualian terjadi. Pesan tersebut berisi ID permintaan API tempat pengecualian dilemparkan.
data: informasi kesalahan rinci yang dikembalikan oleh server saat pengecualian terjadi.
import com.aliyun.ecs20140526.Client; import com.aliyun.ecs20140526.models.DescribeInstanceTypeFamiliesRequest; import com.aliyun.ecs20140526.models.DescribeInstanceTypeFamiliesResponse; import com.aliyun.tea.TeaException; import com.aliyun.teaopenapi.models.Config; public class Sample { public static void main(String[] args) { try { Config config = new Config() .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")) .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")); config.endpoint = "ecs-cn-hangzhou.aliyuncs.com"; Client client = new Client(config); DescribeInstanceTypeFamiliesRequest describeInstanceTypeFamiliesRequest = new DescribeInstanceTypeFamiliesRequest(); describeInstanceTypeFamiliesRequest.setRegionId("cn-hangzhou"); DescribeInstanceTypeFamiliesResponse describeInstanceTypeFamiliesResponse = client.describeInstanceTypeFamilies(describeInstanceTypeFamiliesRequest); } catch (TeaException teaException) { // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual Anda dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi. // Tampilkan kode kesalahan. System.out.println(teaException.getCode()); // Tampilkan pesan kesalahan. Pesan kesalahan berisi ID permintaan. System.out.println(teaException.getMessage()); // Tampilkan informasi kesalahan rinci yang dikembalikan oleh server. System.out.println(teaException.getData()); } catch (Exception e) { TeaException error = new TeaException(e.getMessage(), e); // Tangani pengecualian dengan hati-hati dalam skenario bisnis aktual Anda dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi. // Pesan kesalahan. System.out.println(error.getMessage()); // URL diagnostik kesalahan yang sesuai. System.out.println(error.getData().get("Recommend")); com.aliyun.teautil.Common.assertAsString(error.message); } } }
FAQ
Apa yang harus saya lakukan jika pesan kesalahan "java: error: release version X not supported" dikembalikan saat saya menjalankan kode?
Tekan
Ctrl+Alt+Shift+Suntuk membuka kotak dialog Project Structure. Klik Modules di panel navigasi sebelah kiri. Pilih nilai dari daftar drop-down Language level berdasarkan versi JDK yang Anda gunakan. Sebagai contoh, jika Anda menggunakan JDK 8, pilih 8-Lambdas, type annotations etc. Klik Apply lalu klik OK.
Apa yang harus saya lakukan jika pesan kesalahan "java: Compilationfailed: internal java compiler error" dikembalikan saat saya menjalankan kode?
Di bilah navigasi atas konsol IntelliJ IDEA, pilih File > Settings. Di kotak dialog Settings, pilih Build, Execution, Deployment > Compiler > Java Compiler di panel navigasi sebelah kiri. Atur versi bytecode proyek dan versi bytecode target ke versi JDK yang Anda gunakan. Sebagai contoh, jika Anda menggunakan JDK 8, atur versi tersebut ke 8. Klik Apply lalu klik OK.
