You need to enable JavaScript to run this app.
导航
响应码
最近更新时间:2023.12.25 17:30:10首次发布时间:2021.10.13 16:14:08

本文介绍请求发出后,收到服务端返回的结果中包含的响应状态码和错误码。

状态码

请求返回的服务端状态码和提示信息如下所示。

状态码

说明

2XX

请求成功,服务端返回用户请求的数据。

3XX

重定向相关请求,客户端需要采取其他操作才能完成请求。

4XX

客户端的请求有错误,服务器没有进行新建或修改数据的操作。

5XX

服务端发生错误,用户将无法判断发出的请求是否成功。

错误码

当客户端调用接口出错时,将不会返回结果数据。您可以根据每个接口返回的错误码和错误信息来定位相关问题。 当调用出错时,HTTP请求返回一个3XX、4XX或5XX的HTTP状态码。返回的消息体中是具体的错误代码及错误信息。

错误响应

当错误发生时,返回的消息中会包含如下信息:

  • 错误对应的3XX、4XX或5XX的HTTP状态码。
  • 正文或响应还包含关于错误的信息。以下错误响应示例显示了所有REST错误响应共同的响应元素结构。
    {
        "Code" : "NoSuchKey",
        "Message" : "The resource you requested does not exist",
        "RequestId" : "4442587FB7D0A2F9",
        "HostId" : "",
        "Resource" : "/bucketName/objectName"
    }
    

REST错误消息元素及其对应的含义如下表所示。

名称

说明

Code

错误响应对应的HTTP消息返回码。错误代码是唯一标识错误条件的字符串。

Message

错误响应消息中具体错误详细的英文描述。

RequestId

请求返回的请求ID,可用于错误定位。

HostId

返回该消息的服务端ID。

Resource

该错误相关的桶或对象资源。

许多错误响应包含额外的结构化数据,便于开发人员理解和诊断编程错误。例如,如果您发送的Content-MD5报头带有与服务器上计算的摘要不匹配的REST PUT请求时,您将收到一个BadDigest错误。错误响应信息还包括我们计算的摘要和期望的摘要信息提示。在开发过程中,您可以使用此信息诊断错误。

错误码信息

在向TOS存储系统发送请求后,如果出现错误,在返回的响应体中会包含错误码和对应的描述信息。

错误码

描述

HTTP状态码

处理措施

PermanentRedirect

尝试访问的桶必须使用指定的地址,请将以后的请求发送到这个地址。

301 Moved Permanently

按照返回的重定向地址发送请求。

WebsiteRedirect

Website 请求缺少桶名。

301 Moved Permanently

请求中携带桶名后重试。

TemporaryRedirect

临时重定向,当 DNS 更新时,请求将被重定向到桶。

307 Moved Temporarily

会自动重定向,也可以将请求发送到重定向地址。

CustomDomainAreadyExist

配置了已存在的域。

400 Bad Request

已经配置过了,不需要再配置。

CustomDomainNotExist

删除不存在的域。

400 Bad Request

未配置或已经删除,无需删除。

MalformedError

请求中携带的 XML 格式不正确。

400 Bad Request

使用正确的 XML 格式重试。

MetadataTooLarge

元数据消息头超过了允许的最大元数据大小。

400 Bad Request

减少元数据消息头。

MissingSecurityHeader

请求缺少一个必须的头。

400 Bad Request

提供必要的头域。

EntityTooLarge

上传的对象大小超过允许的最大值。

400 Bad Request

修改 POST 上传的 Policy 中的条件或者减少对象大小。

EntityTooSmall

上传的对象大小超过允许的最小值。

400 Bad Request

修改 POST 上传的 Policy 中的条件或者增加对象大小。

BadDigest

客户端携带的 MD5 与服务端计算的 MD5 不一致。

400 Bad Request

检查头域中携带的 MD5,是否与消息体计算出来的 MD5 一致。

IncompleteBody

由于网络原因或其他问题导致请求体未接受完整。

400 Bad Request

重新上传对象。

InvalidArgument

参数格式错误。

400 Bad Request

根据响应体中的错误提示信息进行修改。

InvalidBucket

请求访问的桶已不存在。

400 Bad Request

更换桶名。

BadDomainName

非法的域名。

400 Bad Request

检查域名,使用合法的域名。

BadRequest

非法的请求参数。

400 Bad Request

根据返回的错误消息体提示进行修改。

InvalidLocationConstraint

创建桶时,指定的 Location 不合法或不存在。

400 Bad Request

指定正确的 Location 创桶。

InvalidPart

一个或多个指定的段无法找到。这些段可能没有上传,或者指定的 Entity Tag 与段的 Entity Tag 不一致。

400 Bad Request

按照正确的段和 Entity Tag 合并段。

PartSizeSmall

禁止合并小于规格的分段(最后一个分段除外)。

400 Bad Request

更新不符合规格的分段。

InvalidPartOrder

无效的段顺序。段列表必须按段号升序排列。

400 Bad Request

按段号升序排列后重新合并。

IllegalLocationConstraintException

在非默认 Region 中创桶,但未带 Location。

400 Bad Request

请求发往默认 Region 创桶或带非默认 Region 的 Location 创桶。

InvalidRedirectLocation

无效的重定向地址。

400 Bad Request

按照响应体中消息提示,指定正确的地址。

InvalidRequest

无效请求。

400 Bad Request

根据返回的错误消息体提示进行修改。

InvalidRequestBody

请求体无效,需要消息体的请求没有上传消息体。

400 Bad Request

按照正确的格式上传消息体。

InvalidTargetBucketForLogging

Logging 操作中有无效的目标桶。

400 Bad Request

对目标桶配置 ACL 权限后重试。

KeyTooLongError

提供的 Key 过长。

400 Bad Request

使用较短的 Key。

InvalidBucketName

无效的桶名,超长或带不允许的特殊字符。

400 Bad Request

更换桶名。

InvalidEncryptionAlgorithmError

错误的加密算法。下载 SSE-C 加密的对象,携带的加密头域错误,导致不能解密。

400 Bad Request

携带正确的加密头域下载对象。

MalformedLoggingStatus

Logging 的 XML 格式不正确。

400 Bad Request

使用正确的 XML 格式重试。

MalformedPolicy

Bucket Policy 检查不通过。

400 Bad Request

根据返回的错误消息体提示结合桶 Policy 的要求进行修改。

MalformedQuotaError

Quota 的 XML 格式不正确。

400 Bad Request

使用正确的 XML 格式重试

MalformedXML

当用户发送了一个配置项的错误格式的 XML 会出现这样的错误。

400 Bad Request

使用正确的 XML 格式重试。

MaxMessageLengthExceeded

拷贝对象,带请求消息体。

400 Bad Request

拷贝对象不带消息体重试。

InvalidPolicyDocument

表单中的内容与策略文档中指定的条件不一致。

400 Bad Request

根据返回的错误消息体提示修改构造表单的 Policy 重试。

MissingRegion

请求中缺少 Region 信息,且系统无默认 Region。

400 Bad Request

请求中携带 Region 信息。

MissingRequestBodyError

当用户发送一个空的 XML 文档作为请求时会发生。

400 Bad Request

提供正确的 XML 文档。

MissingRequiredHeader

请求中缺少必要的头域。

400 Bad Request

提供必要的头域。

MalformedACLError

提供的 XML 格式错误,或者不符合我们要求的格式。

400 Bad Request

使用正确的 XML 格式重试。

TooManyBuckets

用户拥有的桶的数量达到了系统的上限,并且请求试图创建一个新桶。

400 Bad Request

删除部分桶后重试。

TooManyWrongSignature

因高频错误请求被拒绝服务。

400 Bad Request

更换正确的 Access Key 后重试。

UnexpectedContent

该请求需要消息体而客户端没带,或该请求不需要消息体而客户端带了。

400 Bad Request

根据说明重试。

InvalidCallbackArgument

回调参数或自定义变量校验不通过。

400 Bad Request

检查回调参数字段、自定义变量格式、是否 Header 和 Query 包含重复的回调参数或自定义变量。

AccessDenied

没有相应的访问权限。

403 Forbidden

检查配置的权限,是否支持当前操作。

InvalidAccessKeyId

Access Key 在系统中不存在。

403 Forbidden

携带正确的 Access Key。

RequestTimeTooSkewed

请求的时间与服务端的当前时间差异太大。

403 Forbidden

检查客户端时间是否与当前时间相差太大。

SignatureDoesNotMatch

请求中带的签名与系统计算得到的签名不一致。

403 Forbidden

检查你的 Secret Key 和签名计算方法。

NoSuchBucket

指定的桶不存在。

404 Not Found

先创桶再操作。

NoSuchKey

指定的 Key 不存在。

404 Not Found

先上传对象。

NoSuchBucketPolicy

桶 Policy 不存在。

404 Not Found

先配置桶 Policy。

NoSuchUpload

指定的多段上传不存在。Upload ID 不存在,或者多段上传已经终止或完成。

404 Not Found

使用存在的段或重新初始化段。

NoSuchCORSConfiguration

CORS 配置不存在。

404 Not Found

先配置 CORS。

NoSuchLifecycleConfiguration

不存在 LifeCycle 配置。

404 Not Found

先配置桶的 LifeCycle。

NoSuchVersion

请求中指定的 Version ID 与现存的所有版本都不匹配。

404 Not Found

使用正确的 Version ID。

NoSuchWebsiteConfiguration

请求的 Website 不存在。

404 Not Found

先配置 Website。

MethodNotAllowed

指定的方法不允许操作在请求的资源上。

405 Method Not Allowed

方法不允许。

RequestTimeout

用户与 Server 之间的 Socket 连接在超时时间内没有进行读写操作。

408 Request Timeout

检查网络后重试,或联系技术支持。

BucketAlreadyExists

请求的桶名已经存在。桶的命名空间是系统中所有用户共用的,选择一个不同的桶名再重试一次。

409 Conflict

更换桶名。

BucketNotEmpty

用户尝试删除的桶不为空。

409 Conflict

先删除桶中对象,然后再删桶。

BucketAlreadyOwnedByYou

发起该请求的用户已经创建过了这个名字的桶,并拥有这个桶。

409 Conflict

桶已存在,不需要再创桶了。

UpdateConflict

并发更新同一个 Key 冲突

409 Conflict

限制不要并发更新同一个 Key,或联系技术支持。

MissingContentLength

必须要提供 HTTP 消息头中的 Content-Length 字段。

411 Length Required

提供 Content-Length 消息头。

PreconditionFailed

用户指定的先决条件中至少有一项没有包含。

412 Precondition Failed

根据返回消息体中的 Condition 提示进行修改。

InvalidRange

请求携带的 Range 不合法。

416 Client Requested Range Not Satisfiable

携带正确的 Range 重试。

ExceedAccountQPSLimit

超过账户 QPS 限制。

429 StatusTooManyRequests

降低使用该账号做请求的总 QPS,或联系技术支持。

ExceedAccountRateLimit

超过账户带宽限制。

429 StatusTooManyRequests

降低使用该账号做请求的总带宽,或联系技术支持。

ExceedBucketQPSLimit

超过桶 QPS 限制。

429 StatusTooManyRequests

降低请求该桶的 QPS,或联系技术支持。

ExceedBucketRateLimit

超过桶带宽限制。

429 StatusTooManyRequests

降低请求该桶的带宽,或联系技术支持。

InternalError

系统遇到内部错误,请重试。

500 Internal Server Error

请联系技术支持。

ServiceNotImplemented

请求的方法服务端没有实现。

501 Not Implemented

当前不支持,请联系技术支持。

ServiceUnavailable

服务器过载或者内部错误异常。

503 Service Unavailable

等待一段时间后重试,或联系技术支持。

SlowDown

请降低请求频率。

503 Service Unavailable

请降低请求频率。