全部产品
Search
文档中心

:select-object

更新时间:Jul 02, 2025

Perintah select-object digunakan untuk mengeksekusi pernyataan SQL pada objek dan mengambil hasil dari eksekusi tersebut.

Catatan penggunaan

Secara default, akun Alibaba Cloud memiliki izin untuk melakukan operasi pada objek. Namun, jika menggunakan akun RAM atau Security Token Service (STS), diperlukan izin oss:GetObject. Untuk informasi lebih lanjut, lihat Lampirkan Kebijakan Kustom ke Pengguna RAM.

Sintaks perintah

ossutil api select-object --bucket value --key value --select-request value [flags]

Parameter

Tipe

Deskripsi

--bucket

string

Nama bucket.

--key

string

Jalur lengkap objek.

--select-request

string

Kontainer yang menyimpan permintaan SelectObject.

Catatan

Perintah select-object sesuai dengan operasi SelectObject. Untuk detail lebih lanjut tentang parameter dalam operasi SelectObject, lihat SelectObject.

--select-request

Opsi konfigurasi --select-request mendukung format XML dan JSON. Jika nilai opsi diawali dengan 'file://', parameter konfigurasi akan dibaca dari file yang ditentukan.

  • Format XML:

    <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>
  • Format JSON:

    {
      "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
      }
    }
Catatan

Untuk daftar opsi baris perintah global yang didukung, lihat Opsi Baris Perintah Global yang Didukung.

Contoh

  • Eksekusi pernyataan SQL pada exampleobject di examplebucket. Operasi ini mendukung sintaks permintaan untuk objek CSV.

    • Buat file konfigurasi bernama select-request.xml dan tambahkan kode berikut:

      <?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>

      Contoh perintah:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.xml
    • Buat file konfigurasi bernama select-request.json dan tambahkan kode berikut:

      {
        "Expression": "c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==",
        "InputSerialization": {
          "CSV": {
            "FileHeaderInfo": "Use",
            "Range": "line-range=0-100"
          }
        },
        "OutputSerialization": {
          "JSON": {
            "RecordDelimiter": ","
          }
        }
      }

      Contoh perintah:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.json
    • Konfigurasikan parameter dalam perintah berikut dalam format JSON:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request "{\"Expression\":\"c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==\",\"InputSerialization\":{\"CSV\":{\"FileHeaderInfo\":\"Use\",\"Range\":\"line-range=0-100\"}},\"OutputSerialization\":{\"JSON\":{\"RecordDelimiter\":\",\"}}}"
  • Eksekusi pernyataan SQL pada exampleobject di examplebucket. Operasi ini mendukung sintaks permintaan untuk objek JSON.

    • Buat file konfigurasi bernama select-request.xml dan tambahkan kode berikut:

      <?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>

      Contoh perintah:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.xml
    • Buat file konfigurasi bernama select-request.json dan tambahkan kode berikut:

      {
        "Expression": "c2VsZWN0ICogZnJvbSBvc3NvYmplY3Qub2JqZWN0c1sqXSB3aGVyZSBwYXJ0eSA9ICdEZW1vY3JhdCc=",
        "InputSerialization": {
          "CSV": {},
          "JSON": {
            "Type": "DOCUMENT"
          }
        },
        "OutputSerialization": {
          "JSON": {
            "RecordDelimiter": "LA=="
          }
        }
      }

      Contoh perintah:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request file://select-request.xml
    • Konfigurasikan parameter dalam perintah berikut dalam format JSON:

      ossutil api select-object --bucket examplebucket --key exampleobject --select-request "{\"Expression\":\"c2VsZWN0IFllYXIsU3RhdGVBYmJyLCBDaXR5TmFtZSwgU2hvcnRfUXVlc3Rpb25fVGV4dCBmcm9tIG9zc29iamVjdA==\",\"InputSerialization\":{\"CSV\":{\"FileHeaderInfo\":\"Use\",\"Range\":\"line-range=0-100\"}},\"OutputSerialization\":{\"JSON\":{\"RecordDelimiter\":\",\"}}}"