すべてのプロダクト
Search
ドキュメントセンター

Tablestore:エラー処理

最終更新日:Dec 28, 2024

Python向けTablestore SDKは、エラーを例外として処理します。このトピックでは、Python向けTablestore SDKのエラー処理方法、例外、および再試行ポリシーについて説明します。

エラー処理方法

Python向けTablestore SDKは、エラーを例外として処理します。操作で例外がスローされない場合、操作は成功です。操作で例外がスローされた場合、操作は失敗です。

説明

BatchGetRowやBatchWriteRowなどのバッチ操作は、システムが例外が返されず、各行のステータスが成功であることを確認した場合にのみ成功します。

例外

Python向けTablestore SDKを使用すると、OTSClientErrorおよびOTSServiceError例外が発生する可能性があります。これら2種類の例外は、Exceptionから継承されます。

  • OTSClientError:無効なパラメーター値やサーバーから返された結果の解析の失敗など、SDK内部の例外です。

  • OTSServiceError:サーバーエラーです。サーバーエラーが発生すると、サーバーはエラーメッセージを解析してクライアントに返します。OTSServiceErrorは、以下の情報を提供します。

    • get_http_status:200や404などのHTTPステータスコード。

    • get_error_code:Tablestoreから返されるエラーステータスを示す文字列。

    • get_error_message:Tablestoreから返されるエラーメッセージの文字列。

    • get_request_id:リクエストを識別するUUID。問題を解決できない場合は、リクエストIDを記録し、チケットを送信してください。

再試行ポリシー

  • Python向けTablestore SDKは、エラーが発生した場合に操作を自動的に再試行します。デフォルトの再試行ポリシーでは、最大再試行回数は20回、最大再試行間隔は3,000ミリ秒です。書き込み操作に関連するスロットリングエラーと内部サーバーエラーの再試行ポリシーについては、tablestore/retry.pyを参照してください。

  • RetryPolicyクラスを継承することで、再試行ポリシーをカスタマイズすることもできます。OTSClientオブジェクトを構築するときに、カスタム再試行ポリシーを渡します。

Python向けTablestore SDKは、以下の再試行ポリシーを提供します。

  • DefaultRetryPolicy:デフォルトの再試行ポリシー。読み取り操作のみが再試行されます。最大再試行回数は20回、最大再試行間隔は3,000ミリ秒です。

  • NoRetryPolicy:操作は再試行されません。

  • NoDelayRetryPolicy:遅延のない再試行ポリシー。このポリシーを使用する場合は注意が必要です。

  • WriteRetryPolicy:読み取りおよび書き込み操作が再試行されます。