表格存储常见错误包括权限认证错误、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的时间相差超过一定范围。

403

OTSNoPermissionAccess

You have no permission to access the requested resource, please contact the resource owner

您没有对请求资源的操作权限,请联系资源所有者进行授权。具体操作,请参见 通过RAM Policy为RAM用户授权

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 timestamp, 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换算为秒后在有效版本范围 [max{数据写入时间-有效版本偏差,数据写入时间-数据生命周期},数据写入时间+有效版本偏差) 时,才能成功写入数据。

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.

存在索引的表不能被删除。

400

OTSParameterInvalid

nested field aggregation/groupby must not be recursive.

嵌套类型字段中不能使用多层级GroupBy或Aggregation。

400

OTSParameterInvalid

The number of defined columns must be in range: [0, 32].

预定义列个数不能超过32。

400

OTSParameterInvalid

failed to query index, please check if 'Index' is enabled for query fields.

查询字段没有开启索引。

400

OTSParameterInvalid

[table ttl] must be bigger than or equal search index ttl, but table ttl is xxxx and search index ttl is [ {IndexName} :xxxx]

数据表的TTL必须大于等于多元索引的TTL。

400

OTSInvalidPK

Primary key schema mismatch.

主键不匹配。

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

OTSTunnelServerUnavailable

OTSTrimmedDataAccess Requested stream data is already trimmed or does not exist.

Stream日志过期,数据长时间未拉取。

表格存储相关异常

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.

预查条件检查失败。