Esta página se ha traducido con Cloud Translation API.
Switch to English

Enumera objetos

Para enumerar los objetos de un depósito, realiza una solicitud GET con alcance a un depósito. También puedes usar parámetros de cadena de consulta para ampliar el alcance de la solicitud. La solicitud muestra la lista de objetos en un documento XML en el cuerpo de la respuesta, y los objetos en la lista se ordenan de manera lexicográfica por nombre.

Debes tener el permiso READ del depósito para obtener la lista de objetos que se encuentran en el depósito, y debes tener el permiso FULL_CONTROL del depósito para enumerar las LCA o un CORS de un depósito.

Puedes restringir y organizar la lista de objetos que se muestran en una solicitud de depósito GET mediante los parámetros de string de consulta delimiter, marker, max-keys y prefix.

La API de XML no muestra listas de más de 1,000 objetos.

Parámetros de string de consulta

Parámetro Descripción Obligatorio
delimiter Un carácter o varios caracteres que se pueden usar para simplificar una lista de objetos que usan un esquema de nombres similar a directorios. Se puede usar junto con un prefix. No
encoding-type Cuando se configura como url, los nombres de los objetos están codificados en URL en la respuesta. No
generation-marker La generación del objeto después de la cual deseas comenzar a enumerar objetos. Si usas el marcador de generación, también debes usar el marcador. No
marker El nombre del objeto después de el cual deseas comenzar a enumerar objetos. Los objetos cuyos nombres son lexicográficamente mayores que marker que se muestran en la lista de objetos. No
max-keys La cantidad máxima de objetos que se muestran en una solicitud de objeto de lista. No
prefix Una string que se puede usar para limitar la cantidad de objetos que se muestran en una solicitud de depósito GET a solo aquellos cuyos nombres comiencen con el valor especificado. Se puede usar junto con un delimiter. No
versions Si se especifica en un depósito con versión, muestra la lista de todas las versiones de objeto. Si se omite, solo se muestran las versiones actuales. No

Consulta los parámetros de string de consulta de URL firmados para obtener información sobre los parámetros que incluyes cuando creas y usas URL firmadas.

Solicita encabezados

Consulta encabezados de solicitud comunes.

Elementos de cuerpo de la solicitud

Esta solicitud no incluye un documento XML en el cuerpo de la solicitud.

Sintaxis de la solicitud

La siguiente sintaxis se aplica a las solicitudes de depósito GET que no usan parámetros o uno o más de los delimiter, generation-marker, marker, max-keys o prefix , y versions.

GET /?prefix=a_prefix&marker=a_marker&max-keys=max_number_of_keys&delimiter=a_delimiter HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: 0
Authorization: AUTHENTICATION_STRING

Encabezados de respuesta

La solicitud puede mostrar una variedad de encabezados de respuesta según los encabezados de la solicitud que uses.

Elementos del cuerpo de la respuesta

Los siguientes elementos del cuerpo de la respuesta solo se aplican si usas parámetros o uno o más de losdelimiter :generation-marker :marker ,max-keys :prefix oversions Parámetros de string de consulta para enumerar los objetos en un depósito.

Elemento Descripción
ListBucketResult Contenedor para la información del objeto que solicitas.
Name El nombre del depósito.
CommonPrefixes Contenedor para prefijos que cumplan con tus restricciones prefix y delimiter. Este contenedor se usa solo si especificas un delimiter en la solicitud y se omiten las entradas duplicadas.
Delimiter El delimiter que especificaste en la solicitud.
MaxKeys El max-keys que especificaste en la solicitud.
Prefix El prefix que especificaste en la solicitud.
GenerationMarker El generation-marker que especificaste en la solicitud.
NextGenerationMarker Si la lista de objetos que se muestra está incompleta y se usó el parámetro versions, NextGenerationMarker proporciona la generación del último objeto que se mostró. Si la lista ya está completa, no se muestra NextGenerationMarker.
Marker El marker que especificaste en la solicitud.
NextMarker NextMarker proporciona el nombre del último objeto que se mostró. Se puede proporcionar el valor de NextMarker en el parámetro de string de consulta marker en una llamada futura del depósito GET para seguir mostrando el depósito después de este conjunto de resultados. Si no hay más objetos en el depósito que siguen al último objeto de la lista, no se muestra NextMarker.
IsTruncated Indica si todos los objetos de un depósito se muestran en la lista. Si max-keys es menor que la cantidad de objetos en un depósito, este elemento es verdadero.
Contents Contenedor para la información del objeto si no se usa el parámetro de consulta versions.
Version Contenedor para la información del objeto si se usa el parámetro de búsqueda versions.
Key El nombre de un objeto
Generation La generación del objeto.
MetaGeneration Genera los metadatos del objeto.
IsLatest Si se especifica el parámetro de búsqueda versions, se establece como verdadero si el objeto está activo actualmente. Significa que si este objeto se solicita sin generación, se muestra.
LastModified La fecha y la hora de la última modificación de los metadatos del objeto.
DeletedTime Si se especificó el parámetro de búsqueda versions, contiene la fecha y la hora en que se reemplazó o borró un objeto para los objetos no actuales (si el depósito tiene habilitado el control de versiones).
ETag Una etiqueta de entidad HTTP 1.1 para el objeto.
Size Tamaño del objeto expresado en bytes.
KmsKeyName El nombre de la clave de KMS que se usa para encriptar el objeto. Este elemento solo está presente si el objeto está encriptado con claves de encriptación administradas por el cliente.

Ejemplos

En el siguiente ejemplo se muestran los objetos de un depósito llamado travel-maps.

Solicitud

GET / HTTP/1.1
Host: travel-maps.storage.googleapis.com
Date: Wed, 17 Feb 2010 15:31:56 GMT
Content-Length: 0
Content-Type: text/plain
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

Respuesta

HTTP/1.1 200 OK
 Content-Length: 4061
 Content-Type: application/xml
 Date: Wed, 17 Feb 2010 23:31:57 GMT
 Expires: Wed, 17 Feb 2010 23:31:57 GMT

<?xml version='1.0' encoding='utf-8'?>
<ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'>
  <Name>travel-maps</Name>
  <Prefix></Prefix>
  <Marker></Marker>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>europe/france/cannes.pdf</Key>
    <Generation>1360887759327000</Generation>
    <MetaGeneration>1</MetaGeneration>
    <LastModified>2010-02-17T22:11:12.487Z</LastModified>
    <ETag>"53fc311c15eda0a031809982ccf92aac"</ETag>
    <Size>5061631</Size>
  </Contents>
  <Contents>
    <Key>europe/france/paris.pdf</Key>
    <Generation>1360887759329000</Generation>
    <MetaGeneration>1</MetaGeneration>
    <LastModified>2010-02-17T22:09:57.457Z</LastModified>
    <ETag>"53fc311c15eda0a031809982ccf92aac"</ETag>
    <Size>5061631</Size>
  </Contents>
</ListBucketResult>

En el ejemplo siguiente se enumeran los objetos de mapas de viajes, pero se restringe la lista a 25 objetos que comienzan con la letra “t” y que aparecen después de “test”.

Solicitud

GET /?prefix=t&marker=test&max-keys=25 HTTP/1.1
Host: travel-maps.storage.googleapis.com
Date: Mon, 16 Feb 2010 22:58:38 GMT
Content-Length: 0
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

Respuesta

HTTP/1.1 200 OK
Date: Mon, 15 Feb 2010 12:30:40 GMT
Content-Length: 2705
Content-Type: application/xml

<?xml version='1.0' encoding='utf-8'?>
<ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'>
  <Name>travel-maps</Name>
  <Prefix>t</Prefix>
  <Marker>test</Marker>
  <MaxKeys>25</MaxKeys>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>test_a.jpg</Key>
    <Generation>1360887659329000</Generation>
    <MetaGeneration>1</MetaGeneration>
    <LastModified>2010-02-17T03:12:55.561Z</LastModified>
    <ETag>"2281880ef78388266ecd7d4c1b472a0e"</ETag>
    <Size>328</Size>
  </Contents>
  <Contents>
    <Key>test_b.jpg</Key>
    <Generation>1360887659323000</Generation>
    <MetaGeneration>1</MetaGeneration>
    <LastModified>2010-02-17T03:12:54.606Z</LastModified>
    <ETag>"2281880ef78388266ecd7d4c1b472a0e"</ETag>
    <Size>328</Size>
  </Contents>
  <Contents>
    <Key>test_c.jpg</Key>
    <LastModified>2010-02-17T03:12:53.734Z</LastModified>
    <ETag>"2281880ef78388266ecd7d4c1b472a0e"</ETag>
    <Size>328</Size>
  </Contents>
</ListBucketResult>

Ejemplo con prefijo y delimitador

En el siguiente ejemplo, se usa un prefix y un delimiter para mostrar una lista de objetos que se nombran con un esquema similar a un directorio. Mediante el uso de prefix=europe/ y delimiter=/, solo se muestran los objetos que están en el “directorio” europe/. Los objetos que están en "subdirectorios" del directorio Europa no se enumeran, sino que tienen la parte inicial de sus nombres incluidos en los elementos CommonPrefixes de la respuesta. En la muestra, se supone que los siguientes objetos están contenidos en un depósito llamado travel-maps:

  • frica/ghana.jpg
  • africa/egypt/cairo.jpg
  • europe/finland.jpg
  • europe/norway.jpg
  • europe/france/paris.jpg
  • europe/italy/rome.jpg
  • europe/sweden/stockholm.jpg
  • europe/sweden/stockholm/nordic_museum.jpg

La solicitud de muestra muestra un documento XML en el que se enumeran los dos objetos siguientes en el elemento Contents:

  • europe/finland.jpg
  • europe/norway.jpg

Los siguientes subdirectorios de Europa se enumeran en el elemento CommonPrefixes:

  • europe/france/
  • europe/italy/
  • europe/sweden/

Solicitud

GET /travel-maps?delimiter=/&prefix=europe/ HTTP/1.1
Host: storage.googleapis.com
Date: Mon, 16 Feb 2010 22:58:38 GMT
Content-Length: 0
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

Respuesta

HTTP/1.1 200 OK
Date: Mon, 15 Feb 2010 12:30:40 GMT
Content-Length: 1200
Content-Type: application/xml

<?xml version="1.0"?>
<ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'>
  <Name>mybucket</Name>
  <Prefix>europe/</Prefix>
  <Marker />
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>europe/finland.jpg</Key>
    <Generation>1360887659323000</Generation>
    <MetaGeneration>1</MetaGeneration>
    <LastModified>2010-02-17T03:12:55.561Z</LastModified>
    <ETag>"781e5e245d69b566979b86e28d23f2c7"</ETag>
    <Size>10</Size>
  </Contents>
  <Contents>
    <Key>europe/norway.jpg</Key>
    <Generation>1360887659323000</Generation>
    <MetaGeneration>1</MetaGeneration>
    <LastModified>2010-02-17T03:12:55.561Z</LastModified>
    <ETag>"781e5e245d69b566979b86e28d23f2c7"</ETag>
    <Size>10</Size>
  </Contents>
  <CommonPrefixes>
    <Prefix>europe/france/</Prefix>
  </CommonPrefixes>
  <CommonPrefixes>
    <Prefix>europe/italy/</Prefix>
  </CommonPrefixes>
  <CommonPrefixes>
    <Prefix>europe/sweden/</Prefix>
  </CommonPrefixes>
</ListBucketResult>