MSS错误码响应

当用户访问 MSS 出现错误时,MSS 会返回给用户相应的错误码和错误信息,便于用户定位问题,并做出适当的处理。

MSS的错误响应格式

当用户访问MSS出错时,MSS会返回给用户的内容中,会在头部包含 Content-Type: application/xml、以及一个合适的3xx,4xx或者5xx的 HTTP 状态码;以及一个 application/xml 格式的消息体。
错误响应的消息体例子:

<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>NoSuchKey</Code>
  <Message>The resource you requested does not exist</Message>
  <Resource>Bucket:mybucket, Object:myfoto.jpg</Resource>
  <RequestId>1511763734421829</RequestId>
  <HostId>7c2a9306140c7c00b7f3da9e7f15893a<HostId/>
</Error>

所有错误的消息体中都包括以下几个元素:

  • Code:MSS返回给用户的错误码。
  • Message:MSS给出的详细错误信息。
  • RequestId:用于唯一标识该次请求的 UUID;当你无法解决问题时,可以凭这个 RequestId 与集群信息来请求 MSS 开发工程师的帮助。
  • HostId:MSS内部使用信息。

其他特殊的错误信息元素请参照每个请求的具体介绍。

MSS的错误码

MSS的错误码列表如下:

错误码 描述 HTTP状态码 说明
BadDigest 无效的摘要 400 指定的MD5校验值与文件不符,MD5的计算方法请参见PutObject
EntityTooSmall 实体过小 400 Post请求消息长度太短,排除请参看
EntityTooLarge 实体过大 400 -
IncompleteBody 实体长度与头部Content-Length不一致 400 -
nvalidArgument 参数格式错误 400 参数格式不符合要求,请对照相应api文档
InvalidBucketName 无效的Bucket名字 400 Bucket命名规则请参看说明
InvalidDigest 无效的摘要 400 指定的MD5校验值与文件不符,MD5的计算方法请参见PutObject
InvalidPart 无效的Part 400 CompleteMultipartUpload 提交的Part无效,PartNumber或ETag错误
InvalidPartOrder 无效的part顺序 400 CompleteMultipartUpload 提交的Part需按照PartNumber升序排列
InvalidPolicyDocument 无效的Policy文档 400 -
InvalidRequest 无效的请求 400 -
InvalidStorageClass 无效的存储类型 400 -
InvalidToken 无效的token 400 -
InvalidURI 无效的URI 400 -
KeyTooLong Object Key名字太长 400 -
MalformedACLError xml格式非法 400 -
MalformedPOSTRequest Post请求的body格式非法 400 -
MalformedXML xml格式非法 400 -
MetadataTooLarge 请求头太多 400 -
RequestTimeout 请求超时 400 -
AccessDenied 拒绝访问 403 原因及排除请参看权限问题及排查
AccountProblem 账户存在问题 403 -
ExpiredToken Token过期 403 -
InvalidAccessKeyID 无效的AccessKey 403 -
InvalidObjectState 当前object状态不能进行该操作 403 -
InvalidSecurity 鉴权信息无效 403 -
RequestTimeTooSkewed 客户端请求时间与服务器时间差距太大 403 请查看客户端的时区与时间是否与服务器相差
SignatureDoesNotMatch 签名错误 403 -
TooManyBuckets Bucket 数目超过限制 403 -
CDNTokenCheckFailed cdn token 存在问题 403 -
NoSuchTenant Tenant不存在 404 -
NoSuchBucket Bucket不存在 404 -
NoSuchBucketCors Bucket的跨域请求规则不存在 404 -
NoSuchBucketPolicy Bucket的Policy规则不存在 404 -
NoSuchBucketLifecycle Bucket的生命周期不存在 404 -
NoSuchKey Object不存在 404 -
NoSuchUpload Multipart Upload ID不存在 404 没有初始化分片上传或者分片上传状态已改变
NoSuchVersion 不存在指定的版本 404 -
MethodNotAllowed 不支持的方法 405 以MSS不支持的操作来访问资源,请查看API文档
BucketAlreadyExists Bucket已经存在 409 CreateBucket指定的BucketName已经使用,请选择新的BucketName
BucketAlreadyOwnedByYou 请求创建的bucket已经属于你 409 -
BucketNotEmpty 尝试删除的Bucket不为空 409 -
CredentialsNotSupported 请求不支持跨域请求凭据 409 -
MissingContentLength 未携带Content-Length头 411 -
MissingRequestBodyError 请求体为空 411 -
PreconditionFailed 预处理错误 412 下载条件不符合,详见GetObject
InvalidRange GetObject的Range请求参数非法 416 查看GetObject API文档中的Range参数语法
InternalError MSS内部发生错误 500 请重试
ServiceErrorUnknown 未识别的请求 500 检查请求语法与api文档是否一致
NotImplemented 无法处理的方法 501 MSS不支持的操作
ServiceUnavailable 服务不可用 503 -