Tablestore SDK untuk Python menangani kesalahan dalam bentuk pengecualian. Dokumen ini menjelaskan metode penanganan kesalahan, jenis pengecualian, dan kebijakan pengulangan yang digunakan dalam Tablestore SDK untuk Python.
Metode penanganan kesalahan
Tablestore SDK untuk Python menggunakan pengecualian untuk menandai kesalahan. Jika operasi tidak melemparkan pengecualian, operasi tersebut berhasil. Namun, jika operasi melemparkan pengecualian, operasi tersebut gagal.
Operasi batch seperti BatchGetRow dan BatchWriteRow hanya dianggap berhasil jika sistem memverifikasi bahwa tidak ada pengecualian yang dikembalikan dan status setiap baris juga berhasil.
Pengecualian
Saat menggunakan Tablestore SDK untuk Python, dua jenis pengecualian dapat terjadi: OTSClientError dan OTSServiceError. Kedua jenis pengecualian ini merupakan turunan dari Exception.
OTSClientError: Pengecualian internal SDK, seperti nilai parameter tidak valid atau kegagalan dalam menguraikan hasil yang dikembalikan oleh server.
OTSServiceError: Kesalahan server. Saat terjadi kesalahan server, server menguraikan dan mengembalikan pesan kesalahan ke klien. OTSServiceError menyediakan informasi berikut:
get_http_status: Kode status HTTP, seperti 200 dan 404.
get_error_code: String tipe kesalahan yang dikembalikan oleh Tablestore.
get_error_message: String pesan kesalahan yang dikembalikan oleh Tablestore.
get_request_id: UID yang mengidentifikasi permintaan. Jika Anda tidak dapat menyelesaikan masalah, catat ID permintaan dan ajukan tiket.
Kebijakan pengulangan
Tablestore SDK untuk Python secara otomatis mencoba mengulang operasi saat terjadi kesalahan. Dalam kebijakan pengulangan default, jumlah maksimum percobaan ulang adalah 20, dengan interval pengulangan maksimum sebesar 3.000 milidetik. Untuk detail tentang kebijakan pengulangan terkait kesalahan pembatasan dan kesalahan server internal pada operasi tulis, lihat tablestore/retry.py.
Anda juga dapat menyesuaikan kebijakan pengulangan dengan mewarisi kelas RetryPolicy dan memasukkan kebijakan pengulangan kustom saat membuat objek OTSClient.
Tablestore SDK untuk Python menyediakan kebijakan pengulangan berikut:
DefaultRetryPolicy: Kebijakan pengulangan default. Hanya operasi baca yang diulang, dengan jumlah maksimum percobaan ulang sebanyak 20 dan interval pengulangan maksimum sebesar 3.000 milidetik.
NoRetryPolicy: Tidak ada operasi yang diulang.
NoDelayRetryPolicy: Kebijakan pengulangan tanpa penundaan. Gunakan kebijakan ini dengan hati-hati.
WriteRetryPolicy: Operasi baca dan tulis diulang.