全部产品
Search
文档中心

Domain Names:Contoh menggunakan SDK untuk Java

更新时间:Jul 06, 2025

Topik ini menjelaskan cara menginstal dan menggunakan SDK untuk Java. Dalam contoh ini, Anda dapat memanggil operasi untuk menyerahkan tugas pendaftaran nama domain.

Prasyarat

  1. Buat sepasang AccessKey untuk pengguna RAM Anda. Akun Alibaba Cloud memiliki semua izin terhadap sumber daya. Jika sepasang AccessKey akun Alibaba Cloud Anda bocor, sumber daya Anda berisiko terpapar. Oleh karena itu, kami merekomendasikan agar Anda menggunakan sepasang AccessKey dari pengguna RAM. Untuk informasi tentang cara mendapatkan sepasang AccessKey, lihat Buat sepasang AccessKey.

  2. Berikan izin kepada pengguna RAM Anda untuk mengelola sumber daya terkait nama domain. Dalam contoh ini, kebijakan sistem AliyunDomainFullAccess dilampirkan ke pengguna RAM.

    1. Anda dapat menggunakan salah satu kebijakan sistem berikut:

      • AliyunDomainFullAccess: memberikan izin untuk mengelola layanan Domain Names.

      • AliyunDomainReadonlyAccess: memberikan izin baca-saja untuk mendaftarkan dan mengelola nama domain.

    2. Anda juga dapat menggunakan kebijakan kustom.

      Untuk informasi lebih lanjut tentang cara membuat kebijakan kustom, lihat Buat kebijakan kustom.

  3. Konfigurasikan sepasang AccessKey pengguna RAM dalam variabel lingkungan. Untuk informasi lebih lanjut, lihat Konfigurasikan variabel lingkungan di Linux, macOS, dan Windows.

Instal SDK

  1. Buat repositori Maven di file konfigurasi Maven.

    <repositories>
         <repository>
             <id>sonatype-nexus-staging</id>
             <name>Sonatype Nexus Staging</name>
             <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
             <releases>
                 <enabled>true</enabled>
             </releases>
             <snapshots>
                 <enabled>true</enabled>
             </snapshots>
         </repository>
    </repositories>
  2. Buka file pom.xml proyek Maven, tambahkan konfigurasi dependensi ke <dependencies>, dan perbarui konfigurasi Maven.

    <dependency>
      <groupId>com.aliyun</groupId>
      <artifactId>domain20180129</artifactId>
      <version>3.15.1</version>
    </dependency>
    

Gunakan SDK

1. Inisialisasi klien

SDK Alibaba Cloud mendukung beberapa kredensial akses, seperti pasangan AccessKey dan token Layanan Keamanan (STS), untuk menginisialisasi klien. Untuk informasi lebih lanjut, lihat Kelola kredensial akses. Dalam contoh ini, sepasang AccessKey digunakan untuk menginisialisasi klien.

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

public class Sample {
    private static Client createClient() throws Exception {
        Config config = new Config()
                // Diperlukan. Pastikan bahwa variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi dalam lingkungan runtime kode.
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // Diperlukan. Pastikan bahwa variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi dalam lingkungan runtime kode.
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
                // Tentukan titik akhir. Untuk informasi tentang titik akhir, kunjungi https://api.aliyun.com/product/Domain.
                .setEndpoint("domain.aliyuncs.com");
        return new Client(config);
    }
}

2. Buat objek permintaan untuk operasi API

Sebelum membuat objek permintaan, temukan operasi API yang akan dipanggil dengan merujuk ke Referensi API dan lihat parameter operasi API tersebut.

Catatan

Nama objek permintaan harus dalam format {Nama API}Request. Sebagai contoh, objek permintaan untuk SaveSingleTaskForCreatingOrderActivate adalah SaveSingleTaskForCreatingOrderActivateRequest.

SaveSingleTaskForCreatingOrderActivateRequest request = new SaveSingleTaskForCreatingOrderActivateRequest()
                .setDomainName("example.com");

3. Lakukan panggilan

Catatan

Nama objek yang dikembalikan harus dalam format {Nama API}Response. Sebagai contoh, objek yang dikembalikan untuk SaveSingleTaskForCreatingOrderActivate adalah SaveSingleTaskForCreatingOrderActivateResponse.

// Tentukan parameter runtime.
RuntimeOptions runtime = new RuntimeOptions();
SaveSingleTaskForCreatingOrderActivateResponse response = client.saveSingleTaskForCreatingOrderActivateWithOptions(request, runtime);

4. Tangani pengecualian

Pengecualian yang mungkin terjadi saat menggunakan SDK untuk Java diklasifikasikan menjadi dua jenis: TeaUnretryableException dan TeaException.

  • TeaUnretryableException: Jenis pengecualian ini disebabkan oleh masalah jaringan. TeaUnretryableException dilemparkan jika jumlah percobaan ulang mencapai batas atas.

  • TeaException: Jenis pengecualian ini disebabkan oleh kesalahan bisnis.

    Penting

    Dalam contoh ini, pesan kesalahan ditampilkan hanya untuk referensi. Dalam skenario bisnis sebenarnya, jangan abaikan pengecualian dalam proyek Anda. Kami merekomendasikan agar Anda menangani pengecualian dengan benar melalui operasi seperti melaporkan pengecualian, mencatat log, dan melakukan percobaan ulang. Ini membantu memastikan ketangguhan dan stabilitas sistem Anda.

try {
    Client client = createClient();
    SaveSingleTaskForCreatingOrderActivateRequest request = new SaveSingleTaskForCreatingOrderActivateRequest()
            .setDomainName("example.com");
    // Tentukan parameter runtime.
    RuntimeOptions runtime = new RuntimeOptions();
    SaveSingleTaskForCreatingOrderActivateResponse response = client.saveSingleTaskForCreatingOrderActivateWithOptions(request, runtime);
} catch (TeaUnretryableException ue) {
    // Tangani pengecualian dengan hati-hati dalam skenario bisnis sebenarnya dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi.
    ue.printStackTrace();
    // Dapatkan pesan kesalahan.
    System.out.println(ue.getMessage());
    // Dapatkan pesan permintaan dan periksa informasi permintaan saat terjadi kesalahan.
    System.out.println(ue.getLastRequest());
} catch (TeaException e) {
    // Tangani pengecualian dengan hati-hati dalam skenario bisnis sebenarnya dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi.
    e.printStackTrace();
    // Dapatkan kode kesalahan.
    System.out.println(e.getCode());
    // Dapatkan pesan kesalahan yang berisi ID permintaan.
    System.out.println(e.getMessage());
    // Dapatkan informasi kesalahan terperinci yang dikembalikan oleh server.
    System.out.println(e.getData());
} catch (Exception e) {
    // Tangani pengecualian dengan hati-hati dalam skenario bisnis sebenarnya dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi.
    e.printStackTrace();
}

5. Contoh lengkap

import com.aliyun.domain20180129.Client;
import com.aliyun.domain20180129.models.SaveSingleTaskForCreatingOrderActivateRequest;
import com.aliyun.domain20180129.models.SaveSingleTaskForCreatingOrderActivateResponse;
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()
                // Diperlukan. Pastikan bahwa variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dikonfigurasi dalam lingkungan runtime kode.
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // Diperlukan. Pastikan bahwa variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET dikonfigurasi dalam lingkungan runtime kode.
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
                // Tentukan titik akhir. Untuk informasi tentang titik akhir, kunjungi https://api.aliyun.com/product/Domain.
                .setEndpoint("domain.aliyuncs.com");
        return new Client(config);
    }

    public static void main(String[] args_) {
        try {
            Client client = createClient();
            SaveSingleTaskForCreatingOrderActivateRequest request = new SaveSingleTaskForCreatingOrderActivateRequest()
                    .setDomainName("example.com");
            // Tentukan parameter runtime.
            RuntimeOptions runtime = new RuntimeOptions();
            SaveSingleTaskForCreatingOrderActivateResponse response = client.saveSingleTaskForCreatingOrderActivateWithOptions(request, runtime);
        } catch (TeaUnretryableException ue) {
            // Tangani pengecualian dengan hati-hati dalam skenario bisnis sebenarnya dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi.
            ue.printStackTrace();
            // Dapatkan pesan kesalahan.
            System.out.println(ue.getMessage());
            // Dapatkan pesan permintaan.
            System.out.println(ue.getLastRequest());
        } catch (TeaException e) {
            // Tangani pengecualian dengan hati-hati dalam skenario bisnis sebenarnya dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi.
            e.printStackTrace();
            // Dapatkan kode kesalahan.
            System.out.println(e.getCode());
            // Dapatkan pesan kesalahan yang berisi ID permintaan.
            System.out.println(e.getMessage());
            // Dapatkan informasi kesalahan terperinci yang dikembalikan oleh server.
            System.out.println(e.getData());
        } catch (Exception e) {
            // Tangani pengecualian dengan hati-hati dalam skenario bisnis sebenarnya dan jangan abaikan pengecualian dalam proyek Anda. Dalam contoh ini, pesan kesalahan dicetak hanya untuk referensi.
            e.printStackTrace();
        }
    }
}