A operação ListObjectsV2 (GetBucketV2) lista objetos em um bucket e retorna metadados como chave, tamanho, ETag e data da última modificação.
Observações
Para listar todos os objetos de um bucket, é necessária a permissão
oss:ListObjects.A operação ListObjectsV2 (GetBucketV2) não retorna metadados personalizados do objeto.
Se o armazenamento de logs ou a consulta de logs em tempo real estiverem ativados, esta operação será registrada como
GetBucket.O faturamento da operação ListObjectsV2 (GetBucketV2) segue o modelo de solicitação de API PUT.
Por padrão, uma única resposta retorna até 100 objetos. Use NextContinuationToken e continuation-token para paginar todos os resultados.
Com o versionamento ativado, sobrescrever ou excluir objetos pode acumular marcadores de exclusão e versões anteriores. Configure regras de ciclo de vida para limpar periodicamente esses marcadores e versões anteriores desnecessárias, mantendo o desempenho da listagem.
Sintaxe da solicitação
GET /?list-type=2 HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
Parâmetros da solicitação
|
Nome |
Tipo |
Obrigatório |
Exemplo |
Descrição |
|
list-type |
Número |
Sim |
2 |
Versão da operação. Defina como 2. |
|
delimiter |
String |
Não |
/ |
Caractere usado para agrupar chaves de objetos. Chaves que compartilham um prefixo comum até a primeira ocorrência do delimitador são agrupadas em uma única entrada CommonPrefixes. Valor padrão: Nenhum |
|
start-after |
String |
Não |
b |
Chave do objeto a partir da qual a listagem começa. Os resultados iniciam na primeira chave alfabeticamente posterior a este valor. Usado para paginação. Comprimento máximo: 1.024 bytes. Caso o valor start-after especificado não exista, a listagem começará pela próxima chave em ordem alfabética. Valor padrão: Nenhum |
|
continuation-token |
String |
Não |
test1.txt |
Token que indica onde a listagem deve começar. Obtenha este valor no campo NextContinuationToken de uma resposta anterior da operação ListObjectsV2 (GetBucketV2). |
|
max-keys |
String |
Não |
100 |
Quantidade máxima de objetos a retornar. Valores válidos: 1 a 1000 Valor padrão: 100 Nota
|
|
prefix |
String |
Não |
a |
Prefixo que as chaves dos objetos retornados devem conter. Se definido como o nome de uma pasta, todos os arquivos e subpastas com esse prefixo serão listados recursivamente. Quando o prefixo é definido e o delimiter é configurado como /, apenas os arquivos da pasta são listados. Os nomes das subpastas aparecem em CommonPrefixes sem listagem recursiva. Exemplo: um bucket contém fun/test.jpg, fun/movie/001.avi e fun/movie/007.avi. Definir o prefixo como fun/ retorna os três itens. Definir o prefixo como fun/ com o delimiter / retorna fun/test.jpg e fun/movie/. Nota
Valor padrão: Nenhum |
|
encoding-type |
String |
Não |
url |
Tipo de codificação para a resposta. Valor padrão: Nenhum Valor válido: url Nota
Se os valores de delimiter, start-after, prefix, NextContinuationToken ou Key contiverem caracteres de controle não suportados pelo XML 1.0, especifique o encoding-type para codificá-los na resposta. |
|
fetch-owner |
Booleano |
Não |
false |
Define se as informações do proprietário devem ser incluídas na resposta. Valores válidos: true, false
Valor padrão: false |
Elementos da resposta
|
Nome |
Tipo |
Exemplo |
Descrição |
|
Contents |
Contêiner |
N/A |
Contêiner para os metadados de cada objeto retornado. Nó pai: ListBucketResult |
|
CommonPrefixes |
Contêiner |
N/A |
Se o parâmetro Delimiter for especificado, a resposta incluirá CommonPrefixes, listando prefixos de nomes de objetos que compartilham um prefixo comum e terminam com o delimitador. Nó pai: ListBucketResult Nó filho: Prefix |
|
Delimiter |
String |
/ |
Caractere usado para agrupar chaves de objetos. Chaves que compartilham um prefixo comum até a primeira ocorrência do delimitador são agrupadas em uma única entrada CommonPrefixes. Nó pai: ListBucketResult |
|
EncodingType |
String |
N/A |
Tipo de codificação usado na resposta. Se Encoding-type for especificado na solicitação, Delimiter, StartAfter, Prefix, NextContinuationToken e Key serão codificados. Nó pai: ListBucketResult |
|
DisplayName |
String |
user_example |
Nome do proprietário do objeto. Nó pai: ListBucketResult.Contents.Owner |
|
ETag |
String |
5B3C1A2E053D763E1B002CC607C5A0FE1**** |
O ETag identifica o conteúdo de um objeto e é gerado durante sua criação. Nó pai: ListBucketResult.Contents
|
|
ID |
String |
0022012**** |
ID de usuário do proprietário do bucket. Nó pai: ListBucketResult.Contents.Owner |
|
IsTruncated |
String enumerada |
false |
Indica se os resultados retornados foram truncados. Valores válidos: true, false
Nó pai: ListBucketResult |
|
Key |
String |
fun/test.jpg |
Chave do objeto. Nó pai: ListBucketResult.Contents |
|
LastModified |
Data e hora |
2012-02-24T08:42:32.000Z |
Data e hora da última modificação do objeto. Nó pai: ListBucketResult.Contents |
|
ListBucketResult |
Contêiner |
N/A |
Contêiner para os resultados de uma solicitação GetBucket. Nós filhos: Name, Prefix, StartAfter, MaxKeys, Delimiter, IsTruncated, NextContinuationToken, Contents Nó pai: Nenhum |
|
StartAfter |
String |
test1.txt |
Se você especificar o parâmetro StartAfter na solicitação, a resposta incluirá o elemento StartAfter. |
|
MaxKeys |
String |
100 |
Número máximo de resultados retornados na resposta. Nó pai: ListBucketResult |
|
Name |
String |
examplebucket |
Nome do bucket. Nó pai: ListBucketResult |
|
Owner |
Contêiner |
N/A |
Contêiner com informações sobre o proprietário do bucket. Nós filhos: DisplayName, ID Nó pai: ListBucketResult.Contents |
|
Prefix |
String |
fun/ |
Prefixo dos resultados da consulta. Nó pai: ListBucketResult |
|
Type |
String |
Normal |
Tipo do objeto. Valores válidos: Normal, Multipart, Appendable, Symlink. Nó pai: ListBucketResult.Contents |
|
Size |
String |
344606 |
Tamanho do objeto em bytes. Nó pai: ListBucketResult.Contents |
|
StorageClass |
String |
Standard |
Classe de armazenamento do objeto. Nó pai: ListBucketResult.Contents |
|
SealedTime |
Data e hora |
2020-05-21T12:07:15.000Z |
Momento em que o objeto foi selado. Retornado apenas para objetos anexáveis selados. Nó pai: ListBucketResult.Contents |
|
ContinuationToken |
String |
test1.txt |
Se você especificar o parâmetro ContinuationToken na solicitação, a resposta incluirá o elemento ContinuationToken. Nó pai: ListBucketResult |
|
KeyCount |
Número |
6 |
Quantidade de chaves retornadas. Se Delimiter for especificado, KeyCount representa a soma dos elementos Key e CommonPrefixes. Nó pai: ListBucketResult |
|
NextContinuationToken |
String |
CgJiYw-- |
Token para recuperar a próxima página de resultados. Use este valor como continuation-token na próxima solicitação ListObjectsV2 (GetBucketV2). Nó pai: ListBucketResult |
|
RestoreInfo |
String |
ongoing-request="true" |
Estado de restauração do objeto. Nó pai: ListBucketResult.Contents |
Exemplos
-
Solicitação simples
GET /?list-type=2 HTTP/1.1 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Date: Thu, 17 Apr 2025 08:43:27 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eResposta de exemplo
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Fri, 24 Feb 2012 08:43:27 GMT Content-Type: application/xml Content-Length: 1866 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”> <Name>examplebucket</Name> <Prefix></Prefix> <MaxKeys>100</MaxKeys> <EncodingType>url</EncodingType> <IsTruncated>false</IsTruncated> <Contents> <Key>a</Key> <LastModified>2020-05-18T05:45:43.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>a/b</Key> <LastModified>2020-05-18T05:45:47.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>b</Key> <LastModified>2020-05-18T05:45:50.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>b/c</Key> <LastModified>2020-05-18T05:45:54.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>bc</Key> <LastModified>2020-05-18T05:45:59.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>c</Key> <LastModified>2020-05-18T05:45:57.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <KeyCount>6</KeyCount> </ListBucketResult> -
Solicitação com o parâmetro prefix
GET /?list-type=2&prefix=a HTTP/1.1 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Date: Thu, 17 Apr 2025 08:43:27 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eResposta de exemplo
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Fri, 24 Feb 2012 08:43:27 GMT Content-Type: application/xml Content-Length: 1464 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”> <Name>examplebucket</Name> <Prefix>a</Prefix> <MaxKeys>100</MaxKeys> <EncodingType>url</EncodingType> <IsTruncated>false</IsTruncated> <Contents> <Key>a</Key> <LastModified>2020-05-18T05:45:43.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <Contents> <Key>a/b</Key> <LastModified>2020-05-18T05:45:47.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <KeyCount>2</KeyCount> </ListBucketResult> -
Solicitação com os parâmetros prefix e delimiter
GET /?list-type=2&prefix=a/&delimiter=/ HTTP/1.1 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Date: Thu, 17 Apr 2025 08:43:27 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eResposta de exemplo
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Fri, 24 Feb 2012 08:43:27 GMT Content-Type: application/xml Content-Length: 712 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”> <Name>examplebucket</Name> <Prefix>a/</Prefix> <MaxKeys>100</MaxKeys> <Delimiter>/</Delimiter> <EncodingType>url</EncodingType> <IsTruncated>false</IsTruncated> <Contents> <Key>a/b</Key> <LastModified>2020-05-18T05:45:47.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> </Contents> <CommonPrefixes> <Prefix>a/b/</Prefix> </CommonPrefixes> <KeyCount>2</KeyCount> </ListBucketResult> -
Envie uma solicitação com os parâmetros start-after, max-keys e fetch-owner
GET /?list-type=2&start-after=b&max-keys=3&fetch-owner=true HTTP/1.1 Host: examplebucket.oss-cn-hangzhou.aliyuncs.com Date: Thu, 17 Apr 2025 08:43:27 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218eResposta de exemplo
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Fri, 24 Feb 2012 08:43:27 GMT Content-Type: application/xml Content-Length: 712 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <ListBucketResult xmlns=”http://doc.oss-cn-hangzhou.aliyuncs.com”> <Name>examplebucket</Name> <Prefix></Prefix> <StartAfter>b</StartAfter> <MaxKeys>3</MaxKeys> <EncodingType>url</EncodingType> <IsTruncated>true</IsTruncated> <NextContinuationToken>CgJiYw--</NextContinuationToken> <Contents> <Key>b/c</Key> <LastModified>2020-05-18T05:45:54.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1686240967192623</ID> <DisplayName>1686240967192623</DisplayName> </Owner> </Contents> <Contents> <Key>ba</Key> <LastModified>2020-05-18T11:17:58.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1686240967192623</ID> <DisplayName>1686240967192623</DisplayName> </Owner> </Contents> <Contents> <Key>bc</Key> <LastModified>2020-05-18T05:45:59.000Z</LastModified> <ETag>"35A27C2B9EAEEB6F48FD7FB5861D****"</ETag> <Size>25</Size> <StorageClass>STANDARD</StorageClass> <Owner> <ID>1686240967192623</ID> <DisplayName>1686240967192623</DisplayName> </Owner> </Contents> <KeyCount>3</KeyCount> </ListBucketResult>
SDK
SDKs disponíveis para esta operação:
Ferramenta de linha de comando ossutil
O comando correspondente no ossutil é list-objects-v2 (get-bucket-v2).