Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:select-object

Son Güncelleme:Oct 01, 2026

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]


Parametre


Tür


Açıklama


--bucket


string


Paket adı.


--key


string


Nesnenin tam yolu.


--select-request


string


SelectObject isteklerini depolayan konteyner.

Not

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
      }
    }
Not

Desteklenen genel komut satırı seçenekleri için bkz. Desteklenen genel komut satırı seçenekleri.

Örnekler

  • examplebucket iç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\":\",\"}}}"
  • examplebucket iç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\":\",\"}}}"