表格存储常见错误包括权限认证错误、HTTP信息错误、API错误等,请根据列出的错误码信息处理常见错误。

说明 其中部分错误可以通过重试解决,此类错误在“重试”列的值为“是”,反之为“否”。

权限验证错误

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 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中的操作名不合法。
400 OTSParameterInvalid Can not reserve read capacity unit on capacity. 容量型实例下的表不支持设置留读/写吞吐量。
400 OTSForbiddenUpdateCapacityUnit Your instance is forbidden to update capacity unit. 容量型实例下的表不支持调整留读/写吞吐量。

API错误

HTTPStatus ErrorCode ErrorMsg 描述 重试
500 OTSInternalServerError Internal server error. 内部错误。如果进行多次重试后仍出现该错误,请提交工单。
403 OTSQuotaExhausted Too frequent table operations. 执行表相关的操作过于频繁。
403 OTSQuotaExhausted Number of tables exceeded the quota. 表的数量超过定额。
400 OTSParameterInvalid Invalid instance name: {InstanceName}. 实例名称不合法。
400 OTSParameterInvalid Invalid table name: {TableName}. 表名不合法。
400 OTSParameterInvalid Invalid column name: {ColumnName}. 列名名称不合法。
400 OTSParameterInvalid {ColumnType} is an invalid type for the primary key. 主键列类型不合法。
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:{MaxSize} with Current Length:{CellSize}. 属性列名长度超出命名最大长度限制。
400 OTSParameterInvalid No row specified in the request of BatchGetRow. BatchGetRow请求中未指定任何行。
400 OTSParameterInvalid Duplicated table name: {TableName}. 在BatchGetRow或BatchWriteRow操作中包含同名的表。
400 OTSParameterInvalid Duplicated primary key name: '{PKName}'. 主键重复。
400 OTSParameterInvalid The limit must be greater than 0. limit参数必须大于0。
400 OTSParameterInvalid Duplicated attribute column name with primary key column: {ColumnName}. 对某行进行操作时,包含与主键列同名的属性列。
400 OTSParameterInvalid Rows count exceeds the upper limit:{limit}. 这次写入的行总数超过了最大限制limit。
400 OTSParameterInvalid No version condition is specified while querying row. 查询的时候没有指定版本数。
400 OTSParameterInvalid No row is specified in BatchWriteRow BatchWriteRow操作中没有行数据,目前BatchWriteRow必须至少包含一行。
400 OTSParameterInvalid No operation is specified for table:{TableName} BatchWriteRow操作中对于表TableName没有包含任何操作。
400 OTSParameterInvalid The type of row in batch write operation is invalid BatchWriteRow操作中的行类型不合法。
400 OTSParameterInvalid The modify type is invalid BatchWriteRow操作中的类型不对,目前仅支持PUT、UPDATE和DELETE。
400 OTSParameterInvalid The total data size of BatchWriteRow request exceeds the limit, limit size: {LimitSize}, data size:{UserSize} 一次BatchWriteRow操作中的总大小超过了限制。
400 OTSParameterInvalid Time-to-live is missing while creating table 创建表的时候没有指定TTL值。
400 OTSParameterInvalid MaxVersions is missing while creating table 创建表的时候没有指定最大版本数。
400 OTSParameterInvalid Start and end time must be given at the same time GetRange操作中需要同时指定StartTime和EndTime。
400 OTSParameterInvalid Invalid column type, only STRING,INTEGER,BINARY is allowed. 列类型错误,目前主键列仅支持STRING、INTEGER和BINARY。
400 OTSParameterInvalid Invalid column type: {ColumnType} 列类型不合法。
400 OTSParameterInvalid Invalid return type: {ReturnType} 返回类型不合法。
400 OTSParameterInvalid Invalid condition:{Condition} 指定的条件不合法。
400 OTSParameterInvalid The value of read capacity unit can not be less than {Limit} 读CU值不能小于Limit。
400 OTSParameterInvalid The value of write capacity unit can not be less then {Limit} 写CU值不能小于Limit。
400 OTSParameterInvalid AUTO_INCREMENT primary key must be integer 只有整数列可以被设置为自增列。
400 OTSParameterInvalid AUTO_INCREMENT primary key count must <= 1 最多只能设置一个自增列。
400 OTSParameterInvalid Column value cannot be given when type is DELETE_ONE_VERSION,DELETE_ALL_VERSION 当使用了DELETE_ONE_VERSION或DELETE_ALL_VERSION等删除操作时,不能设置属性值。
400 OTSParameterInvalid Timestamp must be given when type is DELETE_ONE_VERSION 当删除一个版本时必须设置版本号。
400 OTSParameterInvalid Timestamp cannot be given when type is DELETE_ALL_VERSION 当删除所有版本时不能设置版本号。
400 OTSParameterInvalid No name is given for attribute column 属性列缺少名字。
400 OTSParameterInvalid No value is given for column name 属性列缺少值。
400 OTSParameterInvalid OpType cannot be given for column name:{ColumnName} in PutRow PutRow时不能指定操作类型,只有UpdateRow才需要指定操作类型。
400 OTSParameterInvalid Attribute column is missing 缺少属性列。
400 OTSParameterInvalid The number of attribute columns exceeds the limit, limit count:{Limit} , column count: {Count} 列的个数超过了Limit限制。
400 OTSParameterInvalid The length of primary key column: {ColumnName} exceeds the MaxLength: {Limit} with CurrentLength: {Current} 主键的长度超过了限制。
400 OTSParameterInvalid No name is given for primary key 主键列中没有设置名字。
400 OTSParameterInvalid No value is given for primary key name:{PkName} 主键列没有设置值。
400 OTSParameterInvalid OpType cannot be given for primary key name :{PkName} 主键中不能指定操作类型。
400 OTSParameterInvalid Timestamp cannot be given for primary key name:{PkName} 主键中不能指定时间戳。
400 OTSParameterInvalid Duplicated primary key name: {PkName} 主键重复。
400 OTSParameterInvalid Attribute column cannot be given while reading data 读取数据的时候不需要指定列值。
400 OTSParameterInvalid Delete marker cannot be given 非Delete时都不能指定DeleteMarker。
400 OTSParameterInvalid The number of columns from the request exceeds the limit, limit count: {Limit} , column count:{current} 请求的列的个数超过限制。
400 OTSParameterInvalid Timestamp must be in range [0, INT64_MAX/1000) 时间戳必须大于等于0,小于INT64_MAX/1000。
400 OTSParameterInvalid TimeToLive cannot be 0 or less than -1 TTL不能设置为0或者小于-1的值,但可以设置为-1。
400 OTSParameterInvalid The maximum versions cannot be less than or equal to 0 最大版本数不能小于等于0。
400 OTSParameterInvalid Specific timestamp cannot be less than 0 指定的时间戳不能小于0。
400 OTSParameterInvalid The maximum deviation must be in range [0, INT64_MAX/1000000] 最大版本偏差的值必须位于整个范围内。
400 OTSParameterInvalid Deserialize filter failed 反序列化filter失败,原因是SDK组装的filter格式不正确。
400 OTSParameterInvalid Offset in ColumnPaginationFilter must be greater than or equal to 0 ColumnPaginationFilter过滤器的offset必须大于等于0。
400 OTSParameterInvalid Limit in ColumnPaginationFilter must be greater than 0 ColumnPaginationFilter过滤器的Limit必须大于等于0。
400 OTSParameterInvalid Deserialize relation filter failed 反序列化单列过滤器失败,原因可能是SDK中组装的filter格式不正确。
400 OTSParameterInvalid Deserialize composite filter failed 反序列化组合过滤器失败,原因可能是SDK中组装的filter格式不正确。
400 OTSParameterInvalid Deserialize column pagination filter failed. 反序列化宽行过滤器失败,原因可能是SDK中组装的filter格式不正确。
400 OTSParameterInvalid The count of filter exceeds the max:{Limit} 过滤器的个数超过了限制。
400 OTSParameterInvalid Specific tiemstamp and max versions cannot be given at the same time 单个时间戳和最大版本数不能同时存在,只能存在一个。
400 OTSParameterInvalid Specific tiemstamp and time range cannot be given at the same time 单个时间戳和时间戳范围不能同时存在,只能存在一个。
400 OTSParameterInvalid Specific tiemstamp, time range and max versions cannot be given at the same time 单个时间戳、时间戳范围和最大版本数不能同时存在,只能存在一个。
400 OTSParameterInvalid Duplicated attribute column name with primary key column:{PkName} 属性列重复。
400 OTSParameterInvalid The total data size of PutRow request exceeds the limit, limit size: {Limit} , data size: {Current} PutRow操作的数据大小超过限制。
400 OTSParameterInvalid The total data size of UpdateRow request exceeds the limit, limit size: {Limit} , data size: {Current} UpdateRow操作的数据大小超过限制。
400 OTSParameterInvalid No parameter is specified in table options TableOption中没有指定任何参数。
400 OTSParameterInvalid Input encoded PK broken, invalidate cell key type:xx 编码的PlainBuffer不合法,cell类型错误。
400 OTSParameterInvalid Input encoded PK broken, length is shorter than expect 编码的PlainBuffer不合法,长度和预期不一致。
400 OTSParameterInvalid PKAutoIncr can't be used for read operations 读操作时不能指定自增属性。
400 OTSParameterInvalid Begin key must less than end key in FORWARD 前向查询中,开始键必须小于结束键。
400 OTSParameterInvalid Begin key must more than end key in BACKWARD 反向查询中,开始键必须大于结束键。
400 OTSParameterInvalid Repeated rows do not support row exist expectation check in BatchModify BatchWriteRow中重复的行操作不支持行存在条件检查。
400 OTSParameterInvalid Repeated rows do not support row condition check in BatchModify BatchWriteRow操作中不允许重复行存在条件更新。
400 OTSParameterInvalid PK column size not the same for all rows in table: {TableName} 不同行中的主键的个数不一致。
400 OTSParameterInvalid Duplicate rows detected in MultiPut 存在重复行。
400 OTSParameterInvalid Duplicate rows detected in MultiGet 存在重复行。
400 OTSParameterInvalid Column does not exist:{ColumnName} 列不存在。
400 OTSParameterInvalid Invalid max scan size: {Limit} 范围查询的limit超过限制。
400 OTSParameterInvalid data format is invalid PlainBuffer编码的行数据不合法。
400 OTSParameterInvalid double can not be used as primary key 主键中不能使用double。
400 OTSParameterInvalid data format is invalid, unknown variant type occured PlainBuffer编码的行数据不合法,出现了非法的值类型。
400 OTSParameterInvalid Parse PBMessage from RawString failed 反序列化protobuf失败,可能是SDK序列化代码错误。
400 OTSParameterInvalid Cell data broken, mismatch header, actual: {Header} , expect: {Header} PlainBuffer编码的行数据不合法,预期的Header不一致。
400 OTSParameterInvalid Cell data broken, PK value cannot be NULL, name: {PkName} PlainBuffer编码的行数据不合法,PkName对应的主键的值为空。
400 OTSParameterInvalid Cell data broken, PK is empty PlainBuffer编码的行数据不合法,缺少主键。
400 OTSParameterInvalid Cell data broken, no PK follow PKTag PlainBuffer编码的行数据不合法,主键标志后面没有按预期出现主键内容。
400 OTSParameterInvalid Cell data broken, attr has no name PlainBuffer编码的行数据不合法,属性列缺少名字。
400 OTSParameterInvalid Cell data broken, attr has no value, name:{Name} PlainBuffer编码的行数据不合法,属性列缺少值。
400 OTSParameterInvalid Cell data broken, no Cells follow CellTag PlainBuffer编码的行数据不合法,Cell标识后没有按预期出现Cell内容。
400 OTSParameterInvalid Cell data broken, no valid element in Cell, name: {Name} PlainBuffer编码的行数据不合法,Cell格式混乱。
400 OTSParameterInvalid Cell data broken, cell is not end with checksum[{0x0A}]"] tag. PlainBuffer编码的行数据不合法,Cell编码结束时没有按照预期出现CheckSumFlag。
400 OTSParameterInvalid Cell data broken, row is not end with checksum tag PlainBuffer编码的行数据不合法,行数据编码结束时没有按照预期出现CheckSumTag。
400 OTSParameterInvalid Cell data broken, mismatch tag, actual tag({TAG}), expect({TAG}) PlainBuffer编码的行数据不合法,预期的Tag没有出现。
400 OTSParameterInvalid Cell data broken, wrong string format, size: {Size} PlainBuffer编码的行数据不合法,字符串编码格式错误。
400 OTSParameterInvalid Invalid Capacity Unit for UpdateTable: Either read({CU}) or write({CU}) should be non-negative 读写CU都应该大于等于0。
400 OTSParameterInvalid Auto increment pk must be integer, name: {PkName} 自增列的类型必须是整数。
400 OTSParameterInvalid Cannot deserialize the request data 无法反序列化请求中的数据,原因可能是空值或格式不合法。
400 OTSParameterInvalid Invalid row: missing checksum PlainBuffer编码的行数据不合法,缺少行的checksum值。
400 OTSParameterInvalid Invalid Column({ColumnName}): missing checksum. PlainBuffer编码的列数据不合法,缺少Cell的checksum值。
400 OTSParameterInvalid Cell data broken, checksum is mismatch, {UserChecksum}{SeviceChecksum} PlainBuffer编码的行数据不合法,用户的UserChecksum和服务器计算的SeviceChecksum不一致。
400 OTSParameterInvalid Cell data broken, has more data in cell, but they can't be parsed PlainBuffer编码的列数据不合法,存在非预期的过多数据存在。
400 OTSParameterInvalid NaN can't be set to double value Double类型不能设置为NaN值。
400 OTSParameterInvalid Infinity can't be set to double value Double类型不能设置为Infinity值。
400 OTSParameterInvalid Invalid max versions: {Version} . Reason: Max versions must be positive 最大版本数不合法,应该大于0或者等于-1。
400 OTSParameterInvalid invalid range, the begin's type is different from the end's,{BeginType}{EndType} 范围查询中的起始键类型和结束键类型不一致。
400 OTSParameterInvalid Invalid offset of Filter: {Filter} . Reason: Offset must be nonnegative. 过滤器中的offset必须大于等于0。
400 OTSParameterInvalid Invalid Capacity Unit:{CU} . Capacity Unit must be nonnegative. CU值必须大于等于0。
400 OTSParameterInvalid Unknown or unsupported CellType in primary key: {PkName} 主键的Cell类型无法识别。
400 OTSParameterInvalid Invalid boolean real value, value length: {Length} PlainBuffer编码的列数据不合法,Bool类型的值长度不合法。
400 OTSParameterInvalid invalid name of column: empty name 属性列的名字不能为空。
400 OTSParameterInvalid Invalid ModifyType:{ModifyType} 更新类型不合法。
400 OTSParameterInvalid Invalid relation operator: {Operation} 关系运算符不合法。
400 OTSParameterInvalid Invalid type of filter: {Type} 过滤器的类型不合法。
400 OTSParameterInvalid Invalid NOT operator: the number of sub-filters must be 1 NOT运算符只允许有一个子过滤器。
400 OTSParameterInvalid Invalid AND/OR operator: the number of sub-filters must be 2 AND和OR运算符都只需要有两个子过滤器。
400 OTSParameterInvalid Invalid type of sub-filter: {Filter} 子过滤器的类型不合法。
400 OTSParameterInvalid {Count} pk auto increment exist in row 多个PK自增列存在。
400 OTSParameterInvalid Invalid action: {Action} 非法的操作类型。
400 OTSParameterInvalid Invalid row-existence expectation: {Expectation} 指定的行存在性值不合法。
400 OTSParameterInvalid Invalid row to delete which with pk auto increment 删除时不能设置自增列属性。
400 OTSParameterInvalid Invalid expect:{RowExpect} when modify row with pk auto increment 使用主键列自增时,指定的行存在性值不合法。
400 OTSParameterInvalid Can't set condition when modify row with pk auto increment 使用主键列自增时,不能设置ConditionUpdate。
400 OTSParameterInvalid Invalid expect: {RowExpect} when modify a specific row for table with pk auto increment 修改主键列自增表的特定一行时,指定的行存在性条件不合法。
400 OTSParameterInvalid Invalid cell: {Cell} . missing timestamp 缺少时间戳。
400 OTSParameterInvalid Invalid cell timestamp: {Timestamp}. Expect: [0, Version::kMax.mVersion / kUsecPerMsec] 指定的时间戳不合法。
400 OTSParameterInvalid Invalid timestamp. Cell:{CellName} 指定的时间戳(单位为毫秒)除以1000换算为秒后在有效版本范围[数据写入时间-有效版本偏差,数据写入时间+有效版本偏差)时,才能成功写入数据。
400 OTSParameterInvalid Invalid timestamp for cell: {Timestamp} . timestamp is inapplicable to DELETE_ALL_VERSION 当使用DELETE_ALL_VERSION删除所有版本时不能指定版本。
400 OTSParameterInvalid Invalid op type of cell: {OpType} 非法的操作类型。
400 OTSParameterInvalid Invalid cell: {Cell}. Reason: missing value Cell非法,缺少值。
400 OTSParameterInvalid Invalid request of delete row: missing RowDeleteMarker in request 删除请求中没有包含RowDeleteMarker。
400 OTSParameterInvalid Invalid request of put/update row: unexpected RowDeleteMarker in request. PutRow和UpdateRow不能包含RowDeleteMarker。
400 OTSParameterInvalid Invalid update row request: missing cells in request UpdateRow中缺少属性列值。
400 OTSParameterInvalid Invalid delete row request: unexpected cells in request DeleteRow中不应该出现属性列的值。
400 OTSParameterInvalid Invalid request of put row: find cells without values PutRow中属性列缺少值。
400 OTSParameterInvalid Can not reserve read capacity unit on hybrid storage cluster: {TableName} 混合存储类型实例不能设置预留读CU。
400 OTSParameterInvalid Can not reserve write capacity unit on hybrid storage cluster: {TableName} 混合存储类型实例不能设置预留写CU。
400 OTSParameterInvalid First primary key can't be auto increment, table: {TableName} 第一个主键不能设置为自增列。
400 OTSParameterInvalid PkAutoIncr cannot be set as first pk column 自增列不能设置为第一个主键列。
400 OTSParameterInvalid the count of auto-incremental primary keys can not be more than 1 自增列的个数不能超过1。
400 OTSParameterInvalid Can't write index table directly 不允许对索引表进行写操作。
400 OTSParameterInvalid Try to call method using explicit transaction on explicit-transaction-disabled table 表没有开通局部事务。
400 OTSParameterInvalid Table[tablename] who has at least one search index cannot be deleted 存在索引的表不能被删除。

表格存储相关异常

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 OTSTooFrequentReserved ThroughputAdjustment 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. 主键不匹配。