All Products
Search
Document Center

Object Storage Service:0016-00000823

Last Updated:Mar 20, 2026

Problem description

A SelectObject request fails when the Expression element in the <SelectRequest> XML body is empty. Expression is a required field — the request is rejected without a valid value.

Causes

The Expression element in the <SelectRequest> XML body was left blank.

Examples

The following request triggers this error because <Expression> has no value:

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: host name

<?xml version="1.0"?>
<SelectRequest>
    <Expression></Expression>
    <InputSerialization>
         ......
    </InputSerialization>
    <OutputSerialization>
        ......
    </OutputSerialization>
</SelectRequest>

Solutions

Set Expression to the Base64-encoded value of your SQL query.

For example, the SQL statement select count(*) from ossobject where _4 > 45 encodes to c2VsZWN0IGNvdW50KCopIGZyb20gb3Nzb2JqZWN0IHdoZXJlIF80ID4gNDU=.

The following is a corrected request:

POST /oss-select/bigcsv_normal.csv?x-oss-process=csv%2Fselect HTTP/1.1
Date: Fri, 25 May 2018 22:11:39 GMT
Content-Type:
Authorization: OSS qn6q**************:77Dv****************
User-Agent: aliyun-sdk-dotnet/2.8.0.0(windows 16.7/16.7.0.0/x86;4.0.30319.42000)
Content-Length: 748
Expect: 100-continue
Connection: keep-alive
Host: host name

<?xml version="1.0"?>
<SelectRequest>
    <!-- SQL: select count(*) from ossobject where _4 > 45 -->
    <Expression>c2VsZWN0IGNvdW50KCopIGZyb20gb3Nzb2JqZWN0IHdoZXJlIF80ID4gNDU=
    </Expression>
    <InputSerialization>
        <Compression>None</Compression>
        <CSV>
            <FileHeaderInfo>Ignore</FileHeaderInfo>
            <RecordDelimiter>Cg==</RecordDelimiter>
            <FieldDelimiter>LA==</FieldDelimiter>
            <QuoteCharacter>Ig==</QuoteCharacter>
            <CommentCharacter>Iw==</CommentCharacter/>
        </CSV>
    </InputSerialization>
    <OutputSerialization>
        <CSV>
            <RecordDelimiter>Cg==</RecordDelimiter>
            <FieldDelimiter>LA==</FieldDelimiter>
            <QuoteCharacter>Ig==</QuoteCharacter>
        </CSV>
        <KeepAllColumns>false</KeepAllColumns>
        <OutputRawData>false</OutputRawData>
    </OutputSerialization>
</SelectRequest>

References