Tous les produits
Search
Centre de documentation

Object Storage Service:CreateSelectObjectMeta

Dernière mise à jour :Aug 18, 2026

Récupère les métadonnées d'un objet CSV ou JSON, notamment le nombre total de lignes, de shards et de colonnes (uniquement pour les fichiers CSV). Chaque objet est composé de blocs de données, où chaque bloc correspond à un shard de lignes consécutives. Si les métadonnées n'existent pas déjà, le système analyse l'objet entier et enregistre les résultats pour les appels ultérieurs, évitant ainsi une nouvelle analyse.

Notes d'utilisation

  • Pour appeler l'opération CreateSelectObjectMeta, vous devez disposer des autorisations d'écriture sur l'objet.

  • En cas de succès, l'opération renvoie le code d'état HTTP 200. Si l'objet n'est pas un objet CSV ou JSON LINES valide, ou si le délimiteur spécifié ne correspond pas aux objets CSV existants, l'opération renvoie le code d'état HTTP 400.

Syntaxe

Cette opération utilise la syntaxe de requête suivante pour les objets CSV et JSON.

  • Syntaxe de requête pour les objets 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>
  • Syntaxe de requête pour les objets JSON

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

Éléments de requête

Élément

Type

Description

CsvMetaRequest

Container

Conteneur de la requête CreateSelectObjectMeta pour les objets CSV.

Nœuds enfants : InputSerialization

Nœuds parents : aucun

JsonMetaRequest

Container

Conteneur de la requête CreateSelectObjectMeta pour les objets JSON.

Nœuds enfants : InputSerialization

Nœuds parents : aucun

InputSerialization

Container

Facultatif. Paramètres de sérialisation d'entrée.

Nœuds enfants : CompressionType, CSV et JSON

Nœuds parents : CsvMetaRequest et JsonMetaRequest

OverwriteIfExists

bool

Facultatif. Indique s'il faut recalculer SelectMeta et écraser les données existantes. La valeur false renvoie directement le résultat existant. Valeur par défaut : false.

Nœuds enfants : aucun

Nœuds parents : CsvMetaRequest et JsonMetaRequest

CompressionType

Enumeration

Facultatif. Type de compression de l'objet. Valeur valide : None.

Nœuds enfants : aucun

Nœud parent : InputSerialization

RecordDelimiter

String

Facultatif. Saut de ligne encodé en Base64 utilisé pour séparer les lignes dans l'objet CSV. Valeur par défaut : \n. Avant l'encodage, la valeur doit être une valeur ANSI d'une longueur maximale de deux caractères. Par exemple, \n indique un saut de ligne en Java.

Nœuds enfants : aucun

Nœud parent : CSV

FieldDelimiter

String

Facultatif. Délimiteur encodé en Base64 utilisé pour séparer les valeurs dans l'objet CSV. Valeur par défaut : ,.

Avant l'encodage, la valeur doit être une valeur ANSI d'un seul caractère. Par exemple, , indique une virgule en Java.

Nœuds enfants : aucun

Nœud parent : CSV (entrée et sortie)

QuoteCharacter

String

Facultatif. Caractère de guillemet encodé en Base64 pour l'objet CSV. Valeur par défaut : \". Dans un objet CSV, les sauts de ligne et les délimiteurs de colonne entourés de guillemets sont traités comme des caractères littéraux. Avant l'encodage, la valeur doit être une valeur ANSI d'un seul caractère. Par exemple, \" indique un guillemet en Java.

Nœuds enfants : aucun

Nœud parent : CSV (entrée)

CSV

Container

Format d'entrée de l'objet CSV.

Nœuds enfants : RecordDelimiter, FieldDelimiter et QuoteCharacter

Nœud parent : InputSerialization

JSON

Container

Format d'entrée de l'objet JSON.

Nœud enfant : Type

Nœud parent : InputSerialization

Type

Enumeration

Type de l'objet JSON.

Valeur valide : LINES.

En-têtes de réponse

Comme SelectObject, CreateSelectObjectMeta renvoie les résultats sous forme de frames.

Type de frame

Valeur

Format du payload

Description

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>

Signale l'état final d'une opération CreateSelectObjectMeta.

  • offset : entier de 8 bits indiquant le décalage à la fin de l'analyse.

  • total scanned bytes : entier de 8 bits indiquant la taille des données analysées.

  • status : entier de 4 bits indiquant l'état final de l'opération.

  • splits_count : entier de 4 bits indiquant le nombre total de shards.

  • rows_count : entier de 8 bits indiquant le nombre total de lignes.

  • cols_count : entier de 4 bits indiquant le nombre total de colonnes.

  • error_message : message d'erreur détaillé. Si aucune erreur ne se produit, cette valeur est nulle.

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>

Signale l'état final d'une opération CreateSelectObjectMeta.

  • offset : entier de 8 bits indiquant le décalage à la fin de l'analyse.

  • total scanned bytes : entier de 8 bits indiquant la taille des données analysées.

  • status : entier de 4 bits indiquant l'état final de l'opération.

  • splits_count : entier de 4 bits indiquant le nombre total de shards.

  • rows_count : entier de 8 bits indiquant le nombre total de lignes.

  • error_message : message d'erreur détaillé. Si aucune erreur ne se produit, cette valeur est nulle.

Exemples de requêtes

Les exemples suivants montrent comment appeler CreateSelectObjectMeta pour les objets CSV et JSON :

  • Exemples de requêtes pour les objets 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>
  • Exemples de requêtes pour les objets 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

Pour plus d'informations sur la commande ossutil pour l'opération CreateSelectObjectMeta, consultez create-select-object-meta.