Dokumen ini menjawab pertanyaan umum terkait Alibaba Cloud SDK untuk Python dan bertujuan membantu meningkatkan efisiensi pengembangan Anda.
Prasyarat
Python 3.7 atau versi lebih baru telah terpasang.
API Alibaba Cloud dapat diakses dari jaringan Anda.
Ikhtisar
Masalah dan solusi
Bagaimana cara menangani kesalahan AccessKey?
Masalah: Pesan kesalahan berikut muncul setelah menjalankan kode, yang menunjukkan bahwa pasangan AccessKey tidak dikonfigurasi dengan benar.
Alibaba Cloud SDK V2.0: AttributeError: Objek 'NoneType' tidak memiliki atribut 'get_access_key_id'.
Alibaba Cloud SDK V1.0: Error:MissingParameter Parameter input "AccessKeyId" yang wajib untuk memproses permintaan ini tidak diberikan.
Solusi:
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_SECRETWindows
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, konfigurasikan variabel lingkungan sesuai kebutuhan. Untuk informasi lebih lanjut, lihat Konfigurasikan variabel lingkungan di Linux, macOS, dan Windows.
Periksa kesalahan terkait pasangan AccessKey dalam kode.
Contoh permintaan kesalahan:
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'] )Catatanos.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.
PentingUntuk mencegah risiko keamanan, jangan tulis pasangan AccessKey dalam kode online.
Apa yang harus saya lakukan jika SDK gagal dipasang?
Pastikan versi Python yang valid telah terpasang, seperti Python 3.x.
Tambahkan opsi
--upgradesaat memasang SDK dengan perintah pip. Ini memastikan versi terbaru dipasang.
pip install --upgrade <SDK_NAME>Jika Anda mengalami masalah izin selama proses pemasangan, seperti saat memasang SDK di direktori sistem pustaka Python, gunakan opsi
--useruntuk memasang SDK di direktori pengguna alih-alih direktori sistem.
pip install --user <SDK_NAME>Jika beberapa versi Python terpasang di PC Anda, pastikan Anda memasang SDK di versi Python yang digunakan. Misalnya, gunakan
python3alih-alihpythondalam kode dan jalankan perintahpip3.
Apa yang harus saya lakukan jika modul gagal diimpor dan kesalahan ModuleNotFoundError dilaporkan?
Pastikan SDK telah terpasang dengan benar. Kemudian, coba impor modul dalam lingkungan Python.
Mulai interpreter Python.
pythonImpor modul.
import <SDK_NAME>Jika tidak ada kesalahan yang terjadi, SDK telah terpasang dengan benar. Jika kesalahan ModuleNotFoundError atau ImportError terjadi, SDK tidak terpasang dengan benar.
pip install <SDK_NAME>Apa yang harus saya lakukan jika pesan kesalahan "AttributeError: Objek 'CredentialModel' tidak memiliki atribut 'provider_name'" dikembalikan?
Pesan kesalahan ini menunjukkan upaya untuk mengakses atribut provider_name dari objek CredentialModel, tetapi atribut provider_name tidak ada. Dalam banyak kasus, kesalahan ini disebabkan oleh paket alibabacloud_credentials yang sudah ketinggalan zaman, yang menghasilkan ketidakcocokan antara pustaka kelas dan kompilasi operasi API. Penyebab yang mungkin:
Paket dependensi usang: Versi paket
alibabacloud_credentialslebih awal dari versi yang diperlukan oleh atributprovider_namedalam kode.Konflik dependensi: Versi
alibabacloud_credentialsyang salah dimuat karena beberapa paket alibabacloud_credentials ada dalam proyek.Peningkatan dependensi yang salah: Setelah peningkatan, dependensi tidak dipasang ulang atau cache tidak dibersihkan. Akibatnya, versi dependensi sebelumnya masih digunakan.
Solusi:
Dalam file
requirements.txt, atur paket dependensi alibabacloud_credentials ke versi terbaru. Contoh:alibabacloud_credentials=1.0.1Jalankan perintah
pip install -r requirements.txt --upgradeuntuk meningkatkan paket dependensi.CatatanUntuk informasi lebih lanjut tentang semua versi yang dirilis dari alibabacloud_credentials, lihat ChangeLog.txt.
Periksa konflik dependensi.
pip list | grep alibabacloud # Jika beberapa versi dependensi ada, hapus versi yang ada dan pasang versi terbaru. Contoh: pip uninstall alibabacloud_credentials pip install alibabacloud_credentials==1.0.1Bersihkan cache dan pasang ulang versi terbaru.
pip cache purge pip install -r requirements.txt --force-reinstall
Apa yang harus saya lakukan jika pesan kesalahan berikut dikembalikan: code: 400, Parameter input "AccesskeyId" yang wajib untuk memproses permintaan ini tidak diberikan?
Pesan kesalahan dikembalikan karena permintaan yang dikirim ke gateway tidak berisi ID AccessKey.
Periksa apakah ID AccessKey Anda telah dikonfigurasi dengan benar saat menggunakan kode sampel lengkap yang diunduh dari OpenAPI Explorer. Konfigurasikan ID AccessKey dan rahasia AccessKey Anda saat memanggil metode utama.

Apa yang harus saya lakukan jika pesan kesalahan berikut dikembalikan: Tea.exceptions.TeaException: Error: SignatureDoesNotMatch.MissingHeader code: 400, Header tanda tangan yang ditentukan "accept;connection;content-type;host;user-agent;x-acs-action;x-acs-content-sha256;x-acs-date;x-acs-signature-nonce;x-acs-version" tidak ditemukan?
Pesan kesalahan dikembalikan karena header Connection diatur ke close untuk mengimplementasikan koneksi singkat saat memanggil layanan dalam mode penandatanganan mandiri. Namun, metode tanda tangan V3 tidak kompatibel dengan pengaturan ini, yang menghasilkan kesalahan.
Anda dapat memperbaiki kesalahan ini dengan menggunakan pengaturan berikut: config.signature_algorithm = 'v2'.
Apa yang harus saya lakukan jika pesan kesalahan berikut dikembalikan: Tea.exceptions.TeaException: Koneksi dibatalkan?
Pesan kesalahan dikembalikan karena interval permintaan lebih lama dari yang diharapkan. Server hanya menjaga koneksi persisten selama 30 detik, sedangkan klien menjaga koneksi secara persisten. Dalam hal ini, server menutup koneksi setelah 30 detik. Jika klien memulai permintaan setelah 30 detik, kegagalan permintaan terjadi.
Atur header Connection ke close untuk mengimplementasikan koneksi singkat.
Konfigurasikan mekanisme ulang untuk memastikan bahwa panggilan diinisiasi dalam 30 detik.
Mekanisme ulang dapat menyebabkan beberapa operasi jika permintaan dikirim dan diproses berkali-kali. Oleh karena itu, kami sarankan Anda mengonfigurasi mekanisme ulang untuk permintaan yang diinisiasi untuk melakukan operasi kueri, tetapi tidak untuk permintaan yang diinisiasi untuk melakukan operasi buat, hapus, atau ubah.
Apa yang harus saya lakukan jika panggilan API habis waktu tunggunya dan pesan kesalahan "requests.exceptions.Timeout" atau "requests.exceptions.ConnectionError" dikembalikan?
Habis waktu tunggu panggilan API dapat disebabkan oleh beberapa faktor. Bagian berikut menggambarkan penyebab umum dan solusi yang sesuai.
Masalah koneksi jaringan
Penyebab: Permintaan tidak dapat mencapai server karena koneksi jaringan antara klien 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 Layanan Pesan Singkat (SMS) API.
Jika perintah habis waktu tunggunya atau tidak menerima respons, periksa kebijakan pemblokiran pada firewall atau router lokal Anda.
Jika respons dikembalikan, kami sarankan Anda menentukan periode timeout yang tepat untuk mencegah kegagalan permintaan yang disebabkan oleh konfigurasi timeout yang tidak tepat. Untuk informasi lebih lanjut, lihat Konfigurasikan periode timeout. Contoh kode:
# Periode timeout hanya berlaku untuk permintaan yang menggunakan RuntimeOptions. runtimeOptions = RuntimeOptions( connect_timeout=5000 # Konfigurasikan periode timeout untuk permintaan koneksi. Unit: milidetik. )
Penyebab 2: Waktu pemrosesan permintaan yang diperpanjang
Penyebab: Waktu untuk memproses permintaan API melebihi periode timeout baca yang ditentukan.
Solusi: Perpanjang periode timeout untukrespons API. Untuk informasi lebih lanjut, lihat Konfigurasikan periode timeout. Misalnya, Anda dapat mengonfigurasi parameter timeout baca untuk memperpanjang periode timeout baca. Contoh kode:
# Periode timeout hanya berlaku untuk permintaan yang menggunakan RuntimeOptions.
runtimeOptions = RuntimeOptions(
read_timeout=10000, # Konfigurasikan periode timeout untuk permintaan baca. Unit: milidetik.
)Apa yang harus saya lakukan jika pesan kesalahan "-bash: python3: command not found" dikembalikan di Linux?
Jika Anda telah memasang Python, pesan kesalahan ini mungkin dikembalikan karena tautan simbolis tidak dikonfigurasi dengan benar.
Saat pengguna mengakses tautan simbolis, pengguna sebenarnya mengakses file yang ditunjuk oleh tautan simbolis. Misalnya, saat menggunakan Python 3, Anda sebenarnya menggunakan interpreter Python 3.12.
Jalankan perintah
which python3 pip3untuk memeriksa apakah tautan simbolis ada dalam sistem. Jika tautan simbolis ada, hapus tautan simbolis.
rm -rf /usr/bin/python3 /usr/bin/pip3Buat tautan simbolis lagi. Temukan direktori instalasi Python, akses direktori bin, dan kemudian temukan pip3.12 dan python3.12. Jalankan perintah berikut untuk membuat tautan simbolis:
sudo ln -s /usr/local/python3/bin/python3.12 /usr/bin/python3
sudo ln -s /usr/local/python3/bin/pip3.12 /usr/bin/pip3Apa yang harus saya lakukan jika "Parameter tidak valid" atau kesalahan "MissingRequiredParameter" dilaporkan saat saya memanggil operasi API?
Dalam contoh ini, operasi SendSms dari Layanan Pesan Singkat (SMS) digunakan.
Masuk ke OpenAPI Explorer. Pergi ke halaman debugging API dari layanan Alibaba Cloud yang ingin Anda panggil. Temukan operasi API yang ingin Anda panggil.
Periksa apakah semua parameter yang diperlukan seperti PhoneNumbers dan SignName telah ditentukan dalam objek permintaan yang dibuat. Dalam contoh ini, objek
SendSmsRequestdigunakan.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 lebih parameter yang diperlukan tidak ditentukan, kesalahan seperti
MissingRequiredParameterdilaporkan. Misalnya, jika parameter PhoneNumbers tidak ditentukan, kesalahan "MissingPhoneNumbers: code: 400" dilaporkan. Dalam hal ini, tentukan parameter berdasarkan pesan kesalahan.

send_sms_request = dysmsapi_20170525_models.SendSmsRequest(
# Nomor ponsel ke mana Anda ingin mengirim pesan teks.
phone_numbers='<YOUR_VALUE>',
# Nama tanda tangan 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 kesalahan "Tea.exceptions.UnretryableException" dilaporkan?
Periksa apakah wilayah yang Anda tentukan mendukung layanan yang ingin Anda panggil. Dalam contoh ini, SMS digunakan. Anda dapat pergi ke halaman utama SMS di OpenAPI Explorer dan melihat titik akhir SMS di berbagai wilayah. Pastikan Anda menentukan titik akhir yang valid.

Apa yang harus saya lakukan jika pesan kesalahan 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: Tidak ada modul bernama 'Tea'?
Pesan kesalahan dikembalikan karena versi pip sudah ketinggalan zaman. Dalam hal ini, dependensi yang terpasang tidak lengkap atau dependensi tertentu dihapus. Anda dapat memperbarui pip dan menjalankan perintah pip install <Installation package> untuk memperbaiki kesalahan ini. Misalnya, jalankan perintah pip install alibabacloud-tea untuk memasang modul Tea.
Saat kesalahan ini terjadi, sistem mungkin menjalankan perintah pip install tea untuk memasang paket yang tidak relevan. Anda dapat memeriksa organisasi atau individu yang merilis paket di repositori Python Package Index (PyPI) dan mempertimbangkan apakah akan menghapus paket tersebut.
Pertanyaan 13: Apa yang harus saya lakukan jika pesan kesalahan berikut dikembalikan: Command "python setup.py egg_info" gagal dengan kode kesalahan 1 di xxx?
Pesan kesalahan ini dikembalikan karena versi Python atau pip sudah ketinggalan zaman, atau pustaka atau paket yang diperlukan belum terpasang. Akibatnya, SDK tidak dapat bekerja seperti yang diharapkan.
Solusi
Periksa versi Python saat ini.
Jalankan perintah
python -Vataupython3 -Vuntuk memeriksa versi Python saat ini. Jika versi Python lebih awal dari 3.7, lakukan langkah-langkah berikut untuk memperbarui Python. Anda dapat pergi ke situs resmi Python untuk mendapatkan URL unduhan versi Python terbaru dan instruksi instalasi.Jika versi Python adalah 3.7 atau lebih baru, penyebab yang mungkin adalah versi
pipsudah ketinggalan zaman. Jalankan perintahpip3 install --upgrade pip setuptoolsuntuk memperbarui pip ke versi terbaru. Kemudian, coba jalankan kode Python lagi.Periksa dan pasang pustaka yang diperlukan.
Jika versi Python adalah 3.7 atau lebih baru dan masalah tetap ada setelah
pipdiperbarui, penyebab yang mungkin adalah pustaka terkait belum dipasang. Dalam beberapa kasus, jika pustaka tertentu tidak dipasang, pustaka lain gagal dipasang. Misalnya, jika Anda ingin memasangnumpy, Anda harus memasang pustaka matematika terkait sepertiblasdanlapack. Jika Anda ingin memasanglxml, Anda harus memasanglibxml2-devdanlibxslt1-dev.Jalankan perintah berikut untuk memasang pustaka reguler. Dalam contoh ini,
lxmldannumpydigunakan.sudo yum install libxml2-dev libxslt1-dev -y sudo yum install blas-devel lapack-devel -yCatatanPaket 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 dengan cara yang nyaman dan efisien. Paket yang diperlukan ditentukan oleh persyaratan proyek tertentu yang sedang Anda kembangkan.
Pertanyaan 14: Apa yang harus saya lakukan jika pesan kesalahan "HTTPSConnectionPool(host='ocr-api.cn-hangzhou.aliyuncs.com', port=443): Maksimum percobaan ulang tercapai dengan url: /?Country=Vietnam (Disebabkan oleh SSLError(SSLEOFError(8, 'EOF terjadi melanggar protokol (_ssl.c:2418)')))" dikembalikan?
Dalam banyak kasus, kesalahan ini disebabkan oleh kegagalan jabat tangan SSL/TLS. Penyebab yang mungkin:
Versi SSL/TLS yang digunakan oleh server dan klien tidak kompatibel.
Sertifikat SSL pada perangkat lokal mengandung kesalahan. Misalnya, sertifikat SSL telah kedaluwarsa atau rantai sertifikat tidak lengkap.
Jabat tangan SSL gagal karena kesalahan konfigurasi jaringan.
Solusi:
Periksa versi SSL/TLS: Pastikan lingkungan Python pada perangkat lokal mendukung versi SSL/TLS yang digunakan server untuk komunikasi. Dalam beberapa kasus, server hanya mendukung TLS 1.2.
import ssl import urllib3 # Buat konteks SSL dan gunakan 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 manajer pool urllib3. http = urllib3.PoolManager(context=ssl_context) # Kirim permintaan. response = http.request('GET', 'https://ocr-api.cn-hangzhou.aliyuncs.com/?Country=Vietnam')Periksa masalah lingkungan
Python:Pastikan modul
ssldan versi pustakaurllib3kompatibel dengan versi Python.Gunakan lingkungan virtual untuk memasang ulang Python dan dependensi Python:
python -m venv myenv source myenv/bin/activate pip install requests urllib3 pyOpenSSLPeriksa kesalahan konfigurasi jaringan.
Pastikan firewall pada perangkat lokal mengizinkan lalu lintas ke port HTTPS (port 443).
Jika proxy digunakan, pastikan konfigurasi proxy 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 )Perbarui pustaka
requestsdanurllib3untuk menyelesaikan masalah.pip install --upgrade requests urllib3Jika masalah tetap ada setelah pembaruan, masalah tersebut mungkin disebabkan oleh sertifikat lingkungan. Konfigurasikan parameter berikut untuk mengabaikan sertifikat dan menyesuaikan periode timeout:
# Nonaktifkan verifikasi sertifikat. runtimeOptions = RuntimeOptions( ignore_ssl=True # Nonaktifkan verifikasi sertifikat SSL. Secara default, verifikasi sertifikat SSL diaktifkan. ) # Sesuaikan periode timeout. runtimeOptions = RuntimeOptions( read_timeout=xxx, # Periode timeout untuk permintaan baca. Unit: milidetik. connect_timeout=xxx # Periode timeout untuk permintaan koneksi. Unit: milidetik. )Jika masalah tetap ada setelah verifikasi sertifikat SSL dinonaktifkan, atur variabel lingkungan
PYTHONHTTPSVERIFYke0untuk menonaktifkan verifikasi sertifikat SSL.export PYTHONHTTPSVERIFY=0 # Nonaktifkan verifikasi HTTPS.Periksa sertifikat SSL pada mesin lokal: Pastikan sertifikat SSL pada mesin lokal sudah diperbarui dan lengkap. Anda dapat menggunakan alat seperti
certbotuntuk memperbarui dan memasang sertifikat.sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --email yo**@email.com
Kesalahan dasar Python
Pesan kesalahan | Penyebab | Solusi |
SyntaxError | Kode mengandung kesalahan sintaks, seperti kesalahan ejaan, kurang tanda titik dua, atau kurung yang tidak berpasangan. | Periksa kode dan pastikan sintaks valid. Gunakan fitur penyorotan sintaks dari lingkungan pengembangan terpadu (IDE) atau editor untuk membantu Anda menemukan kesalahan sintaks. |
NameError | Variabel atau fungsi yang akan digunakan tidak terdefinisi. | Pastikan nama variabel atau fungsi valid dan variabel atau fungsi 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 berlaku untuk tipe objek yang akan diterapkan. 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. Anda dapat menggunakan pernyataan kondisional atau penanganan pengecualian untuk memeriksa validitas indeks, atau gunakan 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 pengecualian untuk memverifikasi validitas nilai parameter. |
FileNotFoundError | File yang akan dibuka atau diakses tidak ada. | Pastikan jalur file yang ditentukan valid dan periksa apakah file ada. Anda dapat menggunakan pernyataan kondisional atau penanganan pengecualian untuk menangani masalah bahwa file tidak ada. |
ZeroDivisionError | Pembagi adalah nol. | Sebelum melakukan operasi pembagian, pastikan pembagi bukan nol. Anda dapat menggunakan pernyataan kondisional atau penanganan pengecualian untuk memeriksa nilai pembagi dan memastikan pembagi bukan nol. |
FloatingPointError | Perhitungan bilangan floating-point menghasilkan hasil tak terbatas atau bukan angka (NaN). | Pastikan nilai yang terlibat dalam perhitungan bilangan floating-point berada dalam rentang valid. Anda dapat menggunakan fungsi pemeriksaan nilai untuk memverifikasi validitas nilai dan mengambil tindakan yang sesuai jika terjadi pengecualian. |
OverflowError | Perhitungan numerik menghasilkan hasil yang melebihi rentang nilai tipe data saat ini. | Periksa tipe data yang digunakan dalam perhitungan numerik dan pastikan tipe data 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 menghasilkan kesalahan kehabisan memori atau keluar dari batas. | Periksa ukuran buffer dan pastikan jumlah data yang akan dibaca atau ditulis tidak melebihi ukuran buffer. Anda dapat menggunakan pernyataan kondisional atau penanganan pengecualian untuk memverifikasi jumlah data dan mengambil tindakan yang sesuai jika data melebihi ukuran buffer. |
EOFError | File kosong atau akhir file dibaca. | Periksa isi file dan pastikan data dapat dibaca dari file. Jika file kosong atau akhir file dibaca, pengecualian EOFError dilemparkan. Anda dapat menggunakan pernyataan kondisional atau penanganan pengecualian untuk memeriksa isi file dan mengambil tindakan yang sesuai jika file kosong atau akhir file dibaca. |
Kesalahan SDK Python
Pesan kesalahan | Penyebab | Solusi |
aliyunsdkcore.acs_exception.exceptions.ClientException: SDK.InvalidParameter Parameter region_id tidak cocok dengan ^[a-zA-Z0-9_-]+$ | Format parameter region_id untuk inisialisasi klien tidak valid. | Masukkan string dalam format cn-<Region>. |
SDK.InvalidRegionId | Paket inti versi sebelumnya gagal mengidentifikasi titik akhir. | Perbarui paket aliyun-python-sdk-core ke versi terbaru dan tentukan ID wilayah yang valid. |
SDK.ServerUnreachable | Kesalahan jaringan terjadi. | Dalam versi SDK terbaru, kesalahan ini digantikan oleh kesalahan 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 dapat bekerja dengan baik. |
SDK.UnknownServerError | Kesalahan server tidak dikenal terjadi. | Kirim permintaan lagi. |
SDK.InvalidSessionExpiration | Waktu kedaluwarsa sesi tidak valid. | Periksa waktu kedaluwarsa sesi dan pastikan itu valid. Jika sesi kedaluwarsa, Anda harus memperbarui sesi atau mendapatkan kredensial sesi lagi. |
SDK.NotSupport | Fitur tidak didukung. | Pastikan versi SDK yang Anda gunakan mendukung fitur yang diperlukan. |
SDK.EndpointResolvingError | Kesalahan terjadi 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 isi respons yang dikembalikan oleh server dan pastikan respons memenuhi persyaratan layanan Alibaba Cloud. Anda dapat melihat isi respons untuk mendapatkan informasi lebih lanjut dan menyesuaikan isi berdasarkan kebutuhan bisnis Anda. |
RequiredArgumentException | Satu atau lebih parameter yang diperlukan tidak ditentukan. | Periksa parameter yang diperlukan dan pastikan nilainya valid. |
UnretryableException | Kesalahan jaringan terjadi. | 1. Periksa apakah titik akhir yang ditentukan valid. 2. Jalankan perintah ping atau curl untuk memeriksa konektivitas jaringan. |
Dukungan teknis
Solusi untuk masalah-masalah di atas dapat membantu Anda menggunakan Alibaba Cloud SDK dengan lebih baik. Jika Anda mengalami masalah lain saat menggunakan Alibaba Cloud SDK, hubungi dukungan teknis Alibaba Cloud dengan menggunakan metode berikut: