All Products
Search
Document Center

Object Storage Service:CreateSelectObjectMeta

Last Updated:Jun 18, 2026

Mengambil metadata objek CSV atau JSON, termasuk jumlah total baris, split, dan kolom (khusus untuk CSV). Setiap objek terdiri atas blok data, dengan setiap blok mewakili satu split yang berisi baris-baris berurutan. Jika metadata belum tersedia, seluruh objek akan dipindai dan hasilnya disimpan untuk panggilan berikutnya tanpa perlu pemindaian ulang.

Catatan penggunaan

  • Untuk memanggil operasi CreateSelectObjectMeta, Anda harus memiliki izin menulis pada objek tersebut.

  • Jika operasi berhasil, kode status HTTP 200 dikembalikan. Jika objek bukan CSV atau JSON LINES yang valid, atau jika pemisah kolom yang ditentukan tidak sesuai dengan objek CSV yang ada, kode status HTTP 400 dikembalikan.

Sintaks

Operasi ini menggunakan sintaks permintaan berikut untuk objek CSV dan JSON.

  • Sintaks permintaan untuk objek CSV

    POST  /samplecsv?x-oss-process=csv/meta
    <CsvMetaRequest>
        <InputSerialization>
            <CompressionType>None</CompressionType>
            <CSV>
                <RecordDelimiter>Base64-encoded character</RecordDelimiter>
                <FieldDelimiter>Base64-encoded character</FieldDelimiter>
                <QuoteCharacter>Base64-encoded character</QuoteCharacter>
            </CSV>
        </InputSerialization>
        <OverwriteIfExists>false|true</OverwriteIfExists>
    </CsvMetaRequest>
  • Sintaks permintaan untuk objek JSON

    POST  /samplecsv?x-oss-process=json/meta
    <JsonMetaRequest>
        <InputSerialization>
            <CompressionType>None</CompressionType>
            <JSON>
                <Type>LINES</Type>
            </JSON>
        </InputSerialization>
        <OverwriteIfExists>false|true</OverwriteIfExists>
    </JsonMetaRequest>

Elemen permintaan

Element

Type

Description

CsvMetaRequest

Kontainer

Kontainer untuk permintaan CreateSelectObjectMeta untuk objek CSV.

Node anak: InputSerialization

Node induk: none

JsonMetaRequest

Kontainer

Kontainer untuk permintaan CreateSelectObjectMeta untuk objek JSON.

Node anak: InputSerialization

Node induk: none

InputSerialization

Kontainer

Opsional. Parameter serialisasi input.

Node anak: CompressionType, CSV, dan JSON

Node induk: CsvMetaRequest dan JsonMetaRequest

OverwriteIfExists

bool

Opsional. Menentukan apakah SelectMeta perlu dihitung ulang dan data yang ada ditimpa. Nilai false mengembalikan hasil yang sudah ada secara langsung. Nilai default: false.

Node anak: none

Node induk: CsvMetaRequest dan JsonMetaRequest

CompressionType

Enumeration

Opsional. Jenis kompresi objek. Nilai valid: None.

Node anak: none

Node induk: InputSerialization

RecordDelimiter

String

Opsional. Karakter line feed yang dikodekan Base64 digunakan untuk memisahkan baris dalam objek CSV. Nilai default: \n. Sebelum dikodekan, nilai tersebut harus berupa nilai ANSI dengan panjang maksimal dua karakter. Misalnya, \n menunjukkan line feed dalam Java.

Node anak: none

Node induk: CSV

FieldDelimiter

String

Opsional. Pemisah kolom yang dikodekan Base64 digunakan untuk memisahkan nilai dalam objek CSV. Nilai default: ,.

Sebelum dikodekan, nilai tersebut harus berupa nilai ANSI dengan panjang satu karakter. Misalnya, , menunjukkan koma dalam Java.

Node anak: none

Node induk: CSV (input dan output)

QuoteCharacter

String

Opsional. Karakter tanda kutip yang dikodekan Base64 untuk objek CSV. Nilai default: \". Dalam objek CSV, line feed dan pemisah kolom yang diapit tanda kutip dianggap sebagai karakter literal. Sebelum dikodekan, nilai tersebut harus berupa nilai ANSI dengan panjang satu karakter. Misalnya, \" menunjukkan tanda kutip dalam Java.

Node anak: none

Node induk: CSV (input)

CSV

Kontainer

Format input objek CSV.

Node anak: RecordDelimiter, FieldDelimiter, dan QuoteCharacter

Node induk: InputSerialization

JSON

Kontainer

Format input objek JSON.

Node anak: Type

Node induk: InputSerialization

Type

Enumeration

Jenis objek JSON.

Nilai valid: LINES.

Header respons

Seperti SelectObject, CreateSelectObjectMeta mengembalikan hasil dalam bentuk frame.

Jenis frame

Nilai

Format payload

Deskripsi

Meta End Frame (CSV)

8388614

offset | total scanned bytes | status| splits count | rows count | columns count | error message

<-8 bytes><------8 bytes------><--4bytes><--4 bytes--><--8 bytes><--4 bytes---><variable size>

Menampilkan status akhir operasi CreateSelectObjectMeta.

  • offset: bilangan bulat 8-bit yang menunjukkan offset saat pemindaian selesai.

  • total scanned bytes: bilangan bulat 8-bit yang menunjukkan ukuran data yang dipindai.

  • status: bilangan bulat 4-bit yang menunjukkan status akhir operasi.

  • splits_count: bilangan bulat 4-bit yang menunjukkan jumlah total split.

  • rows_count: bilangan bulat 8-bit yang menunjukkan jumlah total baris.

  • cols_count: bilangan bulat 4-bit yang menunjukkan jumlah total kolom.

  • error_message: pesan kesalahan detail. Jika tidak terjadi kesalahan, nilai ini null.

Meta End Frame (JSON)

8388615

offset | total scanned bytes | status| splits count | rows count | error message

<-8 bytes><------8 bytes------><--4bytes><--4 bytes--><--8 bytes><variable size>

Menampilkan status akhir operasi CreateSelectObjectMeta.

  • offset: bilangan bulat 8-bit yang menunjukkan offset saat pemindaian selesai.

  • total scanned bytes: bilangan bulat 8-bit yang menunjukkan ukuran data yang dipindai.

  • status: bilangan bulat 4-bit yang menunjukkan status akhir operasi.

  • splits_count: bilangan bulat 4-bit yang menunjukkan jumlah total split.

  • rows_count: bilangan bulat 8-bit yang menunjukkan jumlah total baris.

  • error_message: pesan kesalahan detail. Jika tidak terjadi kesalahan, nilai ini null.

Contoh permintaan

Contoh berikut menunjukkan cara memanggil CreateSelectObjectMeta untuk objek CSV dan JSON:

  • Contoh permintaan untuk objek CSV

    POST /oss-select/bigcsv_normal.csv?x-oss-process=csv%2Fmeta HTTP/1.1
    Date: Fri, 25 May 2018 23:06:41 GMT
    Content-Type:
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    User-Agent: aliyun-sdk-dotnet/2.8.0.0(windows 16.7/16.7.0.0/x86;4.0.30319.42000)
    Content-Length: 309
    Expect: 100-continue
    Connection: keep-alive
    Host: Host
    <?xml version="1.0"?>
    <CsvMetaRequest>
        <InputSerialization>
            <CSV>
                <RecordDelimiter>Cg==</RecordDelimiter>
                <FieldDelimiter>LA==</FieldDelimiter>
                <QuoteCharacter>Ig==</QuoteCharacter>
            </CSV>
        </InputSerialization>
        <OverwriteIfExisting>false</OverwriteIfExisting>
    </CsvMetaRequest>
  • Contoh permintaan untuk objek JSON

    POST /oss-select/sample.json?x-oss-process=json%2Fmeta HTTP/1.1
    Date: Fri, 25 May 2018 23:06:41 GMT
    Content-Type:
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    User-Agent: aliyun-sdk-dotnet/2.8.0.0(windows 16.7/16.7.0.0/x86;4.0.30319.42000)
    Content-Length: 309
    Expect: 100-continue
    Connection: keep-alive
    Host: Host
    <?xml version="1.0"?>
    <JsonMetaRequest>
        <InputSerialization>
            <JSON>
                <Type>LINES</Type>
            </JSON>
        </InputSerialization>
        <OverwriteIfExisting>false</OverwriteIfExisting>
    </JsonMetaRequest>

ossutil

Untuk informasi lebih lanjut tentang perintah ossutil untuk operasi CreateSelectObjectMeta, lihat create-select-object-meta.