Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2022-11-14 GMT+08:00

Listagem de objetos em um bucket

Funções

Esta operação lista objetos em um bucket. Para usar essa operação, você deve ter permissão para ler o bucket.

Se você especificar somente o nome do bucket no URI da solicitação, por exemplo GET /BucketName, o OBS retornará descrições para alguns ou todos os objetos (máximo de 1000 objetos) no bucket. Se você também especificar um ou mais parâmetros entre prefix, marker, max-keys, e delimiter na solicitação, o OBS retornará uma lista de objetos conforme especificado.

Você também pode adicionar o parâmetro versions à solicitação para listar várias versões de um objeto em um bucket.

Sintaxe da solicitação

1
2
3
4
GET / HTTP/1.1 
Host: bucketname.obs.region.myhuaweicloud.com 
Date: date
Authorization: authorization

Sintaxe de solicitação (para objetos de várias versões)

1
2
3
4
GET /?versions HTTP/1.1  
Host: bucketname.obs.region.myhuaweicloud.com 
Date: date
Authorization: authorization

Parâmetros de solicitação

Essa solicitação usa parâmetros para listar alguns objetos no bucket. Tabela 1 descreve os parâmetros.

Tabela 1 Parâmetros de solicitação

Parâmetro

Descrição

Obrigatório

prefix

Lista objetos que começam com o prefixo especificado.

Tipo: string

Não

marker

Especifica um marcador ao listar objetos em um bucket. Com um marcador configurado, os objetos após este marcador serão retornados em ordem alfabética.

Tipo: string

Não

max-keys

Define o número máximo de objetos (em ordem alfabética) retornados no corpo da resposta. O valor varia de 1 a 1.000. Se o valor excedeu o limite superior, os objetos 1 000 são retornados por padrão.

Tipo: inteiro

Não

delimiter

Separador usado para agrupar nomes de objetos. Se um prefixo for especificado, objetos com a mesma string do prefixo ao primeiro delimitador serão agrupados em uma CommonPrefixes. Se nenhum prefixo for especificado, objetos com a mesma string do primeiro caractere ao primeiro delimitador serão agrupados em uma CommonPrefixes.

Por exemplo, há três objetos (abcd, abcde e bbcde) em um bucket. Se delimiter for definido como d e prefix for definido como a, os objetos abcd e abcde serão agrupados em um CommonPrefixes com abcd como prefixo. Se apenas delimiter for definido como d, os objetos abcd e abcde serão agrupados em um CommonPrefixes com abcd como prefixo, e bbcde será agrupado separadamente em outro CommonPrefixes com bbcd como prefixo.

Tipo: string

Não

key-marker

Posição para começar quando os objetos são listados

Tipo: string

Valor válido: valor de NextKeyMarker no corpo da resposta da última solicitação

Não

version-id-marker

Este parâmetro só se aplica a objetos de versionamento.

Especifica a ID de versão a ser iniciada quando os objetos em um bucket são listados. Os objetos são listados em ordem alfabética (um máximo de objetos 1 000 são exibidos por vez). Esse parâmetro é usado junto com o key-marker na solicitação. Se o valor de version-id-marker não for um ID de versão especificado por key-marker, version-id-marker será inválido.

Tipo: string

Valor válido: ID da versão do objeto, ou seja, o valor de NextVersionIdMarker no corpo da resposta da última solicitação

Não

encoding-type

Codifica alguns elementos na resposta com base no tipo especificado. Se Delimiter, Marker (ou KeyMarker), Prefix, NextMarker (ou NextKeyMarker) e Key contiverem caracteres de controle que não são suportados pelos padrões XML 1.0, você poderá configurar encoding-type para codificar Delimitador, Marcador (ou KeyMarker), Prefixo (incluindo o Prefixo em CommonPrefixes), NextMarker (ou NextKeyMarker) e Key na resposta.

Tipo: string

Valor opcional: url

No

Cabeçalhos de solicitação

Esta solicitação usa cabeçalhos de solicitação comuns. Tabela 3 lista os cabeçalhos comuns da requisição.

Elementos de solicitação

Este pedido não contém elementos.

Sintaxe da resposta

1
2
3
4
5
6
HTTP/1.1 status_code
Date: date
x-obs-bucket-location: region
Content-Type: application/xml 
Content-Length: length
<Response Body>

Cabeçalhos de resposta

A resposta à solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 1.

Elementos de resposta

Essa resposta contém a lista XML de buckets pertencentes ao usuário. Tabela 2 descreve os elementos.

Tabela 2 Elementos de resposta

Elemento

Descrição

ListBucketResult

Uma lista de objetos em um bucket

Tipo: XML

Contents

Metadados do objeto

Tipo: XML

Antepassado: ListBucketResult

CommonPrefixes

Informações do grupo. Se você especificar um delimitador na solicitação, a resposta conterá informações de grupo em CommonPrefixes.

Tipo: XML

Antepassado: ListBucketResult

Delimiter

O parâmetro delimitador especificado em uma solicitação

Tipo: string

Antepassado: ListBucketResult

EncodingType

Codifica alguns elementos na resposta com base no tipo especificado. Se o tipo de codificação for especificado na solicitação, o Delimitador, o Marcador, o Prefixo (incluindo o Prefixo em CommonPrefixes) e o Key na resposta serão codificados.

Tipo: string

Ancestor: ListBucketResult

Etag

Resumo MD5 de 128 bits do código Base64 de um objeto. ETag é o identificador exclusivo do conteúdo do objeto. Ele pode ser usado para identificar se o conteúdo do objeto é alterado. Por exemplo, se o valor de ETag for A quando um objeto for carregado e o valor de ETag for alterado para B quando o objeto for baixado, isso indicará que o conteúdo do objeto foi alterado. O ETag real é o valor de hash do objeto, que reflete apenas o conteúdo alterado em vez dos metadados. Um objeto carregado ou objeto copiado tem um ETag exclusivo após ser criptografado usando MD5. (Se o objeto estiver criptografado no lado do servidor, o valor ETag não será o resumo MD5 do objeto, mas o identificador exclusivo calculado por meio da criptografia do lado do servidor.)

Tipo: string

Antepassado: ListBucketResult.Contents

Type

Tipo de objeto. Este parâmetro é retornado quando o tipo de objeto não é Normal.

Tipo: string

Antepassado: ListBucketResult.Contents

ID

ID de locatário do proprietário do objeto

Tipo: string

Antepassado: ListBucketResult.Contents.Owner

IsTruncated

Determina se a lista de objetos retornada é truncada. O valor true indica que a lista foi truncada e false indica que a lista não foi truncada.

Tipo: boolean

Antepassado: ListBucketResult

Key

Nome do objeto

Tipo: string

Antepassado: ListBucketResult.Contents

LastModified

Hora (UTC) em que um objeto foi modificado pela última vez

Tipo: data

Antepassado: ListBucketResult.Contents

Marker

Marcador para a posição a partir da qual os objetos em um bucket serão listados

Tipo: string

Antepassado: ListBucketResult

NextMarker

Um marcador para o último objeto retornado na lista. NextMarker é retornado quando nem todos os objetos estão listados. Você pode definir o valor NextMarker para listar os objetos restantes nas solicitações de acompanhamento.

Tipo: string

Antepassado: ListBucketResult

MaxKeys

Número máximo de objetos retornados

Tipo: string

Antepassado: ListBucketResult

Name

Nome do bucket solicitado

Tipo: string

Antepassado: ListBucketResult

Owner

Informações do usuário, incluindo o ID do domínio e o nome de usuário

Tipo: XML

Antepassado: ListBucketResult.Contents

Prefix

Prefixo de um nome de objeto. Apenas os objetos cujos nomes têm esse prefixo são listados.

Tipo: string

Antepassado: ListBucketResult

Size

Tamanho do objeto em bytes.

Tipo: string

Antepassado: ListBucketResult.Contents

StorageClass

Classe de armazenamento de um objeto

Tipo: enumeração

Valor válido: STANDARD | WARM | COLD

Antepassado: ListBucketResult.Contents

Tabela 3 Elementos na mensagem de resposta para listar objetos de várias versões.

Elemento

Descrição

ListVersionsResult

Contêiner para a lista de objetos (incluindo objetos com vários ID de versão)

Tipo: recipiente

Nome

Nome do bucket

Tipo: string

Antepassado: ListVersionsResult

EncodingType

Codifica alguns elementos na resposta com base no tipo especificado. Se o tipo de codificação for especificado na solicitação, Delimiter, KeyMarker, Prefix (incluindo o prefixo em CommonPrefixes), NextKeyMarker e Key na resposta serão codificados.

Tipo: string

Ancestor: ListVersionsResult

Prefix

Prefixo de um nome de objeto. Apenas os objetos cujos nomes têm esse prefixo são listados. Tipo: string

Antepassado: ListVersionsResult

KeyMarker

Marcador para a chave do objeto a partir do qual os objetos serão listados

Tipo: string

Antepassado: ListVersionsResult

VersionIdMarker

ID de versão do objeto para começar quando os objetos são listados

Tipo: string

Antepassado: ListVersionsResult

NextKeyMarker

Marcador de chave para o último objeto retornado na lista. NextKeyMarker é retornado quando nem todos os objetos estão listados. Você pode definir o valor NextKeyMarker para listar os objetos restantes nas solicitações de acompanhamento.

Tipo: string

Antepassado: ListVersionsResult

NextVersionIdMarker

Marcador de ID de versão para o último objeto retornado na lista. NextVersionIdMarker é retornado quando nem todos os objetos estão listados. Você pode definir o valor NextVersionIdMarker para listar os objetos restantes nas solicitações de acompanhamento.

Tipo: string

Antepassado: ListVersionsResult

MaxKeys

Número máximo de objetos retornados

Tipo: string

Antepassado: ListVersionsResult

IsTruncated

Indica se a lista de objetos retornada está truncada. O valor true indica que a lista foi truncada e false indica que a lista não foi truncada.

Tipo: booleano

Antepassado: ListVersionsResult

Version

Recipiente de informações de versão

Tipo: recipiente

Antepassado: ListVersionsResult

DeleteMarker

Contêiner para objetos com marcadores de exclusão

Tipo: recipiente

Antepassado: ListVersionsResult

Key

Nome do objeto

Tipo: string

Antepassado: ListVersionsResult.Version | ListVersionsResult.DeleteMarker

VersionId

ID da versão do objeto

Tipo: string

Antepassado: ListVersionsResult, Version | ListVersionsResult, DeleteMarker

IsLatest

Se o objeto é a versão mais recente. Se o valor do parâmetro fortrue, o objeto é a versão mais recente.

Tipo: booleano

Antepassado: ListVersionsResult.Version | ListVersionsResult.DeleteMarker

LastModified

Hora (UTC) em que um objeto foi modificado pela última vez

Tipo: data

Antepassado: ListVersionsResult.Version | ListVersionsResult.DeleteMarker

ETag

Resumo MD5 de 128 bits do código Base64 de um objeto. ETag é o identificador exclusivo do conteúdo do objeto. Ele pode ser usado para identificar se o conteúdo do objeto é alterado. O ETag real é o valor de hash do objeto. Por exemplo, se o valor de ETag for A quando um objeto for carregado e o valor de ETag for alterado para B quando o objeto for baixado, isso indicará que o conteúdo do objeto foi alterado. A ETag reflete apenas o conteúdo alterado em vez dos metadados. Um objeto carregado ou objeto copiado tem um ETag exclusivo após ser criptografado usando MD5.

Tipo: string

Antepassado: ListVersionsResult.Version

Type

Tipo de objeto. Este parâmetro é retornado quando o tipo de objeto não é Normal.

Tipo: string

Antepassado: ListVersionsResult.Version

Size

Tamanho do objeto em bytes.

Tipo: string

Antepassado: ListVersionsResult.Version

Owner

Informações do usuário, incluindo o ID do domínio e o nome de usuário

Tipo: recipiente

Antepassado: ListVersionsResult.Version | ListVersionsResult.DeleteMarker

ID

ID do domínio ao qual o proprietário do objeto pertence

Tipo: string

Antepassado: ListVersionsResult.Version.Owner | ListVersionsResult.DeleteMarker.Owner

StorageClass

Classe de armazenamento de um objeto

Tipo: enumeração

Antepassado: ListVersionsResult.Version

CommonPrefixes

Informações do grupo. Se você especificar um delimitador na solicitação, a resposta conterá informações de grupo em CommonPrefixes.

Tipo: recipiente

Antepassado: ListVersionsResult

Prefix

Indica um prefixo diferente nas informações do grupo em CommonPrefixes.

Tipo: string

Antepassado: ListVersionsResult.CommonPrefixes

Respostas de erro

Nenhuma resposta de erro especial está envolvida. Para obter detalhes sobre respostas de erro, consulte Tabela 2.

Solicitação de exemplo 1

Listar todos os objetos.

1
2
3
4
5
6
GET / HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 02:28:25 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:KiyoYze4pmRNPYfmlXBfRTVxt8c=

Resposta de exemplo 1

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435D34E379ABD93320CB9
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSXiN7GPL/yXM6OSBaYCUV1zcY5OelWp
Content-Type: application/xml
Date: WED, 01 Jul 2015 02:23:30 GMT
Content-Length: 586

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListBucketResult xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">
  <Name>examplebucket</Name>
  <Prefix/>
  <Marker/>
  <MaxKeys>1000</MaxKeys>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>object001</Key>
    <LastModified>2015-07-01T00:32:16.482Z</LastModified>
    <ETag>"2fa3bcaaec668adc5da177e67a122d7c"</ETag>
    <Size>12041</Size>
    <Owner>
      <ID>b4bf1b36d9ca43d984fbcb9491b6fce9</ID>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Solicitação de exemplo 2

Filtrar objetos.

Um usuário tem um bucket chamado examplebucket. O bucket tem três objetos denominados newfile, obj001, e obj002. Se você deseja exibir apenas o objeto obj002, o formato da mensagem de solicitação é o seguinte:

GET /?marker=obj002&prefix=obj HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 02:28:25 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:KiyoYze4pmRNPYfmlXBfRTVxt8c=

Resposta de exemplo 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435D758FBA857E0801874
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCShn/xAyk/xHBX6qgGSB36WXrbco0X80
Content-Type: application/xml
Date: WED, 01 Jul 2015 02:29:48 GMT
Content-Length: 707

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListBucketResult xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">
<Name>examplebucket</Name>
<Prefix>obj</Prefix>
<Marker>obj002</Marker>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>
  <Contents>
    <Key>obj002</Key>
    <LastModified>2015-07-01T02:11:19.775Z</LastModified>
    <ETag>"a72e382246ac83e86bd203389849e71d"</ETag>
    <Size>9</Size>
    <Owner>
      <ID>b4bf1b36d9ca43d984fbcb9491b6fce9</ID>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>

Solicitação de exemplo 3

Versionamento

1
2
3
4
5
6
GET /?versions HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 02:29:45 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:iZeDESIMxBK2YODk7vIeVpyO8DI=

Resposta de exemplo 3

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016435D758FBA857E0801874
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCShn/xAyk/xHBX6qgGSB36WXrbco0X80
Content-Type: application/xml
Date: WED, 01 Jul 2015 02:29:48 GMT
Content-Length: 707

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListVersionsResult xmlns="http://obs.ap-southeast-1.myhuaweicloud.com/doc/2015-06-30/">
 <Name>bucket02</Name>
  <Prefix/>
  <KeyMarker/>
  <VersionIdMarker/>
  <MaxKeys>1000</MaxKeys>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>object001</Key>
    <VersionId>00011000000000013F16000001643A22E476FFFF9046024ECA3655445346485a</VersionId>
    <IsLatest>true</IsLatest>
    <LastModified>2015-07-01T00:32:16.482Z</LastModified>
    <ETag>"2fa3bcaaec668adc5da177e67a122d7c"</ETag>
    <Size>12041</Size>
    <Owner>
      <ID>b4bf1b36d9ca43d984fbcb9491b6fce9</ID>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListVersionsResult>