当用户访问OSS出现错误时,OSS会返回给用户一个HTTP状态码,以及application/xml格式的消息体,便于用户定位问题,并做出适当的处理。
错误响应消息体
错误响应的消息体示例如下:
<?xml version="1.0" ?> <Error xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”> <Code> AccessDenied </Code> <Message> Query-string authentication requires the Signature, Expires and OSSAccessKeyId parameters </Message> <RequestId> 1D842BC54255**** </RequestId> <HostId> oss-cn-hangzhou.aliyuncs.com </HostId> </Error>
所有错误的消息体中都包含以下几个元素:
Code
:OSS返回给用户的错误码。Message
:OSS给出的详细错误消息。RequestId
:用于唯一标识该次请求的UUID。您可以凭借此Request ID请求协助,排查并解决您遇到的问题。有关获取Request ID的多种方式,请参见如何获取Request ID。HostId
:用于标识访问的OSS集群,与用户请求时使用的Host一致。
错误请求和返回示例
如果在OSS支持的操作中添加了OSS不支持的参数,例如PUT操作中添加了If-Modified-Since参数,OSS将返回400 Bad Request
错误。
错误请求示例如下:
PUT /abc.zip HTTP/1.1 Host: bucketname.oss-cn-shanghai.aliyuncs.com Accept: */* Date: Thu, 11 Aug 2019 01:44:50 GMT If-Modified-Since: Thu, 11 Aug 2019 01:43:51 GMT Content-Length: 363
返回示例如下:
HTTP/1.1 400 Bad Request Server: AliyunOSS Date: Thu, 11 Aug 2019 01:44:54 GMT Content-Type: application/xml Content-Length: 322 Connection: keep-alive x-oss-request-id: 57ABD896CCB80C366955**** x-oss-server-time: 0 <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>NotImplemented</Code> <Message>A header you provided implies functionality that is not implemented.</Message> <RequestId>57ABD896CCB80C366955****</RequestId> <HostId>bucketname.oss-cn-shanghai.aliyuncs.com</HostId> <Header>If-Modified-Since</Header> </Error>
更多OSS错误码信息,请参见OSS错误中心。
常见错误排查
更多错误排查
请查阅OSS各手册中的“常见问题“章节获取更多错误排查信息。以下列举了常见的SDK和工具类错误排查: