方法
現在、Table Store Python SDK は Exception
メソッドを採用して、エラー処理をしています。 呼び出されたインターフェイスが例外をスローしない場合、操作は成功します。 例外がスローされると、操作は失敗します。
例外
Table Store Python SDK には、Exception から継承した OTSClientError と OTSServiceError の 2 種類の例外があります。
-
OTSClientError: 不正なパラメーター値や解析結果の返却失敗など、SDK の内部例外を示します。
-
OTSServiceError: サーバーエラーメッセージの解析によって生成されたサーバーエラーを示します。 OTSServiceError には以下のコンポーネントがあります。
-
get_http_status: 返された HTTP コード、例えば 200 または 404です。
-
get_error_code: Table Store から返されたエラータイプの文字列です。
-
get_error_message: Table Store から返されるエラーメッセージ文字列です。
- get_request_id: リクエストを一意に識別する UUID です。 問題が解決しない場合は、RequestId を保存して チケットを起票し、サポートセンターへお問い合わせください。
-
再試行
-
SDK でエラーが発生した場合、システムは操作を再試行します。 デフォルトでは、操作は最大 3 秒間隔で 20 回再試行されます。 スロットルエラーおよび読み取り関連の内部サーバーエラーに対してシステムが操作を再試行する方法については、tablestore/lib/retry.js をご参照ください。
-
RetryPolicy を継承して再試行ポリシーをカスタマイズし、OTSClient オブジェクトを構築するときにそれをパラメーターとして渡すことができます。
- DefaultRetryPolicy: デフォルトの再試行ポリシー。 読み取り操作のみが最大 3 秒間隔で 20 回再試行されます。
- NoRetryPolicy: 再試行しません。
- NoDelayRetryPolicy: 遅延のない再試行ポリシーです。 このポリシーは慎重に使用する必要があります。
- WriteRetryPolicy: 書き込み操作はデフォルトの再試行ポリシーに基づいて再試行されます。