问题描述
SelectObject请求中同时存在Range请求头和请求体XML中的Range节点。
问题原因
您发起了SelectObject请求,在请求头中设置了Range请求头,同时还在请求体XML中通过<Range>设置了要查询的文件内容范围。该接口不支持同时指定Range请求头和<Range>节点。
问题示例
SelectObject请求中指定了Range请求头,同时通过<Range>节点指定了查询范围。
POST /oss-select/bigcsv_normal.csv?x-oss-process=csv%2Fselect HTTP/1.1
Date: Fri, 25 May 2018 22:11:39 GMT
Authorization: OSS qn6q**************:77Dv****************
Range: bytes=1024-2048
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
<?xml version="1.0"?>
<SelectRequest>
<Expression>c2VsZWN0IGNvdW50KCopIGZyb20gb3Nzb2JqZWN0IHdoZXJlIF80ID4gNDU=
</Expression>
<InputSerialization>
<CSV>
<Range>line-range=10-20</Range>
<AllowQuotedRecordDelimiter>false</AllowQuotedRecordDelimiter>
</CSV>
</InputSerialization>
<OutputSerialization>
......
</OutputSerialization>
</SelectRequest>
解决方案
您可以选择以下任意方式指定查询文件的范围。
在请求XML中提供Range节点。
POST /oss-select/bigcsv_normal.csv?x-oss-process=csv%2Fselect HTTP/1.1 Date: Fri, 25 May 2018 22:11:39 GMT Authorization: OSS qn6q**************:77Dv**************** Host: BucketName.oss-cn-hangzhou.aliyuncs.com <?xml version="1.0"?> <SelectRequest> <Expression>c2VsZWN0IGNvdW50KCopIGZyb20gb3Nzb2JqZWN0IHdoZXJlIF80ID4gNDU= </Expression> <InputSerialization> <CSV> <Range>line-range=10-20</Range> </CSV> </InputSerialization> <OutputSerialization> ...... </OutputSerialization> </SelectRequest>
使用Range参数查询文件时,需要包含select meta。更多信息,请参见CreateSelectObjectMeta。
添加Range请求头。
当您查询的目标对象类型为CSV,可以通过AllowQuotedRecordDelimiter参数指定CSV内容是否包含引号中的换行符。当AllowQuotedRecordDelimiter参数取值为false时,SelectObject支持添加Range请求头,实现更高效的分片查询。
POST /oss-select/bigcsv_normal.csv?x-oss-process=csv%2Fselect HTTP/1.1 Date: Fri, 25 May 2018 22:11:39 GMT Authorization: OSS qn6q**************:77Dv**************** Host: BucketName.oss-cn-hangzhou.aliyuncs.com Range: bytes=1024-2048 <?xml version="1.0"?> <SelectRequest> <Expression>c2VsZWN0IGNvdW50KCopIGZyb20gb3Nzb2JqZWN0IHdoZXJlIF80ID4gNDU= </Expression> <InputSerialization> <CSV> <AllowQuotedRecordDelimiter>false</AllowQuotedRecordDelimiter> </CSV> </InputSerialization> <OutputSerialization> ...... </OutputSerialization> </SelectRequest>
相关文档
该文章对您有帮助吗?
- 本页导读 (1)
- 问题描述
- 问题原因
- 问题示例
- 解决方案
- 相关文档