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 値である必要があります。たとえば、 子ノード:なし 親ノード: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 操作の最終状態を示します。
|
|
メタ終了フレーム (JSON) |
8388615 |
オフセット | スキャンされた合計バイト数 | ステータス | スプリット数 | 行数 | エラーメッセージ <-8 ビット><------8 ビット------><--4 ビット><--4 ビット--><--8 ビット><可変サイズ> |
CreateSelectObjectMeta 操作の最終状態を示します。
|
サンプルリクエスト
次の例は、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」をご参照ください。