阅读602 返回首页    go 小米 go 小米6


表格存储的错误信息__开发指南_表格存储-阿里云

本节列举了表格存储的 API 可能出现的错误类型、描述信息与 HTTP 状态码。

以下列表中列出了表格存储可能返回的错误信息。其中部分错误有可能通过重试解决,此类错误在列表中“重试”列的值为“是”,反之为“否”。

权限验证错误

HTTPStatus ErrorCode ErrorMsg 描述 重试
403 OTSAuthFailed The AccessKeyID does not exist. AccessKeyID 不存在。
403 OTSAuthFailed The AccessKeyID is disabled. AccessKeyID 被禁用。
403 OTSAuthFailed The user does not exist. 该用户不存在。
403 OTSAuthFailed The instance is not found. 该实例不存在。
403 OTSAuthFailed The user has no privilege to access the instance. 没有访问该实例的权限。
403 OTSAuthFailed The instance is not running. 该实例的状态不是运行中(Running)。
403 OTSAuthFailed The user has no privilege to access the instance. 没有访问该实例的权限。
403 OTSAuthFailed Signature mismatch. 签名不匹配。
403 OTSAuthFailed Mismatch between system time and x-ots-date: { Date }. 服务器时间与请求 header 中 x-ots-date 的时间相差超过一定范围。

HTTP 消息错误

HTTPStatus ErrorCode ErrorMsg 描述 重试
413 OTSRequestBodyTooLarge The size of POST data is too large. 用户 Post 请求发送的数据过大。
408 OTSRequestTimeout Request timeout. 客户端完成请求的时间过长。
405 OTSMethodNotAllowed OTSMethodNotAllowedOnly POST method for requests is supported. 仅支持 POST 方式的请求。
403 OTSAuthFailed Mismatch between MD5 value of request body and x-ots-contentmd5 in header. 根据请求 Body 数据计算的 MD5 与请求 header 中包含的 x-ots-contentmd5 值不同。
400 OTSParameterInvalid Missing header: '{HeaderName}'. 请求中缺少必要的 header。
400 OTSParameterInvalid Invalid date format: {Date}. 时间格式不合法。
400 OTSParameterInvalid Unsupported operation: {Operation}. 请求的 URL 中的操作名不合法。

API错误

HTTPStatus ErrorCode ErrorMsg 描述 重试
500 OTSInternalServerError Internal server error. 内部错误。
403 OTSQuotaExhausted Too frequent table operations. 执行 CreateTable/ListTable/DescribeTable/DeleteTable 这些表相关的操作过于频繁。
403 OTSQuotaExhausted Number of tables exceeded the quota. 表的数量超过定额。
400 OTSParameterInvalid The name of primary key must be unique. 建表的主键列名不唯一。
400 OTSParameterInvalid Failed to parse the ProtoBuf message. 请求 Body 中的 PB 数据反序列化失败。
400 OTSParameterInvalid Both read and write capacity unit are required to create table. 建表时必须指定 ReservedThroughput
400 OTSParameterInvalid Neither read nor write capacity unit is set. 更新表时,需要设置读或写预留能力值。
400 OTSParameterInvalid Invalid instance name: '{InstanceName}'. 实例名称不合法。
400 OTSParameterInvalid Invalid table name: '{TableName}'. 表名不合法。
400 OTSParameterInvalid The value of read capacity unit must be in range:[{LowerLimit}, {UpperLimit}] 预留读能力值必须在指定范围内。
400 OTSParameterInvalid The value of write capacity unit must be in range:[{LowerLimit}, {UpperLimit}] 预留写能力值必须在指定范围内。
400 OTSParameterInvalid Invalid column name: '{ColumnName}'. 列名名称不合法。
400 OTSParameterInvalid {ColumnType is an invalid type for the primary key. 主键列类型不合法。
400 OTSParameterInvalid {ColumnTypeis an invalid type for the primary key in GetRange. 在 GetRange 请求中,主键列类型不合法。
400 OTSParameterInvalid {ColumnType is an invalid type for the attribute column. 属性列类型不合法。
400 OTSParameterInvalid The number of primary key columns must be in range: [1, {Limit}]. 主键列的列数不能为 0,不能超出限制。
400 OTSParameterInvalid Value of column '{ColumnName}' must be UTF8 encoding. 此列列值必须为 UTF8 编码。
400 OTSParameterInvalid The length of attribute column: '{ColumnName}' exceeded the MaxLength:{MaxSizewith CurrentLength:{CellSize}. 属性列名长度超出命名最大长度限制。
400 OTSParameterInvalid No row specified in the request of BatchGetRow. BatchGetRow 请求中未指定任何。行
400 OTSParameterInvalid Duplicated table name: '{TableName}'. 在 BatchGetRow 或 BatchWriteRow 操作中包含同名的表。
400 OTSParameterInvalid No row specified in table: '{TableName}'. 在 BatchGetRow 操作中某个表上未指定任何行。
400 OTSParameterInvalid Duplicated primary key:'{PKName}' of getting row #{RowIndex in table '{TableName}'. 在 BatchGetRow 操作中某个表的某行包含同名的主键列。
400 OTSParameterInvalid Duplicated column name with primary key column: '{PKName}' while putting row #{RowIndexin table: '{TableName}'. 在 BatchWriteRow 操作中某个表的执行 PutRow 操作的某行包含与主键列同名的属性列。
400 OTSParameterInvalid Duplicated column name with primary key column: '{PKName}' while updating row #{RowIndexin table: '{TableName}'. 在 BatchWriteRow 操作中某个表的执行 UpdateRow 操作的某行包含与主键列同名的属性列。
400 OTSParameterInvalid “Duplicated column name: '{ColumnName}' while putting row #{Indexin table: '{TableName}'.” 在BatchWriteRow操作中某个表的执行 PutRow 操作的某行包含重复的属性列。
400 OTSParameterInvalid “Duplicated column name: '{ColumnName}' while updating row #{Indexin table: '{TableName}'.” 在 BatchWriteRow 操作中某个表的执行 UpdateRow 操作的某行包含重复的属性列。
400 OTSParameterInvalid No attribute column specified to update row #{RowIndexin table '{TableName}'. 在 BatchWriteRow 操作中更新某个表的某行时未指定属性列。
400 OTSParameterInvalid Invalid condition: {RowExistencewhile updating row #{RowIndexin table : '{TableName}'. 在 BatchWriteRow 操作中更新某个表的某行时,RowExistence 条件不合法。
400 OTSParameterInvalid Duplicated primary key name: '{PKName}'. 主键重复。
400 OTSParameterInvalid Invalid condition: {RowExistencewhile deleting row. 删除行操作时,RowExistence 条件不合法。
400 OTSParameterInvalid The limit must be greater than 0. limit 参数必须大于 0。
400 OTSParameterInvalid Duplicated attribute column name with primary key column: '{ColumnName}' while putting row. 对某行进行写入操作时,包含与主键列同名的属性列。
400 OTSParameterInvalid “Duplicated column name: '{ColumnName}' while putting row.” 对某行进行写入操作时,包含与重复的属性列。
400 OTSParameterInvalid Duplicated attribute column name with primary key column: '{ColumnName}' while updating row. 对某行进行更新操作时,包含与主键列同名的属性列。
400 OTSParameterInvalid No column specified while updating row. 更新行操作时,没有指定需要更新的列。
400 OTSParameterInvalid Duplicated column name: '{ColumnName}' while updating row. 更新行操作时,包含与重复的属性列。
400 OTSParameterInvalid Invalid condition: {RowExistencewhile updating row. 更新行操作时,RowExistence 条件不合法。
400 OTSParameterInvalid Optional field 'v_string' must be set as ColumnType is STRING. 赋值时,传入的列值(可选参数)必须与参数定义的该列数据类型保持一致均为 String。
400 OTSParameterInvalid Optional field 'v_int' must be set as ColumnType is INTEGER. 赋值时,传入的列值(可选参数)必须与参数定义的该列数据类型保持一致均为 Integer。
400 OTSParameterInvalid Optional field 'v_bool' must be set as ColumnType is BOOLEAN. 赋值时,传入的列值(可选参数)必须与参数定义的该列数据类型保持一致均为 Boolean。
400 OTSParameterInvalid Optional field 'v_double' must be set as ColumnType is DOUBLE. 赋值时,传入的列值(可选参数)必须与参数定义的该列数据类型保持一致均为 Double。
400 OTSParameterInvalid Optional field 'v_binary' must be set as ColumnType is BINARY. 赋值时,传入的列值(可选参数)必须与参数定义的该列数据类型保持一致均为 Binary。

表格存储存储相关异常

HTTPStatus ErrorCode ErrorMsg 描述 重试
503 OTSServerBusy Server is busy. TableStore 内部服务器繁忙。
503 OTSPartitionUnavailable The partition is not available. 内部服务器异常,导致表的部分分区不可服务。
503 OTSTimeout Operation timeout. 在 TableStore 内部操作超时。
503 OTSServerUnavailable Server is not available. 在 TableStore 内部有服务器不可访问。
409 OTSRowOperationConflict Data is being modified by the other request. 多个并发的请求写同一行数据,导致冲突。
409 OTSObjectAlreadyExist Requested table already exists. 请求创建的表已经存在。
404 OTSObjectNotExist Requested table does not exist. 请求的表不存在。
404 OTSTableNotReady The table is not ready. 表刚被创建还无法立即提供服务。
403 OTSTooFrequentReservedThroughputAdjustment Capacity unit adjustment is too frequent. 读写能力调整过于频繁。
403 OTSCapacityUnitExhausted Capacity unit is not enough. 该数据分区读写服务能力耗尽。
403 OTSConditionCheckFail Condition check failed. 预查条件检查失败。
400 OTSOutOfRowSizeLimit The total data size of columns in one row exceeded the limit. 该行所有列数据大小总和超出限制。
400 OTSOutOfColumnCountLimit The number of columns in one row exceeded the limit. 该行总列数超出限制。
400 OTSInvalidPK Primary key schema mismatch. 主键不匹配。

最后更新:2016-11-23 16:03:56

  上一篇:go 使用表格存储的 API__开发指南_表格存储-阿里云
  下一篇:go 限制项汇总__开发指南_表格存储-阿里云