閱讀602 返回首頁    go 直播


表格存儲的錯誤信息__開發指南_表格存儲-阿裏雲

本節列舉了表格存儲的 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 限製項匯總__開發指南_表格存儲-阿裏雲