select-object komutu, nesneler üzerinde SQL deyimleri çalıştırmak ve sorgu sonuçlarını almak için kullanılır.
Kullanım notları
Varsayılan olarak bir Alibaba Cloud hesabı nesneler üzerinde işlem yapma iznine sahiptir. Bir RAM kullanıcısıyla veya Security Token Service (STS) kullanarak işlem yapmak için oss:GetObject izni gerekir. Daha fazla bilgi için bkz. Özel bir ilke atama.
Komut sözdizimi
ossutil api select-object --bucket value --key value --select-request value [flags]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select-object komutu SelectObject işlemine karşılık gelir. SelectObject işlemindeki parametreler hakkında daha fazla bilgi için bkz. SelectObject.
--select-request
--select-request yapılandırma seçeneği hem XML hem de JSON biçimlerini destekler. Seçeneğin değeri 'file://' ön eki içeriyorsa yapılandırma parametreleri belirtilen dosyadan okunur.
-
XML biçimi:
<SelectRequest> <Expression>string</Expression> <InputSerialization> <CompressionType>string</CompressionType> <CSV> <Range>string</Range> <AllowQuotedRecordDelimiter>boolean</AllowQuotedRecordDelimiter> <FileHeaderInfo>string</FileHeaderInfo> <RecordDelimiter>string</RecordDelimiter> <FieldDelimiter>string</FieldDelimiter> <QuoteCharacter>string</QuoteCharacter> <CommentCharacter>string</CommentCharacter> </CSV> <JSON> <Range>string</Range> <ParseJsonNumberAsString>boolean</ParseJsonNumberAsString> <Type>string</Type> </JSON> </InputSerialization> <OutputSerialization> <CSV> <RecordDelimiter>string</RecordDelimiter> <FieldDelimiter>string</FieldDelimiter> </CSV> <JSON> <RecordDelimiter>string</RecordDelimiter> </JSON> <KeepAllColumns>boolean</KeepAllColumns> <OutputHeader>boolean</OutputHeader> <OutputRawData>boolean</OutputRawData> <EnablePayloadCrc>boolean</EnablePayloadCrc> </OutputSerialization> <Options> <MaxSkippedRecordsAllowed>integer</MaxSkippedRecordsAllowed> <SkipPartialDataRecord>boolean</SkipPartialDataRecord> </Options> </SelectRequest> -
JSON biçimi:
{ "Options": { "SkipPartialDataRecord": boolean, "MaxSkippedRecordsAllowed": integer }, "Expression": "string", "InputSerialization": { "CompressionType": "string", "CSV": { "FileHeaderInfo": "string", "RecordDelimiter": "string", "FieldDelimiter": "string", "QuoteCharacter": "string", "CommentCharacter": "string", "Range": "string", "AllowQuotedRecordDelimiter": boolean }, "JSON": { "Range": "string", "ParseJsonNumberAsString": boolean, "Type": "string" } }, "OutputSerialization": { "CSV": { "RecordDelimiter": "string", "FieldDelimiter": "string" }, "JSON": { "RecordDelimiter": "string" }, "KeepAllColumns": boolean, "OutputHeader": boolean, "OutputRawData": boolean, "EnablePayloadCrc": boolean } }
Desteklenen genel komut satırı seçenekleri için bkz. Desteklenen genel komut satırı seçenekleri.
Örnekler
-
examplebucketiçindeki exampleobject nesnesi üzerinde SQL deyimleri çalıştırın. Bu işlem CSV nesneleri için istek sözdizimini destekler.-
select-request.xml adlı bir yapılandırma dosyası oluşturun ve aşağıdaki kodu ekleyin:
<?xml version="1.0" encoding="UTF-8"?> <SelectRequest> <Expression>c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==</Expression> <InputSerialization> <CSV> <FileHeaderInfo>Use</FileHeaderInfo> <Range>line-range=0-100</Range> </CSV> </InputSerialization> <OutputSerialization> <JSON> <RecordDelimiter>,</RecordDelimiter> </JSON> </OutputSerialization> </SelectRequest>Örnek komut:
ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.xml -
select-request.json adlı bir yapılandırma dosyası oluşturun ve aşağıdaki kodu ekleyin:
{ "Expression": "c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==", "InputSerialization": { "CSV": { "FileHeaderInfo": "Use", "Range": "line-range=0-100" } }, "OutputSerialization": { "JSON": { "RecordDelimiter": "," } } }Örnek komut:
ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.json -
Aşağıdaki komutta parametreleri JSON biçiminde yapılandırın:
ossutil api select-object --bucket examplebucket --key exampleobject --select-request "{\"Expression\":\"c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==\",\"InputSerialization\":{\"CSV\":{\"FileHeaderInfo\":\"Use\",\"Range\":\"line-range=0-100\"}},\"OutputSerialization\":{\"JSON\":{\"RecordDelimiter\":\",\"}}}"
-
-
examplebucketiçindeki exampleobject nesnesi üzerinde SQL deyimleri çalıştırın. Bu işlem JSON nesneleri için istek sözdizimini destekler.-
select-request.xml adlı bir yapılandırma dosyası oluşturun ve aşağıdaki kodu ekleyin:
<?xml version="1.0" encoding="UTF-8"?> <SelectRequest> <Expression>c2VsZWN0ICogZnJvbSBvc3NvYmplY3Qub2JqZWN0c1sqXSB3aGVyZSBwYXJ0eSA9ICdEZW1vY3JhdCc=</Expression> <InputSerialization> <CSV> <SplitRange></SplitRange> </CSV> <JSON> <Type>DOCUMENT</Type> <SplitRange></SplitRange> </JSON> </InputSerialization> <OutputSerialization> <CSV></CSV> <JSON> <RecordDelimiter>LA==</RecordDelimiter> </JSON> </OutputSerialization> <Options></Options> </SelectRequest>Örnek komut:
ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.xml -
select-request.json adlı bir yapılandırma dosyası oluşturun ve aşağıdaki kodu ekleyin:
{ "Expression": "c2VsZWN0ICogZnJvbSBvc3NvYmplY3Qub2JqZWN0c1sqXSB3aGVyZSBwYXJ0eSA9ICdEZW1vY3JhdCc=", "InputSerialization": { "CSV": {}, "JSON": { "Type": "DOCUMENT" } }, "OutputSerialization": { "JSON": { "RecordDelimiter": "LA==" } } }Örnek komut:
ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.xml -
Aşağıdaki komutta parametreleri JSON biçiminde yapılandırın:
ossutil api select-object --bucket examplebucket --key exampleobject --select-request "{\"Expression\":\"c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==\",\"InputSerialization\":{\"CSV\":{\"FileHeaderInfo\":\"Use\",\"Range\":\"line-range=0-100\"}},\"OutputSerialization\":{\"JSON\":{\"RecordDelimiter\":\",\"}}}"
-