方法

現在、Table Store Python SDK は Exception メソッドを採用して、エラー処理をしています。 呼び出されたインターフェイスが例外をスローしない場合、操作は成功します。 例外がスローされると、操作は失敗します。

batch_get_row や batch_write_row などのバッチ操作インターフェイスは、システムが各行のステータスが正常であることを確認した場合にのみ正常に呼び出されます。

例外

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 オブジェクトを構築するときにそれをパラメーターとして渡すことができます。

SDK には、次の再試行ポリシーがあります。
  • DefaultRetryPolicy: デフォルトの再試行ポリシー。 読み取り操作のみが最大 3 秒間隔で 20 回再試行されます。
  • NoRetryPolicy: 再試行しません。
  • NoDelayRetryPolicy: 遅延のない再試行ポリシーです。 このポリシーは慎重に使用する必要があります。
  • WriteRetryPolicy: 書き込み操作はデフォルトの再試行ポリシーに基づいて再試行されます。