Listado de objetos en un bucket
Funciones
Esta operación muestra los objetos de un bucket. Para usar esta operación, debe tener el permiso para leer el bucket.
Si especifica solo el nombre del bucket en el URI de solicitud, por ejemplo GET /BucketName, OBS devuelve las descripciones de algunos o de todos los objetos (un máximo de 1000 objetos) del bucket. Si también especifica uno o más parámetros entre prefix, marker, max-keys, y delimiter en la solicitud, OBS devuelve una lista de objetos según lo especificado.
También puede agregar el parámetro versions a la solicitud para listar varias versiones de un objeto en un bucket.
Sintaxis de solicitud
1 2 3 |
GET / HTTP/1.1 Host: bucketname.obs.region.myhuaweicloud.com Date: date Authorization: authorization |
Sintaxis de solicitud (para objetos de varias versiones)
1 2 3 |
GET /?versions HTTP/1.1 Host: bucketname.obs.region.myhuaweicloud.com Date: date Authorization: authorization |
Parámetros de solicitud
Esta solicitud utiliza parámetros para listar algunos objetos en el bucket. Tabla 1 describe los parámetros.
Parámetro |
Descripción |
Obligatorio |
---|---|---|
prefix |
Enumera los objetos que comienzan con el prefijo especificado. Tipo: string |
No |
marker |
Especifica un marcador al enumerar objetos en un bucket. Con un marcador configurado, los objetos después de este marcador se devolverán en orden alfabético. Tipo: string |
No |
max-keys |
Establece el número máximo de objetos (en orden alfabético) devueltos en el cuerpo de la respuesta. El valor está entre 1 y 1,000. Si el valor ha superado el límite superior, los objetos 1,000 se devuelven de forma predeterminada. Tipo: integer |
No |
delimiter |
Separador utilizado para agrupar nombres de objetos. Si se especifica un prefijo, los objetos con la misma string del prefijo al primer delimitador se agrupan en un solo CommonPrefixes. Si no se especifica ningún prefijo, los objetos con la misma string desde el primer carácter hasta el primer delimitador se agrupan en un solo CommonPrefixes. Por ejemplo, hay tres objetos (abcd, abcde, and bbcde) en un cubo. Si delimiter se establece en d y prefix se establece en a, los objetos abcd y abcde se agrupan en un CommonPrefixes con abcd como prefijo. Si solo delimiter se establece en d, los objetos abcd y abcde se agrupan en un CommonPrefixes con abcd como prefijo, y bbcde se agrupa por separado en otro CommonPrefixes con bbcd como prefijo. Tipo: string |
No |
key-marker |
Posición con la que empezar cuando se listan los objetos Tipo: string Valor válido: valor de NextKeyMarker en el cuerpo de respuesta de la última solicitud |
No |
version-id-marker |
Este parámetro sólo se aplica a los objetos de control de versiones. Especifica el ID de versión por el que se va a empezar cuando se muestran los objetos de un bucket. Los objetos se enumeran en orden alfabético (un máximo de 1,000 se muestran objetos a la vez). Este parámetro se utiliza junto con el key-marker en la solicitud. Si el valor de version-id-marker no es un ID de versión especificado por key-marker, version-id-marker no es válido. Tipo: string Valor válido: ID de versión del objeto, es decir, el valor de NextVersionIdMarker en el cuerpo de respuesta de la última solicitud |
No |
encoding-type |
Encodes some elements in the response based on the specified type. If Delimiter, Marker (or KeyMarker), Prefix, NextMarker (or NextKeyMarker), and Key contain control characters that are not supported by XML 1.0 standards, you can configure encoding-type to encode Delimiter, Marker (or KeyMarker), Prefix (including the Prefix in CommonPrefixes), NextMarker (or NextKeyMarker), and Key in the response. Type: string Optional value: url |
No |
Encabezados de solicitud
Esta solicitud utiliza encabezados de solicitud comunes. Tabla 3 enumera los encabezados de solicitud comunes.However, this request can contain additional headers. The following table describes the additional request headers.
Elementos de solicitud.
Esta solicitud no contiene elementos.
Sintaxis de respuesta
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> |
Encabezados de respuesta
La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.
Elementos de respuesta
Esta respuesta contiene la lista XML de bucket propiedad del usuario. Tabla 2 describe los elementos.
Elemento |
Descripción |
---|---|
ListBucketResult |
Una lista de objetos en un bucket Tipo: XML |
Contents |
Metadatos de objeto Tipo: XML Antepasado: ListBucketResult |
CommonPrefixes |
Información del grupo. Si especifica un delimitador en la solicitud, la respuesta contiene información de grupo de CommonPrefixes. Tipo: XML Antepasado: ListBucketResult |
Delimiter |
El parámetro delimitador especificado en una solicitud Tipo: string Antepasado: ListBucketResult |
EncodingType |
Encodes some elements in the response based on the specified type. If encoding-type is specified in the request, Delimiter, Marker, Prefix (including the Prefix in CommonPrefixes), NextMarker, and Key in the response will be encoded. Type: string Ancestor: ListBucketResult |
ETag |
Resumen MD5 de 128 bits del código de Base64 de un objeto. ETag es el identificador único del contenido del objeto. Se puede utilizar para identificar si se ha cambiado el contenido del objeto. Por ejemplo, si el valor ETag es A cuando se carga un objeto y el valor ETag ha cambiado a B cuando se descarga el objeto, indica que se cambia el contenido del objeto. ETag real es el valor hash del objeto, que solo refleja el contenido cambiado en lugar de los metadatos. Un objeto cargado o copiado tiene un ETag único después de ser cifrado usando MD5. (Si el objeto está cifrado en el lado del servidor, el valor ETag no es el resumen MD5 del objeto, sino el identificador único calculado mediante la encriptación del lado del servidor.) Tipo: string Antepasado: ListBucketResult.Contents |
Type |
Tipo de objeto. Este parámetro se devuelve cuando el tipo de objeto no es Normal. Tipo: string Antepasado: ListBucketResult.Contents |
ID |
ID de inquilino del propietario del objeto Tipo: string Antepasado: ListBucketResult.Contents.Owner |
IsTruncated |
Determina si la lista de objetos devuelta está truncada. El valor true indica que la lista se truncó y false indica que la lista no se truncó. Tipo: boolean Antepasado: ListBucketResult |
Key |
Nombre del objeto Tipo: string Antepasado: ListBucketResult.Contents |
LastModified |
El tiempo (UTC) en la que se modificó por última vez un objeto Tipo: date Antepasado: ListBucketResult.Contents |
Marker |
Marcador para la posición desde la que se mostrarán los objetos de un bucket Tipo: string Antepasado: ListBucketResult |
NextMarker |
Marcador para el último objeto devuelto de la lista. NextMarker se devuelve cuando no se muestran todos los objetos. Puede establecer el valor Marker para que muestre los objetos restantes en las solicitudes de seguimiento. Tipo: string Antepasado: ListBucketResult |
MaxKeys |
Número máximo de objetos devueltos Tipo: string Antepasado: ListBucketResult |
Name |
Nombre del bucket solicitado Tipo: string Antepasado: ListBucketResult |
Owner |
Información del usuario, incluido el ID de dominio y el nombre de usuario Tipo: XML Antepasado: ListBucketResult.Contents |
Prefix |
Prefijo de un nombre de objeto. Sólo se listan los objetos cuyos nombres tienen este prefijo. Tipo: string Antepasado: ListBucketResult |
Size |
Tamaño del objeto, en bytes Tipo: string Antepasado: ListBucketResult.Contents |
StorageClass |
Clase de almacenamiento de un objeto Tipo: Enumeration Valor válido: STANDARD | WARM | COLD Antepasado: ListBucketResult.Contents |
Element |
Descripción |
---|---|
ListVersionsResult |
Contenedor para la lista de objetos (incluidos los objetos con varios ID de versión) Tipo: container |
Name |
Nombre del bucket Tipo: string Antepasado: ListVersionsResult |
EncodingType |
Encodes some elements in the response based on the specified type. If encoding-type is specified in the request, Delimiter, KeyMarker, Prefix (including the Prefix in CommonPrefixes), NextKeyMarker, and Key in the response will be encoded. Type: string Ancestor: ListVersionsResult |
Prefix |
Prefijo de un nombre de objeto. Sólo se listan los objetos cuyos nombres tienen este prefijo. Tipo: string Antepasado: ListVersionsResult |
KeyMarker |
Marcador de la clave de objeto desde la que se mostrarán los objetos Tipo: string Antepasado: ListVersionsResult |
VersionIdMarker |
ID de versión del objeto para comenzar cuando se muestran los objetos Tipo: string Antepasado: ListVersionsResult |
NextKeyMarker |
Marcador de clave para el último objeto devuelto de la lista. NextKeyMarker se devuelve cuando no se muestran todos los objetos. Puede establecer el valor KeyMarker para que muestre los objetos restantes en las solicitudes de seguimiento. Tipo: string Antepasado: ListVersionsResult |
NextVersionIdMarker |
Marcador de ID de versión para el último objeto devuelto en la lista. NextVersionIdMarker se devuelve cuando no se muestran todos los objetos. Puede establecer el valor VersionIdMarker para que muestre los objetos restantes en las solicitudes de seguimiento. Tipo: string Antepasado: ListVersionsResult |
MaxKeys |
Número máximo de objetos devueltos Tipo: string Antepasado: ListVersionsResult |
IsTruncated |
Indica si la lista de objetos devuelta está truncada. El valor true indica que la lista se truncó y false indica que la lista no se truncó. Tipo: boolean Antepasado: ListVersionsResult |
Version |
Contenedor de información de versión Tipo: container Antepasado: ListVersionsResult |
DeleteMarker |
Contenedor para objetos con marcadores de eliminación Tipo: container Antepasado: ListVersionsResult |
Key |
Nombre del objeto Tipo: string Antepasado: ListVersionsResult.Version | ListVersionsResult.DeleteMarker |
VersionId |
ID de versión del objeto Tipo: string Antepasado: ListVersionsResult, Version | ListVersionsResult, DeleteMarker |
IsLatest |
Si el objeto es la última versión. Si el valor del parámetro es true, el objeto es la última versión. Tipo: boolean Antepasado: ListVersionsResult.Version | ListVersionsResult.DeleteMarker |
LastModified |
El tiempo (UTC) en la que se modificó por última vez un objeto Tipo: date Antepasado: ListVersionsResult.Version | ListVersionsResult.DeleteMarker |
ETag |
Resumen MD5 de 128 bits del código de Base64 de un objeto. ETag es el identificador único del contenido del objeto. Se puede utilizar para identificar si se ha cambiado el contenido del objeto. La ETag real es el valor hash del objeto. Por ejemplo, si el valor ETag es A cuando se carga un objeto y el valor ETag ha cambiado a B cuando se descarga el objeto, indica que se cambia el contenido del objeto. La ETag solo refleja el contenido cambiado en lugar de los metadatos. Un objeto cargado o copiado tiene un ETag único después de ser cifrado usando MD5. Tipo: string Ancestro: ListVersionsResult.Version |
Type |
Tipo de objeto. Este parámetro se devuelve cuando el tipo de objeto no es Normal. Tipo: string Ancestro: ListVersionsResult.Version |
Size |
Tamaño del objeto, en bytes Tipo: string Ancestro: ListVersionsResult.Version |
Owner |
Información del usuario, incluido el ID de dominio y el nombre de usuario Tipo: container Antepasado: ListVersionsResult.Version | ListVersionsResult.DeleteMarker |
ID |
ID del dominio al que pertenece el propietario del objeto Tipo: string Antepasado: ListVersionsResult.Version.Owner | ListVersionsResult.DeleteMarker.Owner |
StorageClass |
Clase de almacenamiento de un objeto Tipo: Enumeration Ancestro: ListVersionsResult.Version |
CommonPrefixes |
Información del grupo. Si especifica un delimitador en la solicitud, la respuesta contiene información de grupo de CommonPrefixes. Tipo: container Antepasado: ListVersionsResult |
Prefix |
Indica un prefijo diferente en la información de grupo de CommonPrefixes. Tipo: string Antepasado: ListVersionsResult.CommonPrefixes |
Respuestas de error
No hay respuestas de error especiales involucradas. Para obtener más información sobre las respuestas de error, consulte Tabla 2.
Muestra de solicitud 1
Listar todos los 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= |
Muestra de respuesta 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> |
Muestra de solicitud 2
Filtrar objetos.
Un usuario tiene un bucket llamado examplebucket. El bucket tiene tres objetos denominados newfile, obj001 y obj002. Si desea ver solo el objeto obj002, el formato del mensaje de solicitud es el siguiente:
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=
Muestra de respuesta 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> |
Muestra de solicitud 3
Control de versiones
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= |
Muestra de respuesta 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> |