すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:CreateSelectObjectMeta

最終更新日:Jun 18, 2026

CSV または JSON オブジェクトのメタデータ (総行数、総スプリット数、および列数 (CSV のみ) を含む) を取得します。各オブジェクトはデータブロックで構成されており、各ブロックは連続する行のスプリットに対応します。メタデータがまだ存在しない場合、オブジェクト全体がスキャンされ、その結果が記録されるため、後続の呼び出しで再スキャンする必要はありません。

使用上の注意

  • CreateSelectObjectMeta 操作を呼び出すには、オブジェクトに対する書き込み権限が必要です。

  • 操作が成功した場合、HTTP ステータスコード 200 が返されます。オブジェクトが有効な CSV または JSON Lines オブジェクトでない場合、または指定された区切り文字が既存の CSV オブジェクトと一致しない場合は、HTTP ステータスコード 400 が返されます。

構文

この操作では、CSV および JSON オブジェクトで、次のリクエスト構文を使用します。

  • 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>
  • JSON オブジェクトのリクエスト構文

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

リクエスト要素

要素

説明

CsvMetaRequest

コンテナ

CSV オブジェクト用の CreateSelectObjectMeta リクエストのコンテナです。

子ノード:InputSerialization

親ノード:なし

JsonMetaRequest

コンテナ

JSON オブジェクト用の CreateSelectObjectMeta リクエストのコンテナです。

子ノード:InputSerialization

親ノード:なし

InputSerialization

コンテナ

任意。入力シリアル化パラメーターです。

子ノード:CompressionType、CSV、および JSON

親ノード:CsvMetaRequest および JsonMetaRequest

OverwriteIfExists

bool

任意。SelectMeta を再計算して既存のデータを上書きするかどうかを指定します。値が false の場合、既存の結果が直接返されます。デフォルト値:false。

子ノード:なし

親ノード:CsvMetaRequest および JsonMetaRequest

CompressionType

列挙型

任意。オブジェクトの圧縮タイプです。有効な値:None。

子ノード:なし

親ノード:InputSerialization

RecordDelimiter

String

任意。CSV オブジェクトの行を区切るために使用される、Base64 でエンコードされたレコード区切り文字です。デフォルト値:\n。エンコード前の値は、最大 2 文字の ANSI 値である必要があります。たとえば、\n は Java の改行を示します。

子ノード:なし

親ノード:CSV

FieldDelimiter

String

任意。CSV オブジェクトの値を区切るために使用される、Base64 でエンコードされたフィールド区切り文字です。デフォルト値:,

エンコード前の値は、1 文字の ANSI 値である必要があります。たとえば、, は Java のカンマを示します。

子ノード:なし

親ノード:CSV (入力と出力)

QuoteCharacter

String

任意。CSV オブジェクトの Base64 でエンコードされた引用符です。デフォルト値:\"。CSV オブジェクトでは、引用符で囲まれた改行と列の区切り文字はリテラル文字として扱われます。エンコード前の値は、1 文字の ANSI 値である必要があります。たとえば、\" は Java の引用符を示します。

子ノード:なし

親ノード:CSV (入力)

CSV

コンテナ

CSV オブジェクトの入力形式です。

子ノード:RecordDelimiter、FieldDelimiter、および QuoteCharacter

親ノード:InputSerialization

JSON

コンテナ

JSON オブジェクトの入力形式です。

子ノード:Type

親ノード:InputSerialization

Type

列挙型

JSON オブジェクトのタイプです。

有効な値:LINES。

レスポンスヘッダー

SelectObject と同様に、CreateSelectObjectMeta は結果をフレームとして返します。

フレームタイプ

ペイロード形式

説明

メタ終了フレーム (CSV)

8388614

オフセット | スキャンされた合計バイト数 | ステータス | スプリット数 | 行数 | 列数 | エラーメッセージ

<-8 ビット><------8 ビット------><--4 ビット><--4 ビット--><--8 ビット><--4 ビット---><可変サイズ>

CreateSelectObjectMeta 操作の最終状態を示します。

  • offset:スキャン完了時のオフセットを示す 8 ビット整数。

  • total scanned bytes:スキャンされたデータのサイズを示す 8 ビット整数。

  • status:操作の最終状態を示す 4 ビット整数。

  • splits_count:スプリットの総数を示す 4 ビット整数。

  • rows_count:行の総数を示す 8 ビット整数。

  • cols_count:列の総数を示す 4 ビット整数。

  • error_message:詳細なエラーメッセージ。エラーが発生しなかった場合、この値は null です。

メタ終了フレーム (JSON)

8388615

オフセット | スキャンされた合計バイト数 | ステータス | スプリット数 | 行数 | エラーメッセージ

<-8 ビット><------8 ビット------><--4 ビット><--4 ビット--><--8 ビット><可変サイズ>

CreateSelectObjectMeta 操作の最終状態を示します。

  • offset:スキャン完了時のオフセットを示す 8 ビット整数。

  • total scanned bytes:スキャンされたデータのサイズを示す 8 ビット整数。

  • status:操作の最終状態を示す 4 ビット整数。

  • splits_count:スプリットの総数を示す 4 ビット整数。

  • rows_count:行の総数を示す 8 ビット整数。

  • error_message:詳細なエラーメッセージ。エラーが発生しなかった場合、この値は null です。

サンプルリクエスト

次の例は、CSV および JSON オブジェクトで CreateSelectObjectMeta を呼び出す方法を示しています。

  • 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>
        <OverwriteIfExists>false</OverwriteIfExists>
    </CsvMetaRequest>
  • 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>
        <OverwriteIfExists>false</OverwriteIfExists>
    </JsonMetaRequest>

ossutil

CreateSelectObjectMeta 操作の ossutil コマンドの詳細については、「create-select-object-meta」をご参照ください。