本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

0016-00000816

更新時間:2024-06-07 19:15

問題描述

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, M)
  • 問題描述
  • 問題原因
  • 問題樣本
  • 解決方案
  • 相關文檔
文檔反饋