問題の説明
SelectObjectリクエストのXML構造のExpression要素の値が無効です。
原因
SelectObjectリクエストを開始しましたが、リクエストのXML構造のExpression要素の値は有効なBase64-encoded値ではありません。
例
次のサンプルリクエストでは、Expression要素の値は123です。これは有効なBase64-encoded値ではありません。
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 LTAI****************:77Dv****************
Range: bytes=1024-2048
Host: host name
<?xml version="1.0"?>
<SelectRequest>
<Expression>123</Expression>
<InputSerialization>
......
</InputSerialization>
<OutputSerialization>
......
</OutputSerialization>
</SelectRequest>
ソリューション
XML構造のExpression要素に値を追加します。 値は、クエリSQL文のBase64-encoded値です。
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 LTAI****************: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>
<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>