错误响应
请求失败时,HTTP 响应状态码为
4xx 或 5xx,响应 Body 为 XML 格式的错误描述:<?xml version='1.0' encoding='utf-8'?><Error><Code>NoSuchBucket</Code><Message>The specified bucket does not exist.</Message><Resource></Resource><RequestId>NjUwMDAwMDAwMDAwMDAwMDAw</RequestId><TraceId></TraceId></Error>
字段说明:
节点名称 | 父节点 | 描述 | 类型 |
Error | 无 | 包含所有的错误信息 | Container |
Code | Error | 错误码,用来定位唯一的错误条件和确定错误场景,具体取值参见下方《错误码列表》一节 | string |
Message | Error | 具体的错误信息。同一 ErrorCode 在不同上下文下的 Message 可能不同 | string |
Resource | Error | 请求的资源 | string |
RequestId | Error | 请求 ID,与响应头部 x-cos-request-id 一致;遇到问题时该 ID 能帮助快速定位 | string |
TraceId | Error | 错误 Trace ID,遇到问题时与 RequestId 一同提供能帮助快速定位 | string |
错误码列表
下表汇总了 Rapid Bucket 对外可能返回的全部错误码。
4XX 类型错误
HTTP 状态码 | 错误码 | 描述 |
400 Bad Request | AnonymousPolicyFull | 存储桶上匿名访问策略数量达到上限 |
400 Bad Request | AttachmentFull | 被授权的账号已附加策略数量达到上限 |
400 Bad Request | BadDigest | 客户端提供的 Content-MD5 值与服务端收到的请求体的 MD5 哈希值不一致 |
400 Bad Request | DirectoryObjectContainsData | 目录对象(Key 以 / 结尾)携带了数据 Body |
400 Bad Request | EntityTooLarge | 上传的对象大小超过接口允许的最大值 |
400 Bad Request | EntityTooSmall | 上传的对象大小不足接口允许的最小值,常见于分块上传中除最后一块以外的分块 |
400 Bad Request | ExpiredToken | 会话临时凭证已过期,需重新调用 CreateSession 获取新凭证后重试(与 InvalidAccessKeyId 区分:后者是凭证不存在) |
400 Bad Request | IncompleteBody | 实际接收到的请求体字节数小于 Content-Length 请求头声明的值 |
400 Bad Request | InvalidArgument | 请求参数取值不合法 |
400 Bad Request | InvalidBucketName | 存储桶名称不合法 |
400 Bad Request | InvalidCopySource | 复制对象源不合法 |
400 Bad Request | InvalidHostname | 请求 Host 不符合 <BucketName-APPID>.cosrapid.<Region>.myqcloud.com 形式 |
400 Bad Request | InvalidObjectName | 对象名称不合法 |
400 Bad Request | InvalidPart | CompleteMultipartUpload 中指定的某个分块不存在,或其 ETag 与服务端记录不一致 |
400 Bad Request | InvalidPartOrder | CompleteMultipartUpload 中分块未按 PartNumber 升序排列 |
400 Bad Request | InvalidRegionName | Host 中的 Region 与目标存储桶所在 Region 不匹配 |
400 Bad Request | InvalidRenameSource | x-cos-rename-source 头部指定的源不合法 |
400 Bad Request | InvalidRequest | 请求不合法(例如 Body 格式错误) |
400 Bad Request | InvalidURI | URI 不合法,无法解析 |
400 Bad Request | MissingRequestBody | 请求体缺失,但接口要求必须携带 |
400 Bad Request | NotSupportedStorageClass | 指定的存储类型不支持,Rapid Bucket 仅支持 RAPID |
400 Bad Request | PolicyFull | 存储桶上策略数量达到上限 |
400 Bad Request | RequestTimeout | 请求超时 |
403 Forbidden | AccessDenied | 鉴权失败、签名过期或调用方对目标资源无权限 |
403 Forbidden | InvalidAccessKeyId | 请求中引用的 Access Key Id 不存在 |
403 Forbidden | SignatureDoesNotMatch | 请求签名与服务端计算结果不一致 |
404 Not Found | NoSuchBucket | 指定的存储桶不存在 |
404 Not Found | NoSuchKey | 指定的对象不存在 |
404 Not Found | NoSuchPolicy | 存储桶未配置策略 |
404 Not Found | NoSuchUpload | 分块上传时指定的 UploadId 不存在,或对应的分块上传已完成、已中止 |
405 Method Not Allowed | MethodNotAllowed | 请求方法不被目标资源支持 |
409 Conflict | BucketAlreadyExists | 创建存储桶时同名存储桶已存在 |
409 Conflict | BucketCreating | 存储桶正在创建中,资源尚未就绪 |
409 Conflict | BucketDeleting | 存储桶正在删除中,资源正在清理 |
409 Conflict | BucketNotEmpty | 删除存储桶时,桶内仍存在对象 |
409 Conflict | BucketUpdating | 存储桶正在更新中,资源状态变更尚未完成 |
409 Conflict | DirAlreadyExists | 待写入路径已存在同名目录对象 |
409 Conflict | DirNotEmpty | 删除的目录对象下还存在子对象 |
409 Conflict | FileAlreadyExists | 上传对象时使用了 x-cos-forbid-overwrite: true 头部,但目标对象已存在 |
416 Requested Range Not Satisfiable | InvalidRange | 请求的对象范围不合法( Range 头部格式错误,或指定的字节范围超出对象大小) |
5XX 类型错误
HTTP 状态码 | 错误码 | 描述 |
500 Internal Server Error | InternalError | 服务端内部错误,请重试或联系管理员 |
501 Not Implemented | NotImplemented | 请求中使用了 Rapid Bucket 当前不支持的功能 |
503 Service Unavailable | ServiceUnavailable | 服务端暂时不可用,请稍后重试 |
503 Service Unavailable | SlowDown | 请求频率过高,请降低调用频率后重试 |