All Products
Search
Document Center

Alibaba Cloud SDK:FAQ tentang SDK untuk Python

Last Updated:Jun 22, 2026

Topik ini menyediakan jawaban atas pertanyaan yang sering diajukan mengenai Alibaba Cloud SDK untuk Python guna membantu meningkatkan efisiensi pengembangan.

Prasyarat

  • Python 3.7 atau versi yang lebih baru telah diinstal.

  • API Alibaba Cloud dapat diakses dari jaringan Anda.

Ikhtisar

Masalah dan solusi

Bagaimana cara menangani error AccessKey?

Masalah: Pesan error berikut dikembalikan setelah menjalankan kode, yang menunjukkan bahwa pasangan AccessKey tidak dikonfigurasi dengan benar.

  • Alibaba Cloud SDK V2.0: AttributeError: 'NoneType' object has no attribute 'get_access_key_id'.

  • Alibaba Cloud SDK V1.0: Error:MissingParameter The input parameter "AccessKeyId" that is mandatory for processing this request is not supplied.

Solusi:

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

    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 pasangan AccessKey yang valid dikembalikan, berarti variabel lingkungan telah dikonfigurasi dengan benar. Jika tidak ada pasangan AccessKey atau pasangan AccessKey tidak valid yang dikembalikan, konfigurasikan variabel lingkungan sesuai kebutuhan. Untuk informasi selengkapnya, lihat Konfigurasi variabel lingkungan di Linux, macOS, dan Windows.

  2. Periksa kesalahan terkait pasangan AccessKey dalam kode.

    Contoh permintaan error:

     config = open_api_models.Config(
                access_key_id=os.environ['yourAccessKeyID'],
                access_key_secret=os.environ['yourAccessKeySecret']
            )

    Contoh permintaan sukses:

     config = open_api_models.Config(
               access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
               access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
            )
    Catatan

    os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'] dan os.environ["ALIBABA_CLOUD_ACCESS_KEY_SECRET"] menentukan bahwa ID AccessKey dan rahasia AccessKey diperoleh dari variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET.

    Penting

    Untuk mencegah risiko keamanan, jangan menuliskan pasangan AccessKey dalam kode yang digunakan di lingkungan produksi.

Apa yang harus saya lakukan jika SDK gagal diinstal?

  • Pastikan versi Python yang valid telah diinstal, seperti Python 3.x.

  • Tambahkan opsi --upgrade saat menginstal SDK dengan menjalankan perintah pip. Hal ini memastikan bahwa versi terbaru diinstal.

pip install --upgrade <SDK_NAME>  
  • Jika Anda mengalami masalah izin selama proses instalasi, misalnya saat menginstal SDK di direktori sistem pustaka Python, Anda dapat menggunakan opsi --user untuk menginstal SDK di direktori pengguna alih-alih direktori sistem.

pip install --user <SDK_NAME>  
  • Jika beberapa versi Python diinstal di PC Anda, pastikan Anda menginstal SDK pada versi Python yang Anda gunakan. Misalnya, gunakan python3 alih-alih python dalam kode dan jalankan perintah pip3.

Apa yang harus saya lakukan jika modul gagal diimpor dan muncul error ModuleNotFoundError?

Pastikan SDK telah diinstal dengan benar. Kemudian, coba impor modul dalam lingkungan Python.

  • Jalankan interpreter Python.

python
  • Impor modul.

import <SDK_NAME> 

Jika tidak terjadi error, berarti SDK telah diinstal dengan benar. Jika muncul error ModuleNotFoundError atau ImportError, berarti SDK belum diinstal dengan benar.

pip install <SDK_NAME>

Apa yang harus saya lakukan jika pesan error "AttributeError: 'CredentialModel' object has no attribute 'provider_name'" dikembalikan?

Pesan error ini menunjukkan adanya upaya mengakses atribut provider_name dari objek CredentialModel, tetapi atribut tersebut tidak tersedia. Dalam kebanyakan kasus, error ini disebabkan oleh paket alibabacloud_credentials yang sudah usang, sehingga menyebabkan ketidakcocokan antara pustaka kelas dan operasi API kompilasi. Kemungkinan penyebab:

  • Paket dependensi usang: Versi paket alibabacloud_credentials lebih lama daripada versi yang dibutuhkan oleh atribut provider_name dalam kode.

  • Konflik dependensi: Versi alibabacloud_credentials yang salah dimuat karena terdapat beberapa paket alibabacloud_credentials dalam proyek.

  • Pembaruan dependensi tidak tepat: Setelah pembaruan, dependensi tidak diinstal ulang atau cache tidak dihapus. Akibatnya, versi dependensi sebelumnya masih digunakan.

Solusi:

  1. Dalam file requirements.txt, atur paket dependensi alibabacloud_credentials ke versi terbaru. Contoh:

    alibabacloud_credentials=1.0.1

    Jalankan perintah pip install -r requirements.txt --upgrade untuk memperbarui paket dependensi.

    Catatan

    Lihat ChangeLog.txt untuk daftar semua versi rilis alibabacloud_credentials.

  2. Periksa konflik dependensi.

    pip list | grep alibabacloud
    # Jika terdapat beberapa versi dependensi, uninstal versi yang ada dan instal versi terbaru. Contoh: 
    pip uninstall alibabacloud_credentials
    pip install alibabacloud_credentials==1.0.1
    
  3. Hapus cache dan instal ulang versi terbaru.

    pip cache purge
    pip install -r requirements.txt --force-reinstall
    

Apa yang harus saya lakukan jika pesan error berikut dikembalikan: code: 400, The input parameter "AccesskeyId" that is mandatory for processing this request is not supplied?

  • Pesan error ini muncul karena permintaan yang dikirim ke gerbang tidak berisi ID AccessKey.

  • Periksa apakah ID AccessKey Anda telah dikonfigurasi dengan benar saat menggunakan kode contoh lengkap yang diunduh dari OpenAPI Explorer. Konfigurasikan ID AccessKey dan rahasia AccessKey Anda saat memanggil metode utama.

Pada tab SDK Sample di OpenAPI Explorer, temukan accessKeyId dan accessKeySecret dalam metode main dan ganti nilai placeholder dengan AccessKey Anda.

Apa yang harus saya lakukan jika pesan error berikut dikembalikan: Tea.exceptions.TeaException: Error: SignatureDoesNotMatch.MissingHeader code: 400, The specified signed header "accept;connection;content-type;host;user-agent;x-acs-action;x-acs-content-sha256;x-acs-date;x-acs-signature-nonce;x-acs-version" is not found?

Pesan error ini muncul karena header Connection diatur ke close untuk menerapkan koneksi singkat saat memanggil layanan dalam mode tanda tangan sendiri. Namun, metode signature V3 tidak kompatibel dengan pengaturan ini, sehingga menyebabkan error.

Anda dapat memperbaiki error ini dengan pengaturan berikut: config.signature_algorithm = 'v2'.

Apa yang harus saya lakukan jika pesan error berikut dikembalikan: Tea.exceptions.TeaException: Connection aborted?

Pesan error ini muncul karena interval permintaan lebih lama dari yang diharapkan. Server hanya mempertahankan koneksi persisten selama 30 detik, sedangkan client mempertahankan koneksi secara persisten. Dalam kasus ini, server menutup koneksi setelah 30 detik. Jika client menginisiasi permintaan setelah 30 detik, permintaan akan gagal.

  • Atur header Connection ke close untuk menerapkan koneksi singkat.

  • Konfigurasikan mekanisme retry untuk memastikan pemanggilan dilakukan dalam waktu 30 detik.

Penting

Mekanisme retry dapat menyebabkan operasi ganda jika permintaan dikirim dan diproses beberapa kali. Oleh karena itu, kami menyarankan Anda mengonfigurasi mekanisme retry hanya untuk permintaan yang melakukan operasi query, bukan untuk permintaan yang melakukan operasi create, delete, atau modify.

Apa yang harus saya lakukan jika pemanggilan API mengalami timeout dan muncul pesan error "requests.exceptions.Timeout" atau "requests.exceptions.ConnectionError"?

Timeout pemanggilan API dapat disebabkan oleh berbagai faktor. Bagian berikut menjelaskan penyebab umum dan solusi yang sesuai.

Masalah koneksi jaringan

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

Solusi:

Jalankan perintah ping atau curl untuk menguji konektivitas antara host lokal dan titik akhir layanan cloud. Misalnya, jalankan perintah ping dysmsapi.aliyuncs.com atau curl -v https://dysmsapi.aliyuncs.com untuk menguji konektivitas antara host lokal Anda dan titik akhir API Short Message Service (SMS).

  • Jika perintah mengalami timeout atau tidak menerima respons, periksa kebijakan pemblokiran pada firewall atau router lokal Anda.

  • Jika respons dikembalikan, kami menyarankan Anda menentukan periode timeout yang tepat untuk mencegah kegagalan permintaan akibat konfigurasi timeout yang tidak sesuai. Untuk informasi selengkapnya, lihat Konfigurasi periode timeout. Contoh kode:

  • # Periode timeout hanya berlaku untuk permintaan yang menggunakan RuntimeOptions.
    runtimeOptions = RuntimeOptions(
        connect_timeout=5000  # Konfigurasi periode timeout untuk permintaan koneksi. Satuan: milidetik.
    )
Penyebab 2: Waktu pemrosesan permintaan yang lama

Penyebab: Waktu pemrosesan permintaan API melebihi periode read timeout yang ditentukan.

Solusi: Perpanjang periode timeout untuk respons API. Untuk informasi selengkapnya, lihat Konfigurasi periode timeout. Misalnya, Anda dapat mengonfigurasi parameter read timeout untuk memperpanjang periode read timeout. Contoh kode:

# Periode timeout hanya berlaku untuk permintaan yang menggunakan RuntimeOptions.
runtimeOptions = RuntimeOptions(
    read_timeout=10000,  # Konfigurasi periode timeout untuk permintaan baca. Satuan: milidetik.
)

Apa yang harus saya lakukan jika pesan error "-bash: python3: command not found" muncul di Linux?

Jika Anda telah menginstal Python, pesan error ini mungkin muncul karena tautan simbolik tidak dikonfigurasi dengan benar.

Catatan

Saat pengguna mengakses tautan simbolik, pengguna sebenarnya mengakses file yang ditunjuk oleh tautan simbolik tersebut. Misalnya, saat Anda menggunakan Python 3, Anda sebenarnya menggunakan interpreter Python 3.12.

  • Jalankan perintah which python3 pip3 untuk memeriksa apakah tautan simbolik ada di sistem. Jika tautan simbolik ada, hapus tautan simbolik tersebut.

rm -rf /usr/bin/python3 /usr/bin/pip3
  • Buat kembali tautan simbolik. Temukan direktori instalasi Python, akses direktori bin, lalu cari pip3.12 dan python3.12. Jalankan perintah berikut untuk membuat tautan simbolik:

sudo ln -s /usr/local/python3/bin/python3.12 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3.12 /usr/bin/pip3

Apa yang harus saya lakukan jika muncul error "Invalid parameters" atau "MissingRequiredParameter" saat memanggil operasi API?

Dalam contoh ini, digunakan operasi SendSms dari Short Message Service (SMS).

  • Buka halaman API Debugging di OpenAPI Explorer, lalu pilih produk cloud dan API.

  • Periksa apakah semua parameter yang diperlukan seperti PhoneNumbers dan SignName telah ditentukan dalam objek permintaan yang dibuat. Dalam contoh ini, digunakan objek SendSmsRequest.

  • Verifikasi bahwa semua parameter yang diperlukan telah ditentukan berdasarkan referensi API.

  • Pastikan nilai parameter yang diperlukan valid. Misalnya, periksa apakah nomor ponsel ditentukan dalam format yang valid.

  • Sebelum SDK mengirim permintaan API, SDK secara otomatis memverifikasi parameter. Jika satu atau beberapa parameter yang diperlukan tidak ditentukan, error seperti MissingRequiredParameter akan dilaporkan. Misalnya, jika parameter PhoneNumbers tidak ditentukan, error "MissingPhoneNumbers: code: 400" akan dilaporkan. Dalam kasus ini, tentukan parameter berdasarkan pesan error.

Memanggil API tanpa parameter nomor telepon menghasilkan error MissingPhoneNumbers: code: 400 di Konsol.

send_sms_request = dysmsapi_20170525_models.SendSmsRequest(
            # Nomor ponsel tujuan pengiriman pesan teks.
            phone_numbers='<YOUR_VALUE>',
            # Nama signature SMS.
            sign_name='<YOUR_VALUE>',
            # Kode template SMS.
            template_code='<YOUR_VALUE>',
            # Variabel template SMS. Tentukan nilai dalam format JSON. Contoh: {"code":"1234","name":"1234","time":"1234"}.
            template_param='{"code":"1234","name":"1234","time":"1234"}'
        )

Apa yang harus saya lakukan jika operasi API gagal dipanggil dan muncul error "Tea.exceptions.UnretryableException"?

Pastikan wilayah yang Anda pilih mendukung layanan yang Anda panggil. Sebagai contoh, untuk SMS, Anda dapat menemukan titik akhir layanan di halaman produknya di OpenAPI Explorer. Gunakan titik akhir yang benar untuk wilayah Anda.

Klik tab Service Area List di halaman utama produk. Gunakan kolom Region ID dan Service Address untuk menemukan titik akhir yang benar untuk setiap wilayah. Misalnya, titik akhir untuk SMS di wilayah Tiongkok Daratan adalah dysmsapi.aliyuncs.com.

Apa yang harus saya lakukan jika pesan error berikut dikembalikan: File "/usr/local/python3/lib/python3.6/site-packages/alibabacloud_slb20140515/client.py", line 4, in <module> from Tea.core import TeaCore ModuleNotFoundError: No module named 'Tea'?

Pesan error ini muncul karena versi pip sudah usang. Dalam kasus ini, dependensi yang diinstal tidak lengkap atau dependensi tertentu dihapus. Anda dapat memperbarui pip dan menjalankan perintah pip install <Installation package> untuk memperbaiki error ini. Misalnya, jalankan perintah pip install alibabacloud-tea untuk menginstal modul Tea.

Penting

Saat error ini terjadi, sistem mungkin menjalankan perintah pip install tea untuk menginstal paket yang tidak relevan. Anda dapat memeriksa organisasi atau individu yang merilis paket tersebut di repositori Python Package Index (PyPI) dan mempertimbangkan untuk menghapus paket tersebut.

Pertanyaan 13: Apa yang harus saya lakukan jika pesan error berikut dikembalikan: Command "python setup.py egg_info" failed with error code 1 in xxx?

Pesan error ini muncul karena versi Python atau pip sudah usang, atau pustaka atau paket yang diperlukan belum diinstal. Akibatnya, SDK tidak dapat berfungsi sebagaimana mestinya.

Solusi
  1. Periksa versi Python saat ini.

    Jalankan perintah python -V atau python3 -V untuk memeriksa versi Python saat ini. Jika versi Python lebih lama dari 3.7, lakukan langkah-langkah berikut untuk memperbarui Python. Anda dapat mengunjungi situs resmi Python untuk mendapatkan URL unduhan versi Python terbaru dan petunjuk instalasi.

    Perbarui Python

    1. Instal tool dan pustaka yang dibutuhkan oleh Python.

      sudo yum groupinstall "Development Tools" -y
      sudo yum install openssl-devel bzip2-devel libffi-devel -y
    2. Unduh versi Python yang diperlukan dari situs resmi Python. Dalam contoh ini, digunakan Python 3.7.12.

      sudo curl -O https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz
    3. Ekstrak paket instalasi.

      sudo tar xzf Python-3.7.12.tgz
    4. Kompilasi dan instal Python.

      cd Python-3.7.12
      sudo ./configure --enable-optimizations
      sudo make altinstall
    5. Verifikasi versi Python.

      python3.7 --version
    6. Jalankan perintah berikut untuk memperbarui pip untuk Python versi baru:

      python3.7 -m ensurepip
      python3.7 -m pip install --upgrade pip
  2. Jika versi Python adalah 3.7 atau lebih baru, kemungkinan penyebabnya adalah versi pip sudah usang. Jalankan perintah pip3 install --upgrade pip setuptools untuk memperbarui pip ke versi terbaru. Kemudian, coba jalankan kembali kode Python.

  3. Periksa dan instal pustaka yang diperlukan.

    Jika versi Python adalah 3.7 atau lebih baru dan masalah tetap terjadi setelah pip diperbarui, kemungkinan penyebabnya adalah pustaka terkait belum diinstal. Dalam beberapa kasus, jika pustaka tertentu tidak diinstal, pustaka lain gagal diinstal. Misalnya, jika Anda ingin menginstal numpy, Anda harus menginstal pustaka matematika terkait seperti blas dan lapack. Jika Anda ingin menginstal lxml, Anda harus menginstal libxml2-dev dan libxslt1-dev.

    Jalankan perintah berikut untuk menginstal pustaka umum. Dalam contoh ini, digunakan lxml dan numpy.

    sudo yum install libxml2-dev libxslt1-dev -y 
    sudo yum install blas-devel lapack-devel -y
    Catatan

    Paket Python adalah modul atau pustaka yang dirancang untuk meningkatkan dan memperluas Python. Paket Python menyediakan alat dan metode tambahan untuk membantu pengembang menyelesaikan tugas tertentu secara mudah dan efisien. Paket yang diperlukan ditentukan oleh kebutuhan proyek tertentu yang sedang Anda kembangkan.

Pertanyaan 14: Apa yang harus saya lakukan jika pesan error "HTTPSConnectionPool(host='ocr-api.cn-hangzhou.aliyuncs.com', port=443): Max retries exceeded with url: /?Country=Vietnam (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2418)')))" dikembalikan?

Dalam kebanyakan kasus, error ini disebabkan oleh kegagalan Proses jabat tangan TLS/SSL. Kemungkinan penyebab:

  • Versi SSL/TLS yang digunakan oleh server dan client tidak kompatibel.

  • Sertifikat SSL pada perangkat lokal mengandung kesalahan. Misalnya, sertifikat SSL telah kedaluwarsa atau rantai sertifikat tidak lengkap.

  • Proses jabat tangan TLS gagal karena kesalahan konfigurasi jaringan.

Solusi:
  1. Periksa versi SSL/TLS: Pastikan lingkungan Python pada perangkat lokal mendukung versi SSL/TLS yang digunakan server untuk berkomunikasi. Dalam beberapa kasus, server hanya mendukung TLS 1.2.

    import ssl
    import urllib3
    # Buat konteks SSL yang menggunakan TLS 1.2.
    ssl_context = ssl.create_urllib3_context(ssl.OP_NO_SSLv2, ssl.OP_NO_SSLv3, ssl.OP_NO_TLSv1, ssl.OP_NO_TLSv1_1)
    # Inisialisasi pengelola pool urllib3.
    http = urllib3.PoolManager(context=ssl_context)
    # Kirim permintaan.
    response = http.request('GET', 'https://ocr-api.cn-hangzhou.aliyuncs.com/?Country=Vietnam')
              
  2. Periksa masalah lingkungan Python:

    1. Pastikan modul ssl dan versi pustaka urllib3 kompatibel dengan versi Python.

    2. Gunakan lingkungan virtual untuk menginstal ulang Python dan dependensinya.

    python -m venv myenv
    source myenv/bin/activate
    pip install requests urllib3 pyOpenSSL
  3. Periksa kesalahan konfigurasi jaringan.

    1. Pastikan firewall pada perangkat lokal mengizinkan traffic ke port HTTPS (port 443).

    2. Jika Anda menggunakan server proxy, pastikan konfigurasinya benar.

    import requests
    # Gunakan proxy
    proxies = {
        'http': 'http://your-proxy-server:port',
        'https': 'https://your-proxy-server:port'
    }
    response = requests.get(
        'https://ocr-api.cn-hangzhou.aliyuncs.com/?Country=Vietnam',
        proxies=proxies
    )
  4. Perbarui pustaka requests dan urllib3 untuk menyelesaikan masalah ini.

    pip install --upgrade requests urllib3
  5. Jika masalah tetap terjadi setelah pembaruan, kemungkinan besar disebabkan oleh sertifikat lingkungan. Konfigurasikan parameter berikut untuk mengabaikan sertifikat dan sesuaikan periode timeout:

    # Abaikan verifikasi sertifikat.
    runtimeOptions = RuntimeOptions(
     ignore_ssl=True # Mengabaikan verifikasi sertifikat SSL. Verifikasi diaktifkan secara default.
    )
    # Sesuaikan timeout.
    runtimeOptions = RuntimeOptions(
        read_timeout=xxx,  # Timeout baca dalam milidetik (ms)
        connect_timeout=xxx  # Timeout koneksi dalam milidetik (ms)
    )
  6. Jika masalah tetap terjadi setelah verifikasi sertifikat SSL dinonaktifkan, atur variabel lingkungan PYTHONHTTPSVERIFY ke 0 untuk menonaktifkan verifikasi sertifikat SSL.

    export PYTHONHTTPSVERIFY=0  # Nonaktifkan verifikasi HTTPS.
  7. Periksa sertifikat SSL pada mesin lokal: Pastikan sertifikat SSL pada mesin lokal mutakhir dan lengkap. Anda dapat menggunakan tool seperti certbot untuk memperbarui dan menginstal sertifikat.

    sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --email yo**@email.com

Error dasar Python

Pesan error

Penyebab

Solusi

SyntaxError

Kode mengandung kesalahan sintaksis, seperti kesalahan penulisan, titik dua yang hilang, atau tanda kurung yang tidak berpasangan.

Periksa kode dan pastikan sintaksisnya valid. Gunakan fitur syntax highlighting pada integrated development environment (IDE) atau editor untuk membantu menemukan kesalahan sintaksis.

NameError

Variabel atau fungsi yang akan digunakan tidak didefinisikan.

Pastikan nama variabel atau fungsi valid dan variabel atau fungsi tersebut telah didefinisikan atau diimpor dengan benar dalam kode.

TypeError

Operasi atau fungsi tidak kompatibel dengan tipe objek yang akan diterapkan.

Periksa tipe data dalam kode dan pastikan operasi atau fungsi tersebut dapat diterapkan pada tipe objek yang bersangkutan. Anda juga dapat menggunakan fungsi konversi tipe untuk menyelesaikan masalah ketidakcocokan tipe.

IndexError

Indeks yang ditentukan tidak ada dalam daftar, tupel, atau string.

Pastikan indeks berada dalam rentang valid objek tersebut. Anda dapat menggunakan pernyataan kondisional atau penanganan exception untuk memeriksa validitas indeks, atau menggunakan fungsi pemeriksaan indeks bawaan seperti len().

ValueError

Nilai parameter dalam fungsi tidak valid.

Pastikan nilai parameter yang ditentukan dalam fungsi memenuhi persyaratan terkait. Anda dapat menggunakan pernyataan kondisional atau penanganan exception untuk memverifikasi validitas nilai parameter.

FileNotFoundError

File yang akan dibuka atau diakses tidak ada.

Pastikan path file yang ditentukan valid dan periksa apakah file tersebut ada. Anda dapat menggunakan pernyataan kondisional atau penanganan exception untuk menangani masalah file yang tidak ada.

ZeroDivisionError

Pembagi bernilai nol.

Sebelum melakukan operasi pembagian, pastikan pembagi tidak bernilai nol. Anda dapat menggunakan pernyataan kondisional atau penanganan exception untuk memeriksa nilai pembagi dan memastikan pembagi tidak bernilai nol.

FloatingPointError

Perhitungan bilangan titik mengambang menghasilkan nilai tak hingga atau not a number (NaN).

Pastikan nilai yang terlibat dalam perhitungan bilangan titik mengambang berada dalam rentang valid. Anda dapat menggunakan fungsi pemeriksaan nilai untuk memverifikasi validitas nilai dan mengambil tindakan yang sesuai jika terjadi exception.

OverflowError

Perhitungan numerik menghasilkan nilai yang melebihi rentang nilai tipe data saat ini.

Periksa tipe data yang digunakan dalam perhitungan numerik dan pastikan tipe data tersebut dapat merepresentasikan rentang nilai hasil perhitungan. Jika Anda perlu menangani nilai numerik besar, Anda dapat menggunakan tipe data yang sesuai atau pustaka pihak ketiga.

BufferError

Data yang akan dibaca atau ditulis melebihi ukuran buffer. Buffer yang akan diakses tidak ada. Operasi pada buffer menyebabkan error kehabisan memori atau out-of-bounds.

Periksa ukuran buffer dan pastikan jumlah data yang akan dibaca atau ditulis tidak melebihi ukuran buffer. Anda dapat menggunakan pernyataan kondisional atau penanganan exception untuk memverifikasi jumlah data dan mengambil tindakan yang sesuai jika data melebihi ukuran buffer.

EOFError

Membaca file kosong atau akhir file.

Periksa konten file dan pastikan data dapat dibaca dari file tersebut. Jika file kosong atau akhir file telah terbaca, exception EOFError akan dilemparkan. Anda dapat menggunakan pernyataan kondisional atau penanganan exception untuk memeriksa konten file dan mengambil tindakan yang sesuai jika file kosong atau akhir file telah terbaca.

Error SDK Python

Pesan error

Penyebab

Solusi

aliyunsdkcore.acs_exception.exceptions.ClientException: SDK.InvalidParameter The parameter region_id not match with ^[a-zA-Z0-9_-]+$

Format parameter region_id untuk inisialisasi client tidak valid.

Masukkan string dalam format cn-<Region>.

SDK.InvalidRegionId

Paket inti versi lama gagal mengenali titik akhir.

Perbarui paket aliyun-python-sdk-core ke versi terbaru dan tentukan ID wilayah yang valid.

SDK.ServerUnreachable

Terjadi error jaringan.

Pada versi SDK terbaru, error ini digantikan oleh error spesifik, seperti SDK.HttpError.

Perbarui paket aliyun-python-sdk-core ke versi terbaru.

SDK.MissingEndpointsFiler

Tidak ada filter titik akhir yang dikonfigurasi.

Konfigurasikan filter titik akhir dan pastikan filter tersebut dapat berfungsi dengan baik.

SDK.UnknownServerError

Terjadi error server yang tidak diketahui.

Kirim ulang permintaan.

SDK.InvalidSessionExpiration

Waktu kedaluwarsa sesi tidak valid.

Periksa waktu kedaluwarsa sesi dan pastikan nilainya valid. Jika sesi telah kedaluwarsa, Anda harus memperbarui sesi atau memperoleh kredensial sesi lagi.

SDK.NotSupport

Fitur tersebut tidak didukung.

Pastikan versi SDK yang Anda gunakan mendukung fitur yang diperlukan.

SDK.EndpointResolvingError

Terjadi error saat menyelesaikan titik akhir.

Periksa logika penyelesaian titik akhir dan pastikan titik akhir yang valid dapat diselesaikan dan diperoleh dengan benar.

SDK.InvalidServerResponse

Respons yang dikembalikan oleh server tidak valid.

Periksa konten respons yang dikembalikan oleh server dan pastikan respons tersebut memenuhi persyaratan layanan Alibaba Cloud. Anda dapat melihat konten respons untuk memperoleh informasi lebih lanjut dan menyesuaikan konten berdasarkan kebutuhan bisnis Anda.

RequiredArgumentException

Satu atau beberapa parameter yang diperlukan tidak ditentukan.

Periksa parameter yang diperlukan dan pastikan nilainya valid.

UnretryableException

Terjadi error jaringan.

1. Periksa apakah titik akhir yang ditentukan valid.

2. Jalankan perintah ping atau curl untuk memeriksa konektivitas jaringan.

Dukungan teknis

Solusi untuk masalah di atas dapat membantu Anda menggunakan SDK Alibaba Cloud dengan lebih baik. Jika Anda mengalami masalah lain saat menggunakan SDK Alibaba Cloud, hubungi dukungan teknis Alibaba Cloud dengan cara berikut: