通用文件系统错误码
调用接口出错后,将不会返回结果数据。调用方可根据每个接口对应的错误码来定位错误原因。 当调用出错时,HTTP请求返回一个3xx,4xx或5xx的HTTP状态码。返回的消息体中是具体的错误代码及错误信息。在调用方找不到错误原因时,可以联系华为云客服,并提供错误码,以便我们尽快帮您解决问题。
错误响应消息格式
当错误发生时,响应消息头中都会包含:
- Content-Type: application/xml
- 错误对应的3xx,4xx或5xx的HTTP状态码。
响应消息体中同样会包含对错误的描述信息。下面的错误响应消息体示例展示了所有REST错误响应中公共的元素。
1 2 3 4 5 6 7 8 9 |
<?xml version="1.0" encoding="UTF-8"?> <Error> <Code>NoSuchKey</Code> <Message>The resource you requested does not exist</Message> <Resource>/example-filesystem/object</Resource> <RequestId>001B21A61C6C0000013402C4616D5285</RequestId> <HostId>RkRCRDJENDc5MzdGQkQ4OUY3MTI4NTQ3NDk2Mjg0M0FB QUFBQUFBYmJiYmJiYmJD</HostId> </Error> |
各元素的具体含义如表1所示。
元素名称 |
描述 |
---|---|
Error |
错误响应消息体XML结构中描述错误信息的根节点元素 。 |
Code |
错误响应消息体XML中错误响应对应的HTTP消息返回码,具体的错误码请参见表2。 |
Message |
错误响应消息体XML中具体错误更全面、详细的英文解释,具体的错误消息请参见表2。 |
RequestId |
本次错误请求的请求ID,用于错误定位。 |
HostId |
返回该消息的服务端ID。 |
Resource |
该错误相关的文件系统或对象资源。 |
许多错误响应包含其他的更丰富的错误信息, 建议将所有错误信息记入日志,方便程序员在诊断程序错误时阅读和理解。
错误码说明
在向SFS系统发出请求后,如果遇到错误,会在响应中包含响应的错误码描述错误信息。通用文件系统的错误码如表2所示。
状态码 |
错误码 |
错误信息 |
处理措施 |
---|---|---|---|
301 Moved Permanently |
PermanentRedirect |
尝试访问的文件系统必须使用指定的地址,请将以后的请求发送到这个地址。 |
按照返回的重定向地址发送请求。 |
301 Moved Permanently |
WebsiteRedirect |
Website请求缺少bucketName。 |
携带文件系统名后重试。 |
307 Moved Temporarily |
TemporaryRedirect |
临时重定向,当DNS更新时,请求将被重定向到文件系统。 |
会自动重定向,也可以将请求发送到重定向地址。 |
400 Bad Request |
BadDigest |
客户端指定的对象内容的MD5值与系统接收到的内容MD5值不一致。 |
检查头域中携带的MD5与消息体计算出来的MD5是否一致。 |
400 Bad Request |
BadDomainName |
域名不合法。 |
使用合法的域名。 |
400 Bad Request |
BadRequest |
请求参数不合法。 |
根据返回的错误消息体提示进行修改。 |
400 Bad Request |
IllegalLocationConstraintException |
用户未带Location在非默认Region创文件系统。 |
请求发往默认Region创文件系统或带非默认Region的Location创文件系统。 |
400 Bad Request |
InvalidArgument |
无效的参数。 |
根据返回的错误消息体提示进行修改。 |
400 Bad Request |
InvalidBucket |
请求访问的文件系统已不存在。 |
更换文件系统名。 |
400 Bad Request |
InvalidBucketName |
请求中指定的文件系统名无效,超长或带不允许的特殊字符。 |
更换文件系统名。 |
400 Bad Request |
InvalidLocationConstraint |
创建文件系统时,指定的Location不合法或不存在。 |
指定正确的Location创文件系统。 |
400 Bad Request |
InvalidPolicyDocument |
表单中的内容与策略文档中指定的条件不一致。 |
根据返回的错误消息体提示修改构造表单的policy重试。 |
400 Bad Request |
InvalidRedirectLocation |
无效的重定向地址。 |
指定正确的地址。 |
400 Bad Request |
InvalidRequest |
无效请求。 |
根据返回的错误消息体提示进行修改。 |
400 Bad Request |
InvalidRequestBody |
请求体无效,需要消息体的请求没有上传消息体。 |
按照正确的格式上传消息体。 |
400 Bad Request |
KeyTooLongError |
提供的Key过长。 |
使用较短的Key。 |
400 Bad Request |
MalformedACLError |
提供的XML格式错误,或者不符合我们要求的格式。 |
使用正确的XML格式重试。 |
400 Bad Request |
MalformedError |
请求中携带的XML格式不正确。 |
使用正确的XML格式重试。 |
400 Bad Request |
MalformedLoggingStatus |
Logging的XML格式不正确。 |
使用正确的XML格式重试。 |
400 Bad Request |
MalformedQuotaError |
Quota的XML格式不正确。 |
使用正确的XML格式重试。 |
400 Bad Request |
MalformedXML |
当用户发送了一个配置项的错误格式的XML会出现这样的错误。 |
使用正确的XML格式重试。 |
400 Bad Request |
MetadataTooLarge |
元数据消息头超过了允许的最大元数据大小。 |
减少元数据消息头。 |
400 Bad Request |
MissingRegion |
请求中缺少Region信息,且系统无默认Region。 |
请求中携带Region信息。 |
400 Bad Request |
MissingRequestBodyError |
当用户发送一个空的XML文档作为请求时会发生。 |
提供正确的XML文档。 |
400 Bad Request |
MissingRequiredHeader |
请求中缺少必要的头域。 |
提供必要的头域。 |
400 Bad Request |
MissingSecurityHeader |
请求缺少一个必须的头。 |
提供必要的头域。 |
400 Bad Request |
TooManyBuckets |
用户拥有的文件系统的数量达到了系统的上限,并且请求试图创建一个新文件系统。 |
删除部分文件系统后重试。 |
400 Bad Request |
TooManyWrongSignature |
因高频错误请求被拒绝服务。 |
更换正确的Access Key后重试。 |
400 Bad Request |
UnexpectedContent |
该请求需要消息体而客户端没带,或该请求不需要消息体而客户端带了。 |
根据说明重试。 |
400 Bad Request |
ContentSHA256Mismatch |
客户端与服务端计算的对象的SHA256值不一致。 |
建议重新确认客户端计算的对象的SHA256的值是否正确。 |
403 Forbidden |
AccessDenied |
拒绝访问,请求没有携带日期头域或者头域格式错误。 |
请求携带正确的日期头域。 |
403 Forbidden |
DeregisterUserId |
用户已经注销。 |
充值或重新开户。 |
403 Forbidden |
InArrearOrInsufficientBalance |
用户欠费或余额不足而没有权限进行某种操作。 |
充值。 |
403 Forbidden |
InvalidAccessKeyId |
系统记录中不存在客户提供的Access Key Id。 |
携带正确的Access Key Id。 |
403 Forbidden |
RequestTimeTooSkewed |
客户端发起请求的时间与OBS服务端的时间相差太大。 出于安全目的,OBS会校验客户端与OBS服务端的时间差,当该时间差大于15分钟时,OBS服务端会拒绝您的请求,从而出现此报错。 |
请检查客户端时间是否与当前OBS服务端时间相差太大。请根据本地UTC时间调整客户端时间后再访问。 |
403 Forbidden |
SignatureDoesNotMatch |
请求中带的签名与系统计算得到的签名不一致。 |
检查你的Secret Access Key和签名计算方法。详细排查方法请参见签名不匹配(SignatureDoesNotMatch)如何处理。 |
403 Forbidden |
VirtualHostDomainRequired |
未使用虚拟主机访问域名。 |
Host使用虚拟主机访问域名。 |
403 Forbidden |
Unauthorized |
用户未实名认证。 |
请实名认证后重试。 |
403 Forbidden |
RequestPayerDenied |
文件系统为请求者付费文件系统。 |
请携带请求者付费的指定头域x-obs-request-payer: requester访问。 |
404 Not Found |
NoSuchBucket |
指定的文件系统不存在。 |
先创文件系统再操作。 |
404 Not Found |
NoSuchLifecycleConfiguration |
请求的LifeCycle不存在。 |
先配置LifeCycle。 |
405 Method Not Allowed |
MethodNotAllowed |
指定的方法不允许操作在请求的资源上。 对应返回的Message为:Specified method is not supported. |
方法不允许。 |
408 Request Timeout |
RequestTimeout |
用户与Server之间的socket连接在超时时间内没有进行读写操作。 |
检查网络后重试,或联系技术支持。 |
409 Conflict |
BucketAlreadyExists |
请求的文件系统名已经存在。文件系统的命名空间是系统中所有用户共用的,选择一个不同的文件系统名再重试一次。 |
更换文件系统名。 |
409 Conflict |
BucketAlreadyOwnedByYou |
发起该请求的用户已经创建过了这个名字的文件系统,并拥有这个文件系统。 |
不需要再创文件系统了。 |
409 Conflict |
BucketNotEmpty |
用户尝试删除的文件系统不为空。 |
先删除文件系统中对象,然后再删文件系统。 |
409 Conflict |
ServiceNotSupported |
请求的方法服务端不支持。 |
服务端不支持,请联系技术支持。 |
411 Length Required |
MissingContentLength |
必须要提供HTTP消息头中的Content-Length字段。 |
提供Content-Length消息头。 |
412 Precondition Failed |
PreconditionFailed |
用户指定的先决条件中至少有一项没有包含。 |
根据返回消息体中的Condition提示进行修改。 |
500 Internal Server Error |
InternalError |
系统遇到内部错误,请重试。 |
请联系技术支持。 |
501 Not Implemented |
ServiceNotImplemented |
请求的方法服务端没有实现。 |
当前不支持,请联系技术支持。 |
503 Service Unavailable |
ServiceUnavailable |
服务器过载或者内部错误异常。 |
等待一段时间后重试,或联系技术支持。 |
503 Service Unavailable |
SlowDown |
请降低请求频率。 |
请降低请求频率。 |