全部产品
表格存储

错误处理

更新时间:2017-06-27 10:22:37   分享:   

方式

TableStore Python SDK 目前采用异常的方式处理错误。如果调用接口没有抛出异常,则说明操作成功,否则失败。

注意:批量相关接口,比如 batch_get_row 和 batch_write_row 需要检查每个 row 的状态都是成功后才能保证整个接口调用是成功的。

异常

TableStore python SDK 中有 OTSClientError 和 OTSServiceError 两种异常,他们都最终继承自 Exception。

  • OTSClientError:指 SDK 内部出现的异常,比如参数设置不对,返回结果解析失败等。

  • OTSServiceError:指服务器端错误,它来自于对服务器错误信息的解析。包含以下几个成员:

    • get_http_status:HTTP 返回码,比如200、404等。

    • get_error_code:表格存储返回的错误类型字符串。

    • get_error_message:表格存储返回的错误消息字符串。

    • get_request_id:用于唯一标识该次请求的 UUID。当您无法解决问题时,可以凭这个 RequestId 来请求表格存储开发工程师的帮助。

重试

  • SDK 中出现错误时会自动重试。默认策略是最大重试次数为20,最大重试间隔为3000毫秒。对流控类错误以及读操作相关的服务端内部错误进行的重试,请参考 tablestore/retry.py。

  • 用户也可以通过继承 RetryPolicy 类实现自己的重试策略,在构造 OTSClient 对象的时候,将其作为参数传入。

  • 目前SDK中已经实现的重试策略:
    • DefaultRetryPolicy:默认重试策略,只会对读操作重试,最大重试次数为20,最大重试间隔为3秒。
    • NoRetryPolicy:不进行任何重试。
    • NoDelayRetryPolicy:没有延时的重试策略,慎用。
    • WriteRetryPolicy:在默认重试策略基础上,会对写操作重试。
本文导读目录
本文导读目录
以上内容是否对您有帮助?