全部产品
Search
文档中心

Alibaba Cloud SDK:FAQ

更新时间:Jun 28, 2025

Topik ini memberikan jawaban atas beberapa pertanyaan yang sering diajukan (FAQ) tentang penggunaan Alibaba Cloud SDK untuk .NET guna membantu meningkatkan efisiensi pengembangan.

Prasyarat

.NET Framework 4.5 atau lebih baru, atau .NET Core 2.0 atau lebih baru telah diinstal.

Ikhtisar

Pertanyaan 1: Bagaimana cara menangani kesalahan AccessKey?

Masalah: Pesan kesalahan berikut muncul saat menjalankan kode. Pesan tersebut menunjukkan bahwa pasangan AccessKey salah.

  • Alibaba Cloud SDK V2.0: Unhandled exception. Tea.TeaException: Harap atur kredensial dengan benar. Jika Anda mengaturnya melalui variabel lingkungan, pastikan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET diatur dengan benar.

  • Alibaba Cloud SDK V1.0: Unhandled exception. System.ArgumentOutOfRangeException: Argumen yang ditentukan berada di luar rentang nilai yang valid. (Parameter 'Access key ID tidak boleh null.')

Solusi:

  1. Jalankan perintah berikut untuk memeriksa apakah variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET telah dikonfigurasi:

    Linux atau 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 pasangan AccessKey yang valid dikembalikan, variabel lingkungan telah dikonfigurasi dengan benar. Jika tidak ada pasangan AccessKey yang dikembalikan atau pasangan AccessKey yang dikembalikan tidak valid, konfigurasikan ulang variabel lingkungan. Untuk informasi lebih lanjut, lihat Konfigurasikan variabel lingkungan di Linux, macOS, dan Windows.

  2. Periksa kesalahan terkait AccessKey dalam kode.

    Contoh konfigurasi tidak valid:

     AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
                {
                    AccessKeyId = Environment.GetEnvironmentVariable("yourAccessKeyID"),
                    AccessKeySecret = Environment.GetEnvironmentVariable("yourAccessKeySecret"),
                };

    Contoh konfigurasi valid:

     AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config
                {
                    AccessKeyId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"),
                    AccessKeySecret = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET"),
                };
    Catatan

    Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID") dan Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET") menunjukkan bahwa nilai-nilai tersebut diperoleh dari variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.

    Penting

    Untuk mencegah kebocoran AccessKey, jangan tulis pasangan AccessKey dalam teks biasa langsung di kode Anda.

Pertanyaan 2: Apa yang harus saya lakukan jika pesan kesalahan "TimeoutException..." muncul?

Waktu habis panggilan API dapat disebabkan oleh beberapa faktor. Berikut adalah penyebab umum beserta solusinya.

Masalah konektivitas jaringan

Penyebab: Permintaan API tidak dapat mencapai server tujuan karena koneksi jaringan antara klien dan server gagal atau jaringan tidak stabil.

Solusi:

Gunakan perintah ping atau curl untuk menguji konektivitas antara host lokal dan titik akhir layanan cloud. Sebagai contoh, jika panggilan operasi API Layanan Pesan Singkat (SMS) mengalami waktu habis, jalankan perintah ping dysmsapi.aliyuncs.com atau curl -v https://dysmsapi.aliyuncs.com untuk menguji konektivitas jaringan.

  • Jika perintah mengalami waktu habis atau tidak ada respons yang dikembalikan, periksa apakah kebijakan blokir dikonfigurasi pada firewall atau router lokal.

  • Jika respons dikembalikan, kami sarankan Anda menentukan periode waktu habis yang sesuai untuk mencegah kegagalan permintaan yang disebabkan oleh konfigurasi yang tidak tepat. Untuk informasi lebih lanjut, lihat Konfigurasikan periode waktu habis. Contoh kode:

    // Konfigurasikan periode waktu habis untuk permintaan koneksi menggunakan parameter runtime. Periode waktu habis hanya berlaku untuk permintaan yang menggunakan RuntimeOptions.
    RuntimeOptions runtimeOptions = new RuntimeOptions();
    runtimeOptions.ConnectTimeout = connectionTimeoutMillis;

Waktu pemrosesan API request yang lama

Penyebab: Waktu untuk memproses permintaan API melebihi periode waktu habis baca yang ditentukan.

Solusi: Perpanjang periode waktu habis baca untuk respons API. Untuk informasi lebih lanjut, lihat Konfigurasikan periode waktu habis. Sebagai contoh, Anda dapat mengonfigurasi parameter waktu habis baca untuk memperpanjang periode waktu habis baca. Contoh kode:

// Konfigurasikan periode waktu habis untuk permintaan baca menggunakan parameter runtime. Periode waktu habis hanya berlaku untuk permintaan yang menggunakan RuntimeOptions.
RuntimeOptions runtimeOptions = new RuntimeOptions();
runtimeOptions.ReadTimeout = readTimeoutMillis;

Pertanyaan 3: Apa yang harus saya lakukan jika pesan kesalahan "Unhandled exception. System.ArgumentNullException: Value cannot be null. (Parameter 'key')" muncul?

Modul Aliyun.Credentials sudah usang. Kami sarankan Anda memperbarui Aliyun.Credentials ke versi terbaru.

dotnet add package Aliyun.Credentials

Daftar periksa pengecualian dasar C#

Pesan kesalahan

Penyebab

Solusi

SocketException

Kesalahan terkait soket terjadi. Sebagai contoh, koneksi mengalami waktu habis, atau koneksi ditutup.

Jalankan perintah cURL untuk memeriksa ketersediaan koneksi jaringan. Pastikan bahwa host tujuan dan nomor port benar.

HttpRequestException

Kesalahan terkait permintaan HTTP terjadi. Sebagai contoh, server tidak dapat dihubungi atau permintaan mengalami waktu habis.

Periksa koneksi jaringan dan pastikan bahwa server sedang berjalan. Anda dapat menggunakan blok try-catch untuk menangkap dan menangani pengecualian ini.

ProtocolViolationException

Kesalahan terkait protokol jaringan terjadi. Sebagai contoh, permintaan atau respons HTTP tidak valid.

Periksa protokol jaringan dan pastikan bahwa permintaan dan respons memenuhi persyaratan protokol. Anda dapat menggunakan pernyataan bersyarat atau mekanisme penanganan pengecualian untuk menangani pengecualian ini.

TimeoutException

Operasi mengalami waktu habis.

Tingkatkan periode waktu habis atau optimalkan kinerja untuk memastikan bahwa operasi dapat selesai sebelum periode waktu habis yang ditentukan berakhir. Anda dapat menggunakan pernyataan bersyarat atau mekanisme penanganan pengecualian untuk menangani pengecualian ini.

Kegagalan resolusi DNS

Nama domain tidak dapat diselesaikan atau tidak valid.

Periksa nama domain dan pastikan bahwa server DNS tersedia. Anda dapat menggunakan pernyataan bersyarat atau mekanisme penanganan pengecualian untuk menangani pengecualian ini.

Dukungan teknis

Jika Anda mengalami masalah lain saat menggunakan Alibaba Cloud SDK, hubungi kami melalui cara berikut:

  • Kirim tiket.

  • Jika Anda memiliki pertanyaan atau umpan balik, hubungi dukungan teknis di grup DingTalk 60965016010.