All Products
Search
Document Center

Alibaba Cloud SDK:FAQ SDK Java

Last Updated:Aug 04, 2026

Pertanyaan umum dan solusi untuk mengintegrasikan serta menggunakan Alibaba Cloud Java SDK.

Pemeriksaan lingkungan

  • Java 1.8 atau versi lebih baru telah diinstal.

  • Jaringan Anda dapat menjangkau titik akhir API Alibaba Cloud.

Masalah umum

Masalah pengiriman parameter AK.

Jika pesan error Anda berisi salah satu berikut, AccessKey tidak dikonfigurasi dengan benar:

  • SDK V2.0: Cannot invoke "com.aliyun.credentials.Client.getCredential()" because "this._credential" is null.

  • SDK V1.0: ErrCode: MissingAccessKeyId. ErrMsg: AccessKeyId is mandatory for this action.

Solusi:

  1. Verifikasi bahwa ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah disetel:

    Linux/macOS

    echo $ALIBABA_CLOUD_ACCESS_KEY_ID
    echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET

    Windows

    echo %ALIBABA_CLOUD_ACCESS_KEY_ID%
    echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%

    Jika nilai yang benar dikembalikan, konfigurasi berhasil. Jika tidak, konfigurasikan ulang seperti yang dijelaskan dalam Konfigurasi variabel lingkungan pada sistem Linux, macOS, dan Windows.

  2. Periksa kode Anda untuk error terkait AK.

    Contoh kesalahan umum:

    Config config = new Config()
             .setAccessKeyId(System.getenv("yourAccessKeyID"))   
             .setAccessKeySecret(System.getenv("yourSecret")); 

    Contoh yang benar:

    Config config = new Config()
            .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
            .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
    Catatan

    System.getenv() mengambil ID dan Secret AccessKey dari variabel lingkungan Anda.

    Penting

    Jangan hardcode AccessKey Anda dalam kode produksi. Praktik ini menimbulkan risiko keamanan.

unable to get credentials from any of the providers in the chain : ...

Penyebab: Proyek Anda menggunakan penyedia kredensial default (seperti yang ditunjukkan di bawah), tetapi tidak ada jenis kredensial yang didukung yang dikonfigurasi.

com.aliyun.credentials.Client credential = new com.aliyun.credentials.Client();
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
        .setCredential(credential);

Solusi:

  • Untuk menggunakan AccessKey secara langsung:

    com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
            // Contoh ini menunjukkan cara mendapatkan ID AccessKey dari variabel lingkungan.
            .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
            // Contoh ini menunjukkan cara mendapatkan secret AccessKey dari variabel lingkungan.
            .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));

    Untuk jenis kredensial lainnya, lihat Mengelola kredensial akses.

  • Untuk tetap menggunakan kredensial default, Anda harus mengonfigurasi salah satu jenis kredensial yang didukung oleh rantai penyedia kredensial default.

kode 403, Anda tidak memiliki izin untuk melakukan operasi ini. Action: xxxx.

D:\program_files\java\bin\java.exe ...
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
code: 403, You are not authorized to do this operation. Action: dysms:SendSms;Resource: acs:dysms::1360982977xxx:* request id: 70BA0B34-E61C-58C7-988B-4E20151492C3
https://api.aliyun.com/troubleshoot?q=NoPermission&product=Dysmsapi&requestId=70BA0B34-E61C-58C7-988B-4E20151492C3

Pengguna RAM, role, atau grup pengguna yang memanggil API tidak memiliki izin yang diperlukan. Action:XXXX dalam pesan error menunjukkan operasi API yang ditolak. Misalnya, Action:dysms:SendSms berarti akun tersebut tidak memiliki izin untuk memanggil API SendSms dari Short Message Service.

Solusi:

  1. Hubungi administrator untuk membuat kebijakan izin kustom berdasarkan dokumen berikut. Membuat kebijakan izin kustom.

    Catatan

    Kebijakan ini hanya mengizinkan panggilan SendSms ke Short Message Service (dysms). Ganti Action dengan layanan dan API dari pesan error Anda.

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "dysms:SendSms",
          "Resource": "*"
        }
      ]
    }
  2. Berikan izin ke akun RAM:

Error saat mengimpor dependensi Maven: Could not find artifact com.aliyun:XX:XX

Deskripsi:

Maven tidak dapat menemukan dependensi yang ditentukan.

Solusi:

Konfigurasikan repositori pusat Maven dalam proyek Anda menggunakan salah satu metode berikut:

  • Tambahkan konten berikut ke file pom.xml:

    <repositories>
        <repository>
            <id>central</id>
            <url>https://repo1.maven.org/maven2</url>
        </repository>
        <repository>
            <id>nexus-noke</id>
            <url>http://nexus.noke.com/nexus/content/groups/public/</url>
        </repository>
    </repositories>
  • Tambahkan konten berikut ke file settings.xml:

    <settings>
        <!-- Existing settings -->
        
        <mirrors>
            <mirror>
                <!-- This id can be any unique identifier -->
                <id>central</id>
                <mirrorOf>central</mirrorOf>
                <name>Maven Central Mirror</name>
                <url>https://repo1.maven.org/maven2</url>
            </mirror>
        </mirrors>
    </settings>

java: Error: release version X not supported.

Di IntelliJ IDEA, tekan Ctrl+Alt+Shift+S untuk membuka Project Structure. Pilih Modules, lalu atur Language Level agar sesuai dengan versi JDK Anda (misalnya, "8 - Lambdas, type annotations etc." untuk JDK 8). Klik Apply, lalu OK.

java: Compilation failed: internal java compiler error.

Di IntelliJ IDEA, buka File > Settings > Build, Execution, Deployment > Compiler > Java Compiler. Atur Project bytecode version dan Target bytecode version agar sesuai dengan versi JDK Anda (misalnya, 8 untuk JDK 8). Klik Apply, lalu OK.

kode: 400, <CERTAIN_FIELD > wajib diisi untuk aksi ini.

Parameter yang diperlukan tidak ada dalam pemanggilan API. Solusi:

Contoh menggunakan API SendSms dari Short Message Service:

  • Buka halaman API debugging di OpenAPI Portal, lalu pilih produk cloud dan API.

  • Bandingkan dengan cermat objek permintaan yang dibuat, seperti SendSmsRequest, untuk memastikan semua bidang yang wajib diisi, seperti nomor telepon dan signature, telah diisi.

  • Periksa dokumentasi API untuk mengonfirmasi parameter yang diperlukan.

  • Pastikan nilai parameter yang diperlukan valid (misalnya, periksa apakah format nomor telepon sudah benar).

  • SDK memvalidasi parameter sebelum memanggil API. Jika parameter yang diperlukan tidak ada, Anda akan menerima error MissingRequiredParameter. Misalnya, nomor telepon yang tidak ada menghasilkan "MissingPhoneNumbers: code: 400".

SendSmsRequest sendSmsRequest = new SendSmsRequest()
        // Ganti dengan nomor telepon yang akan menerima pesan teks.
        .setPhoneNumbers("<YOUR_VALUE>")
        // Ganti dengan signature SMS Anda.
        .setSignName("<YOUR_VALUE>")
        // Ganti dengan kode template SMS Anda.
        .setTemplateCode("<YOUR_VALUE>");

java.lang.NoSuchMethodError, java.lang.NoSuchFieldError

Penyebab:

Exception ini terjadi ketika runtime Java memanggil metode atau mengakses field yang tidak ada. Penyebab umum:

  • Versi dependensi usang dalam pom.xml Maven atau build.gradle Gradle Anda.

  • Konflik dependensi: beberapa versi dependensi yang sama ada, menyebabkan versi yang lebih rendah dimuat saat runtime.

  • Cache usang: setelah memperbarui dependensi, proyek tidak dibangun ulang atau cache tidak dihapus.

  • Versi dependensi saat kompilasi dan runtime berbeda.

  • Konflik classpath: Classpath yang salah dipilih saat impor.

Solusi:

  1. Periksa contoh yang disediakan di Alibaba Cloud OpenAPI Portal untuk melihat apakah ada error pada classpath.

  2. Jika classpath benar, Anda dapat memperoleh kelas spesifik yang menyebabkan error dari informasi stack exception dan menemukan dependensi serta versi yang sesuai.

  3. Jalankan perintah berikut untuk melihat dependensi langsung dan transitif proyek, beserta konflik dan duplikasi spesifik.

    • Maven: Maven menggunakan prinsip "jalur terpendek lebih dulu" dan "urutan deklarasi lebih dulu" untuk menyelesaikan versi dependensi. Selesaikan konflik dengan menyesuaikan urutan dependensi.

      mvn dependency:tree -Dverbose
    • Gradle: Gradle secara default menggunakan prinsip "versi tertinggi lebih dulu", sehingga hanya versi usang yang menyebabkan masalah. Lanjutkan ke langkah 4 untuk mendapatkan versi terbaru.

  4. Dalam output pohon dependensi, periksa adanya konflik. Jika ditemukan, pindahkan dependensi versi tertinggi yang bertentangan ke bagian atas bagian <dependencies></dependencies> dalam pom.xml. Jalankan mvn clean install -U untuk membangun ulang. Jika error masih ada, lanjutkan ke bawah.

  5. Temukan versi terbaru dependensi di Paket dependensi umum SDK Java V2.0. Perbarui versi dalam pom.xml atau build.gradle Anda.

  6. Bersihkan dan bangun ulang proyek:

    • Maven

      mvn clean install -U
    • Gradle:

      gradle clean build --refresh-dependencies
  7. Verifikasi bahwa masalah telah terselesaikan.

Contoh:

Pesan exception adalah java.lang.NoSuchMethodError: com.aliyun.credentials.Client.getCredential().

  1. Setelah diperiksa, classpath sudah benar.

  2. Berdasarkan pesan exception, exception terjadi di kelas com.aliyun.credentials.Client, yang berada dalam dependensi credentials-java. Versi yang saat ini dirujuk adalah 0.2.4.

  3. Setelah menjalankan mvn dependency:tree -Dverbose, ditemukan bahwa dependensi induk credentials-java, tea-openapi, memiliki konflik versi. Versi yang saat ini dirujuk adalah 0.3.2, dan versi yang bertentangan adalah 0.3.8. Kami menyarankan untuk memindahkan dependensi induk yang sesuai dengan versi tea-openapi 0.3.8 ke bagian atas bagian <dependencies></dependencies>.

  4. Jalankan perintah mvn clean install -U untuk membersihkan dan membangun ulang proyek, lalu verifikasi bahwa masalah telah terselesaikan.

  5. Jika masalah masih ada, Anda dapat memperoleh versi terbaru credentials-java dari Maven Central: com.aliyun:credentials-java dan menambahkan dependensi tersebut secara manual ke file pom.xml.

"TeaUnretryableException: timeout", "java.net.SocketTimeoutException: connect timed out", "java.net.SocketTimeoutException: Read timed out", "SDK.ServerUnreachable", "Connection aborted", atau "RemoteDisconnected".

Masalah timeout memiliki beberapa penyebab umum:

Masalah konektivitas jaringan

Jaringan antara klien dan server terputus atau tidak stabil.

Solusi:

Uji konektivitas ke titik akhir produk cloud menggunakan ping atau curl. Misalnya, jika API SendSms mengalami timeout: ping dysmsapi.aliyuncs.com atau curl -v https://dysmsapi.aliyuncs.com.

  • Jika perintah mengalami timeout, periksa kebijakan pemblokiran di firewall atau router Anda.

  • Jika perintah berhasil, konfigurasikan timeout yang wajar untuk menghindari kegagalan. Lihat Mekanisme timeout. Contoh:

// Pengaturan timeout parameter runtime. Ini hanya berlaku untuk permintaan yang menggunakan instans parameter runtime ini.
RuntimeOptions runtimeOptions = new RuntimeOptions();
runtimeOptions.connectTimeout = 5000;

Waktu pemrosesan API yang lama

Waktu pemrosesan API melebihi timeout baca yang dikonfigurasi.

Solusi: Tingkatkan timeout baca. Lihat Mekanisme timeout. Contoh:

// Pengaturan timeout parameter runtime. Ini hanya berlaku untuk permintaan yang menggunakan instans parameter runtime ini.
RuntimeOptions runtimeOptions = new RuntimeOptions();
runtimeOptions.readTimeout = 10000;

Permintaan Anda ditolak karena kurangnya perlindungan ssl.RequestId .

API memerlukan HTTPS, tetapi permintaan Anda menggunakan HTTP.

Solusi:

  • Untuk SDK V1.0, atur protokol HTTPS pada objek Request:

    request.setSysProtocol(com.aliyuncs.http.ProtocolType.HTTPS);
  • Gunakan SDK V2.0, yang secara default menggunakan HTTPS.

kode: 404, API yang ditentukan tidak ditemukan, harap periksa url dan metode Anda.

Anda memasukkan Endpoint atau RegionId yang salah. Solusi:

Verifikasi bahwa wilayah Anda mendukung layanan target. Temukan Endpoint produk di halaman utamanya di OpenAPI Developer Portal.

Misalnya, untuk Short Message Service, masuk ke portal OpenAPI Alibaba Cloud, navigasi ke halaman produk, dan periksa Service Region List untuk mengonfirmasi ID wilayah dan alamat layanan yang benar. Pola Endpoint layanan SMS mengikuti format [product_code].[region_id].aliyuncs.com. Untuk wilayah domestik (seperti cn-beijing, cn-hangzhou, cn-shanghai, dll.), alamat layanan seragam adalah dysmsapi.aliyuncs.com.

Unexpected response code for CONNECT: 400.

Permintaan dicegat oleh node perantara dan tidak mencapai gerbang Alibaba Cloud.

Solusi:

  • Konfigurasi proxy mungkin salah. Uji dengan: curl https://<nama domain layanan Alibaba Cloud>/ -v -x <IP proxy>:<port proxy> (misalnya, curl https://ecs-cn-hangzhou.aliyuncs.com/ -v -x 127.0.0.1:3128).

  • Firewall internal mungkin memblokir permintaan. Coba ganti jaringan (misalnya, sambungkan ke hotspot seluler).

Can not set java.lang.String field com.aliyun.imm20200930.models.GenerateWebofficeTokenShrinkRequest.userShrink to java.util .

Versi lama paket Tea tidak dapat mengonversi struktur kompleks menjadi String, menyebabkan error ini.

Solusi:

Tingkatkan paket Tea ke versi 1.2.7 atau lebih baru:

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>tea</artifactId>
  <version>1.2.7</version>
</dependency>

Gagal mengunduh dependensi secara otomatis dengan Maven di IDEA.

  • Perbarui repositori Maven

    Buka menu "File" dan pilih "Settings" (atau "Preferences"). Di panel navigasi kiri, perluas "Build, Execution, Deployment", lalu pilih "Build Tools" > "Maven". Temukan tab "Repositories", pilih repositori lokal, klik tombol "Update", dan tunggu hingga pembaruan selesai.

  • Periksa cache IDEA

    Buka menu "File", pilih "Invalidate Caches...". Di kotak dialog yang muncul, pilih "Invalidate and Restart", dan tunggu hingga IDEA membersihkan cache dan memulai ulang.

  • Periksa koneksi jaringan

    Jika Maven tidak dapat terhubung ke repositori pusat atau repositori jarak jauh lainnya, Maven mungkin tidak dapat mengunduh dependensi. Pastikan koneksi jaringan Anda normal dan tidak ada firewall atau server proxy yang memblokir akses Maven.

  • Periksa konfigurasi Maven

    Periksa bahwa file konfigurasi Maven (biasanya settings.xml) dikonfigurasi dengan benar. Pastikan "localRepository" mengarah ke path repositori lokal yang benar, dan "mirrors", "proxies", serta "profiles" dikonfigurasi dengan benar.

Cara menghindari pesan WARNING yang disebabkan oleh refleksi.

024-11-26 17:05:04.696  INFO 10662 --- [HSFBizProcessor-DEFAULT-9-thread-1] c.a.c.s.r.i.ResourceMonitorServiceImpl   : instance=rmq-cn-jte3mmyuu0i
024-11-26 17:05:04.696  INFO 10662 --- [HSFBizProcessor-DEFAULT-9-thread-1] c.a.c.r.i.ResourceMonitorComponentImpl   : getInstanceInfo
024-11-26 17:05:04.699  INFO 10662 --- [HSFBizProcessor-DEFAULT-9-thread-1] c.a.c.r.i.ResourceMonitorComponentImpl   : tea client
024-11-26 17:05:04.699  INFO 10662 --- [HSFBizProcessor-DEFAULT-9-thread-1] c.a.c.r.i.ResourceMonitorComponentImpl   : tea runtime
024-11-26 17:05:04.764  WARN 10662 --- [HSFBizProcessor-DEFAULT-9-thread-1] com.aliyun.tea.TeaModel                  : There are some cast events happening. expect: java.lang.Double

Saat menggunakan Alibaba Cloud SDK dengan versi JDK yang lebih tinggi, peringatan terkait refleksi mungkin muncul dalam output.

Solusi:

Atur variabel lingkungan ALIBABA_CLOUD_SDK_LOG_LEVEL ke ERROR untuk menekan peringatan:

  1. Atur variabel lingkungan:

    Windows

    set ALIBABA_CLOUD_SDK_LOG_LEVEL=ERROR

    Linux/macOS

    export ALIBABA_CLOUD_SDK_LOG_LEVEL=ERROR
  2. Konfirmasi pengaturan variabel lingkungan:

    Windows

    echo %ALIBABA_CLOUD_SDK_LOG_LEVEL%

    Linux/macOS

    echo $ALIBABA_CLOUD_SDK_LOG_LEVEL
  3. Jalankan aplikasi Anda. Pesan peringatan dari Alibaba Cloud SDK tidak akan ditampilkan lagi; hanya pesan tingkat ERROR atau lebih tinggi yang akan muncul.

Catatan
  • Untuk mengubah tingkat log untuk debugging atau pengembangan, Anda dapat mengubah nilai variabel lingkungan menjadi DEBUG atau INFO.

Signature yang ditentukan tidak sesuai dengan perhitungan kami.

at java.lang.Thread.run(Thread.java:748)
ERROR [pool-3-thread-1] 2024-11-12 17:20:00,059 (AliDmsAuditSyncServiceImpl.java:219) - [MS访问事件同步] 异常
com.aliyun.tea.TeaException: code: 400, Specified signature does not match our calculation. server StringToSign is [ACS3-HMAC-SHA256
3d5cxxx                                                              ], server CanonicalRequest is [POST
/

Signature permintaan tidak sesuai dengan perhitungan sisi server. Kemungkinan penyebab:

  • AccessKey (AK) disalin secara tidak benar

  • Algoritma signature salah

  • Parameter permintaan atau urutannya tidak memenuhi persyaratan API.

Solusi:

  1. Verifikasi bahwa ID dan Secret AccessKey dalam kode Anda persis sama dengan yang ada di konsol (tanpa spasi tambahan atau karakter khusus). Gunakan AccessKey yang sudah ada atau buat yang baru dari Membuat pasangan AccessKey. Catatan: Secret AccessKey hanya ditampilkan sekali saat pembuatan.

  2. Tingkatkan commons-codec untuk menghindari error perhitungan signature.

    Perbarui dependensi:

    Maven

    Modifikasi file pom.xml.

    <dependency>
       <groupId>commons-codec</groupId>
       <artifactId>commons-codec</artifactId>
       <version>1.15</version> <!-- Updated version -->
    </dependency>

    Setelah memperbarui nomor versi, jalankan perintah berikut:

    mvn clean install

    Gradle

    Dalam file build.gradle, tambahkan atau perbarui dependensi:

    dependencies {
         implementation 'commons-codec:commons-codec:1.15' // Updated version
    }

    Jalankan perintah berikut untuk membangun proyek:

    gradle build
  3. Jika menggunakan penandatanganan mandiri, verifikasi bahwa logika kode Anda sesuai dengan Mekanisme badan permintaan & signature V3.

SDK.EndpointResolvingError: "No such region 'cn-XX'. Please check your region ID".

Versi SDK terlalu lama dan tidak mendukung wilayah atau API target. Solusi:

Tingkatkan dependensi inti SDK:

Maven

Jika Anda menggunakan Maven untuk manajemen proyek, perbarui versi dependensi dalam file pom.xml:

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>4.7.2</version>
</dependency>

Gradle

Jika Anda menggunakan Gradle untuk manajemen proyek, perbarui versi dependensi dalam file build.gradle:

dependencies {
    implementation 'com.aliyun:aliyun-java-sdk-core:4.7.2'
    implementation 'com.aliyun:aliyun-java-sdk-sts:3.1.2'
}

Gagal membuat instans [com.aliyuncs.IAcsClient]: Metode factory 'iAcsClient' melempar exception dengan pesan: org/apache/http/conn/ssl/DefaultHostnameVerifier .

Versi Apache HttpClient yang tidak kompatibel digunakan dengan Alibaba Cloud SDK. Solusi:

  • Periksa bahwa tidak ada library lain yang memperkenalkan versi HttpClient yang tidak kompatibel menggunakan manajemen dependensi alat build Anda.

  • Perbarui Apache HttpClient ke versi 4.5.14 atau lebih baru:

    <dependency>
        <groupId>org.apache.httpcomponents.client</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.14</version> <!-- Please check for the latest version -->
    </dependency>

Error saat memanggil OpenAPI: kode: 401, Anda belum mengaktifkan layanan XXX, atau pesan serupa.

Akun Alibaba Cloud Anda belum mengaktifkan layanan yang sesuai. XXX adalah nama layanan (misalnya, layanan OCR). Solusi:

  1. Masuk ke konsol manajemen layanan yang sesuai.

  2. Temukan dan aktifkan fitur yang diperlukan.

  3. Tunggu hingga layanan diaktifkan, lalu panggil API lagi.

Gagal mendapatkan kredensial sesi RAM dari layanan metadata ECS. HttpCode=XX

Kredensial role RAM instans (ecs_ram_role) hanya dapat digunakan di instans ECS atau ECI dengan role RAM yang dilampirkan. Lihat Role RAM instans ECS dan Menggunakan role RAM instans ECI dengan memanggil API.

  • Untuk memverifikasi kredensial ini berfungsi, jalankan perintah berikut di instans ECS:

    • Instans Linux

      # Dapatkan kredensial akses metadata. Anda harus menetapkan waktu kedaluwarsa. Permintaan tidak boleh berisi header X-Forwarded-For. 100.100.100.200 adalah alamat IPv4 layanan metadata instans.
      TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:<metadata_credential_expiration_time>"`
      # Akses metadata instans
      curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/meta-data/ram/security-credentials/[role-name]
    • Instans Windows (PowerShell)

      # Dapatkan kredensial akses metadata. Anda harus menetapkan waktu kedaluwarsa. Permintaan tidak boleh berisi header X-Forwarded-For. 100.100.100.200 adalah alamat IPv4 layanan metadata instans.
      $token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "<metadata_credential_expiration_time>"} -Method PUT -Uri http://100.100.100.200/latest/api/token
      # Akses metadata instans
      Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/meta-data/ram/security-credentials/[role-name]

    Jika respons berikut dikembalikan, kredensial role RAM instans tersedia:

    {
      "AccessKeyId" : "AccessKeyIdValue",
      "AccessKeySecret" : "AccessKeySecretValue",
      "Expiration" : "2025-07-10T08:37:58Z",
      "SecurityToken" : "SecurityTokenValue",
      "LastUpdated" : "2025-07-10T02:33:26Z",
      "Code" : "Success"
    }
  • Untuk beralih ke jenis kredensial lain, lihat Mengelola kredensial akses.

Ada risiko kebocoran AccessKey ini

Penyebab: AccessKey Anda mungkin berisiko bocor. Alibaba Cloud telah menerapkan pembatasan perlindungan.

Solusi: Solusi untuk kebocoran AccessKey.

Permintaan ditolak karena kontrol aliran API

Penyebab: Panggilan API terlalu sering, memicu pembatasan kecepatan (misalnya, "ThrottlingException").

Solusi:

  • Terapkan mekanisme retry dan tingkatkan interval antar permintaan untuk mengurangi beban.

  • Optimalkan logika kode: gunakan pemrosesan batch atau panggilan asinkron untuk mengurangi volume permintaan.

Access key yang ditentukan ditolak karena kebijakan akses

Penyebab: Kebijakan pembatasan akses jaringan AccessKey membatasi alamat IP sumber mana yang dapat menggunakan AccessKey permanen untuk permintaan API.

Solusi:

  • Ubah rentang alamat IP dalam kebijakan pembatasan akses jaringan AccessKey.

  • Jangan aktifkan kebijakan pembatasan akses jaringan AccessKey.

Kebijakan pembatasan akses jaringan AccessKey.

com.aliyuncs.exceptions.ClientException: SDK.InvalidRegionId : Can not find endpoint to access

Penyebab: Parameter yang salah (seperti regionId yang tidak valid) mencegah SDK menemukan titik akhir layanan.

Solusi:

  • Verifikasi bahwa semua parameter konfigurasi (Endpoint, RegionId, dll.) benar berdasarkan dokumentasi dan contoh kode Alibaba Cloud.

  • Debug API di OpenAPI Developer Portal. Setelah debugging berhasil, unduh proyek contoh lengkap untuk penggunaan lokal.

Daftar periksa exception Java dasar

Pesan Error

Penyebab

Solusi

NullPointerException

Mencoba memanggil metode atau mengakses properti pada objek null.

Sebelum menggunakan objek, lakukan pemeriksaan null untuk menghindari NullPointerException. Anda dapat menggunakan pernyataan kondisional atau assertion untuk pemeriksaan tersebut.

ArrayIndexOutOfBoundsException

Mencoba mengakses indeks yang tidak ada dalam array.

Pastikan indeks array berada dalam rentang yang valid, yaitu lebih besar atau sama dengan 0 dan kurang dari panjang array. Anda dapat mengontrol kondisi loop atau memeriksa rentang indeks secara manual untuk menghindari exception indeks array di luar batas.

IllegalArgumentException

Metode menerima argumen ilegal.

Periksa parameter yang diteruskan ke metode untuk memastikan mereka memenuhi persyaratan metode. Anda dapat menggunakan pernyataan kondisional atau assertion untuk memeriksa validitas parameter.

ArithmeticException

Exception terjadi dalam operasi aritmetika, seperti pembagian dengan nol.

Sebelum melakukan operasi aritmetika, lakukan pemeriksaan dan pemrosesan yang diperlukan untuk memastikan tidak terjadi exception. Anda dapat menggunakan pernyataan kondisional atau mekanisme penanganan exception untuk menangani exception aritmetika.

ClassCastException

Mencoba meng-cast objek ke tipe yang tidak kompatibel.

Sebelum melakukan cast tipe, gunakan operator instanceof untuk memeriksa tipe dan pastikan tipe objek kompatibel. Jika tipe tidak kompatibel, pertimbangkan untuk menggunakan cast tipe yang sesuai atau mendesain ulang hubungan pewarisan objek.

FileNotFoundException

Mencoba membuka file yang tidak ada.

Pastikan path file dan nama file benar, serta file tersebut ada di lokasi yang ditentukan. Anda dapat menggunakan pernyataan kondisional atau mekanisme penanganan exception untuk menangani exception file tidak ditemukan.

IOException

Exception terjadi selama operasi input/output, seperti membaca atau menulis file, atau komunikasi jaringan.

Periksa kebenaran operasi input/output, pastikan file atau resource tersedia, dan tangani exception yang mungkin terjadi. Anda dapat menggunakan mekanisme penanganan exception untuk menangani exception input/output.

InterruptedException

Thread terganggu secara tak terduga selama operasi multi-threaded.

Tangani gangguan thread secara tepat saat memproses operasi multi-threaded. Anda dapat menggunakan mekanisme penanganan exception atau pernyataan kondisional untuk menangani exception gangguan thread.

NoSuchMethodException

Mencoba memanggil metode yang tidak ada.

Periksa bahwa nama metode dan parameter benar, serta pastikan metode yang dipanggil ada. Anda dapat menggunakan pernyataan kondisional atau mekanisme penanganan exception untuk menangani exception metode tidak ditemukan.

NumberFormatException

Mengonversi string yang tidak dapat dikonversi menjadi angka menjadi angka.

Saat mengonversi string menjadi angka, lakukan pemeriksaan yang wajar terlebih dahulu untuk memastikan string tersebut dapat dikonversi dengan benar menjadi angka. Anda dapat menggunakan pernyataan kondisional atau mekanisme penanganan exception untuk menangani exception format angka.

IndexOutOfBoundsException

Mencoba mengakses indeks yang tidak ada dalam daftar atau string.

Pastikan indeks berada dalam rentang yang valid, yaitu lebih besar atau sama dengan 0 dan kurang dari panjang daftar atau string. Anda dapat menggunakan pernyataan kondisional atau mekanisme penanganan exception untuk menangani exception indeks di luar batas.

UnsupportedOperationException

Mencoba memanggil metode atau operasi yang tidak didukung.

Konsultasikan dokumentasi atau dokumentasi API untuk memahami metode dan operasi yang didukung. Pastikan metode atau operasi tersebut layak dilakukan di lingkungan saat ini.

IllegalMonitorStateException

Memanggil metode wait(), notify(), atau notifyAll() pada waktu yang tidak tepat.

Pastikan menggunakan metode wait(), notify(), atau notifyAll() dengan benar dalam blok kode synchronized. Anda dapat menggunakan pernyataan kondisional atau mekanisme penanganan exception untuk menangani exception status monitor ilegal.

SecurityException

Mencoba melakukan operasi yang melanggar aturan keamanan, seperti akses tidak sah atau izin file.

Periksa aturan keamanan dalam kode untuk memastikan tidak dilanggar. Anda dapat melakukan penyesuaian dan modifikasi yang sesuai berdasarkan aturan keamanan.

ClassNotFoundException

Mencoba memuat kelas yang tidak ada.

Dalam SDK, ini biasanya merupakan konflik dependensi, di mana beberapa versi dependensi ada bersamaan, menyebabkan class loader memuat versi kelas yang salah. Periksa bahwa nama kelas dan classpath benar, serta pastikan kelas yang diperlukan ada. Anda dapat menggunakan pernyataan kondisional atau mekanisme penanganan exception untuk menangani exception kelas tidak ditemukan.

NoSuchFieldException

Mencoba mengakses field yang tidak ada.

Dalam SDK, ini biasanya merupakan konflik dependensi, di mana dependensi versi lebih rendah mengambil prioritas dalam indeks, menyebabkan metode SDK V2.0 tidak ada. Pastikan nama field benar dan field yang diakses ada. Anda dapat menggunakan pernyataan kondisional atau mekanisme penanganan exception untuk menangani exception field tidak ditemukan.

Dukungan teknis

Jika Anda mengalami masalah lain, hubungi kami:

  • Kirim tiket: Halaman Pengiriman Tiket Alibaba Cloud.

  • Jika Anda memiliki kebutuhan atau masukan terkait, Anda dapat bergabung dengan grup DingTalk untuk menghubungi dukungan teknis Alibaba Cloud. Nomor grupnya adalah 60965016010.