Obtém metadados de um objeto CSV ou JSON, incluindo o número total de linhas, splits e colunas (apenas para CSV). Cada objeto consiste em blocos de dados, nos quais cada bloco corresponde a um split de linhas consecutivas. Se os metadados ainda não existirem, o sistema verificará todo o objeto e registrará os resultados para chamadas subsequentes, evitando nova verificação.
Observações de uso
Para chamar a operação CreateSelectObjectMeta, você deve ter permissões de gravação no objeto.
Em caso de sucesso, a operação retorna o código de status HTTP 200. Se o objeto não for um CSV válido ou JSON LINES, ou se o delimitador especificado não corresponder aos objetos CSV existentes, o sistema retorna o código de status HTTP 400.
Sintaxe
Esta operação utiliza a seguinte sintaxe de solicitação para objetos CSV e JSON.
-
Sintaxe de solicitação 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>
-
Sintaxe de solicitação 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 da solicitação
|
Elemento |
Tipo |
Descrição |
|
CsvMetaRequest |
Contêiner |
Contêiner da solicitação CreateSelectObjectMeta para objetos CSV. Nós filhos: InputSerialization Nós pais: nenhum |
|
JsonMetaRequest |
Contêiner |
Contêiner da solicitação CreateSelectObjectMeta para objetos JSON. Nós filhos: InputSerialization Nós pais: nenhum |
|
InputSerialization |
Contêiner |
Opcional. Parâmetros de serialização de entrada. Nós filhos: CompressionType, CSV e JSON Nós pais: CsvMetaRequest e JsonMetaRequest |
|
OverwriteIfExists |
bool |
Opcional. Especifica se o SelectMeta deve ser recalculado e sobrescrever os dados existentes. O valor false retorna diretamente o resultado existente. Valor padrão: false. Nós filhos: nenhum Nós pais: CsvMetaRequest e JsonMetaRequest |
|
CompressionType |
Enumeração |
Opcional. Tipo de compactação do objeto. Valor válido: None. Nós filhos: nenhum Nós pais: InputSerialization |
|
RecordDelimiter |
String |
Opcional. Caractere de nova linha codificado em Base64 usado para separar linhas no objeto CSV. Valor padrão: \n. Antes da codificação, o valor deve ser um valor ANSI com até dois caracteres de comprimento. Por exemplo, \n indica uma nova linha em Java. Nós filhos: nenhum Nós pais: CSV |
|
FieldDelimiter |
String |
Opcional. Delimitador codificado em Base64 usado para separar valores no objeto CSV. Valor padrão: Antes da codificação, o valor deve ser um valor ANSI com um caractere de comprimento. Por exemplo, Nós filhos: nenhum Nós pais: CSV (entrada e saída) |
|
QuoteCharacter |
String |
Opcional. Caractere de aspas codificado em Base64 para o objeto CSV. Valor padrão: \". Em um objeto CSV, novas linhas e delimitadores de coluna entre aspas são tratados como caracteres literais. Antes da codificação, o valor deve ser um valor ANSI com um caractere de comprimento. Por exemplo, \" indica aspas em Java. Nós filhos: nenhum Nós pais: CSV (entrada) |
|
CSV |
Contêiner |
Formato de entrada do objeto CSV. Nós filhos: RecordDelimiter, FieldDelimiter e QuoteCharacter Nós pais: InputSerialization |
|
JSON |
Contêiner |
Formato de entrada do objeto JSON. Nós filhos: Type Nós pais: InputSerialization |
|
Type |
Enumeração |
Tipo do objeto JSON. Valor válido: LINES. |
Cabeçalhos de resposta
Assim como o SelectObject, o CreateSelectObjectMeta retorna resultados em frames.
|
Tipo de frame |
Valor |
Formato do payload |
Descrição |
|
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> |
Relata o estado final de uma operação CreateSelectObjectMeta.
|
|
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> |
Relata o estado final de uma operação CreateSelectObjectMeta.
|
Exemplos de solicitações
Os exemplos a seguir mostram como chamar o CreateSelectObjectMeta para objetos CSV e JSON:
-
Exemplos de solicitações 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> -
Exemplos de solicitações 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 obter mais informações sobre o comando ossutil referente à operação CreateSelectObjectMeta, consulte crie-selecione-object-meta.