Todos los productos
Search
Centro de documentos

Object Storage Service:CreateSelectObjectMeta

Última actualización: Sep 03, 2026

Obtiene metadatos de un objeto CSV o JSON, incluido el número total de filas, splits y columnas (solo para CSV). Cada objeto se compone de bloques de datos, donde cada bloque corresponde a un split de filas consecutivas. Si los metadatos no existen previamente, se analiza el objeto completo y se registran los resultados para llamadas posteriores sin necesidad de volver a analizarlo.

Notas de uso

  • Para llamar a la operación CreateSelectObjectMeta, debe tener permisos de escritura sobre el objeto.

  • Si la operación se completa correctamente, se devuelve el código de estado HTTP 200. Si el objeto no es un objeto CSV o JSON LINES válido, o si el delimitador especificado no coincide con los objetos CSV existentes, se devuelve el código de estado HTTP 400.

Sintaxis

Esta operación utiliza la siguiente sintaxis de solicitud para objetos CSV y JSON.

  • Sintaxis de solicitud para objetos 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>
  • Sintaxis de solicitud para objetos JSON

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

Elementos de la solicitud

Elemento

Tipo

Descripción

CsvMetaRequest

Container

Contenedor de la solicitud CreateSelectObjectMeta para objetos CSV.

Nodos secundarios: InputSerialization

Nodos primarios: ninguno

JsonMetaRequest

Container

Contenedor de la solicitud CreateSelectObjectMeta para objetos JSON.

Nodos secundarios: InputSerialization

Nodos primarios: ninguno

InputSerialization

Container

Opcional. Parámetros de serialización de entrada.

Nodos secundarios: CompressionType, CSV y JSON

Nodos primarios: CsvMetaRequest y JsonMetaRequest

OverwriteIfExists

bool

Opcional. Especifica si se debe recalcular SelectMeta y sobrescribir los datos existentes. Un valor false devuelve directamente el resultado existente. Valor predeterminado: false.

Nodos secundarios: ninguno

Nodos primarios: CsvMetaRequest y JsonMetaRequest

CompressionType

Enumeration

Opcional. Tipo de compresión del objeto. Valor válido: None.

Nodos secundarios: ninguno

Nodos primarios: InputSerialization

RecordDelimiter

String

Opcional. Salto de línea codificado en Base64 que se usa para separar filas en el objeto CSV. Valor predeterminado: \n. Antes de la codificación, el valor debe ser un valor ANSI de hasta dos caracteres de longitud. Por ejemplo, \n indica un salto de línea en Java.

Nodos secundarios: ninguno

Nodos primarios: CSV

FieldDelimiter

String

Opcional. Delimitador codificado en Base64 que se usa para separar valores en el objeto CSV. Valor predeterminado: ,.

Antes de la codificación, el valor debe ser un valor ANSI de un carácter de longitud. Por ejemplo, , indica una coma en Java.

Nodos secundarios: ninguno

Nodos primarios: CSV (entrada y salida)

QuoteCharacter

String

Opcional. Carácter de comillas codificado en Base64 para el objeto CSV. Valor predeterminado: \". En un objeto CSV, los saltos de línea y los delimitadores de columna entre comillas se tratan como caracteres literales. Antes de la codificación, el valor debe ser un valor ANSI de un carácter de longitud. Por ejemplo, \" indica unas comillas en Java.

Nodos secundarios: ninguno

Nodos primarios: CSV (entrada)

CSV

Container

Formato de entrada del objeto CSV.

Nodos secundarios: RecordDelimiter, FieldDelimiter y QuoteCharacter

Nodos primarios: InputSerialization

JSON

Container

Formato de entrada del objeto JSON.

Nodos secundarios: Type

Nodos primarios: InputSerialization

Type

Enumeration

Tipo del objeto JSON.

Valor válido: LINES.

Encabezados de respuesta

Al igual que SelectObject, CreateSelectObjectMeta devuelve los resultados en forma de frames.

Tipo de frame

Valor

Formato del payload

Descripción

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>

Reporta el estado final de una operación CreateSelectObjectMeta.

  • offset: entero de 8 bits que indica el desplazamiento al finalizar el análisis.

  • total scanned bytes: entero de 8 bits que indica el tamaño de los datos analizados.

  • status: entero de 4 bits que indica el estado final de la operación.

  • splits_count: entero de 4 bits que indica el número total de splits.

  • rows_count: entero de 8 bits que indica el número total de filas.

  • cols_count: entero de 4 bits que indica el número total de columnas.

  • error_message: mensaje de error detallado. Si no ocurren errores, este valor es 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>

Reporta el estado final de una operación CreateSelectObjectMeta.

  • offset: entero de 8 bits que indica el desplazamiento al finalizar el análisis.

  • total scanned bytes: entero de 8 bits que indica el tamaño de los datos analizados.

  • status: entero de 4 bits que indica el estado final de la operación.

  • splits_count: entero de 4 bits que indica el número total de splits.

  • rows_count: entero de 8 bits que indica el número total de filas.

  • error_message: mensaje de error detallado. Si no ocurren errores, este valor es null.

Solicitudes de ejemplo

A continuación se muestran ejemplos de cómo llamar a CreateSelectObjectMeta para objetos CSV y JSON:

  • Solicitudes de ejemplo para objetos 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>
  • Solicitudes de ejemplo para objetos 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

Para obtener más información sobre el comando ossutil correspondiente a la operación CreateSelectObjectMeta, consulte create-select-object-meta.