问题描述
追加请求position请求参数不正确。
问题原因
您发起了AppendObject请求,但是请求参数position的值不正确,即position的值和当前Object的长度不一致。
问题示例
比如您发起了如下请求:
POST /example.log?append&position=32 HTTP/1.1
Content-Length:ContentLength
Content-Type: ContentType
Host: bucketname.oss.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
如果在您发起请求时,example.log的文件长度不是32,此时上述请求会返回该错误。
解决方案
使用HeadObject请求可以查看对AppendObject文件进行追加请求需要使用的position参数:
HEAD /example.log HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 03 Feb 2023 05:57:00 GMT
Authorization: OSS qn6q**************:77Dv****************
HTTP/1.1 200 OK
Date: Fri, 03 Feb 2023 05:57:16 GMT
Content-Type: application/octet-stream
Content-Length: 4
Connection: keep-alive
x-oss-request-id: 63DCA23C5B537C30327581DB
Accept-Ranges: bytes
ETag: A5750CC1A7FD15****A2DC6300000000
Last-Modified: Fri, 03 Feb 2023 05:57:16 GMT
x-oss-object-type: Appendable
x-oss-hash-crc64ecma: 18020588380933092773
x-oss-next-append-position: 4
x-oss-storage-class: Standard
上述响应中x-oss-next-append-position
响应头说明下一次AppendObject请求的position
参数应该是4。
其他注意事项:
由于并发的关系,即使把position的值设置为
x-oss-next-append-position
,该请求依然可能出现该错误。position值为0时,如果没有同名Appendable Object,或者同名Appendable Object长度为0,该请求成功;其他情况均视为position和Object长度不匹配的情形,返回此错误码。
相关文档
文档内容是否对您有帮助?