¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo

List Containers

Actualizado: noviembre de 2013

La operación List Containers devuelve una lista de los contenedores de la cuenta especificada.

La solicitud List Containers se puede construir como sigue. Se recomienda HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento:

 

Método URI de solicitud Versión de HTTP

GET

https://myaccount.blob.core.windows.net/?comp=list

HTTP/1.1

Tenga en cuenta que el URI debe incluir siempre la barra diagonal (/) para separar el nombre de host de las partes de la ruta de acceso y de la consulta del URI. En el caso de la operación List Containers, la parte de la ruta de acceso del URI está vacía.

Al realizar una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto del servicio Blob como 127.0.0.1:10000, seguido del nombre de la cuenta de almacenamiento emulado:

 

Método URI de solicitud Versión de HTTP

GET

http://127.0.0.1:10000/devstoreaccount1?comp=list

HTTP/1.1

Tenga en cuenta que el almacenamiento emulado solo admite blobs con un tamaño máximo de 2 GB.

Para obtener más información, vea Uso del emulador de almacenamiento de Azure para desarrollo y prueba y Diferencias entre el emulador de almacenamiento y los servicios de almacenamiento de Azure.

Se pueden especificar los parámetros adicionales siguientes en el URI de solicitud.

 

Parámetro Descripción

prefix

Opcional. Filtra los resultados para devolver solo los contenedores cuyo nombre empieza por el prefijo especificado.

marker

Opcional. Valor de cadena que identifica la parte de la lista que se va a devolver con la siguiente operación de lista. La operación devuelve un valor de marcador en el cuerpo de respuesta si la lista devuelta no estaba completa. Este valor de marcador se puede utilizar en una llamada subsiguiente para solicitar el siguiente conjunto de elementos de lista.

El valor de marcador es opaco para el cliente.

maxresults

Opcional. Especifica el número máximo de contenedores que se van a devolver. Si la solicitud no especifica maxresults, o especifica un valor superior a 5.000, el servidor devolverá un máximo de 5.000 elementos. Si el parámetro se establece en un valor menor o igual que cero, el servidor devolverá el código de estado 400 (Solicitud incorrecta).

include=metadata

Opcional. Incluya este parámetro para especificar que los metadatos del contenedor se deben devolver como parte del cuerpo de respuesta.

Tenga en cuenta que los metadatos solicitados con este parámetro deben almacenarse de acuerdo con las restricciones de nomenclatura impuestas por la versión 2009-09-19 del servicio Blob. A partir de esta versión, todos los nombres de los metadatos deben cumplir las convenciones de nomenclatura para los Identificadores de C#.

timeout

Opcional. El parámetro timeout se expresa en segundos. Para obtener más información, vea Establecer los tiempos de espera para las operaciones del servicio Blob.

En la tabla siguiente se describen los encabezados de solicitud requeridos y opcionales.

 

Encabezado de solicitud Descripción

Authorization

Requerido. Especifica el esquema de autenticación, el nombre de la cuenta y la firma. Para obtener más información, vea Autenticación para los servicios de almacenamiento de Azure.

Date O bien x-ms-date

Requerido. Especifica la hora universal coordinada (UTC) para la solicitud. Para obtener más información, vea Autenticación para los servicios de almacenamiento de Azure.

x-ms-version

Obligatorio para todas las solicitudes autenticadas. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Control de versiones de los servicios de almacenamiento de Azure.

x-ms-client-request-id

Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 KB que se graba en los registros de análisis cuando el registro de análisis de almacenamiento está habilitado. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes recibidas por el servidor. Para obtener más información, vea Acerca del registro del análisis de almacenamiento y Registro de Windows Azure: usar registros para realizar el seguimiento de las solicitudes de almacenamiento.

Vea la sección Solicitud y respuesta de ejemplo más adelante en este tema.

La respuesta incluye un código de estado HTTP, un conjunto de encabezados de respuesta y un cuerpo de respuesta en formato XML.

Una operación correcta devuelve el código de estado 200 (Correcto).

Para obtener información acerca de los códigos de estado, vea Códigos de estado y de error.

La respuesta para esta operación incluye los encabezados siguientes. La respuesta también incluye otros encabezados HTTP estándar. Todos los encabezados estándar cumplen la especificación del protocolo HTTP/1.1.

 

Encabezado de respuesta Descripción

Content-Type

Encabezado HTTP/1.1 estándar. Especifica el formato en el que se devuelven los resultados. Actualmente, este valor es application/xml.

x-ms-request-id

Este encabezado identifica de forma única la solicitud que se realizó y se puede utilizar para solucionar problemas relacionados con esta. Para obtener más información, vea Solucionar problemas relacionados con las operaciones de la API.

x-ms-version

Indica la versión del servicio Blob utilizado para ejecutar la solicitud. Este encabezado se devuelve para las solicitudes realizadas en la versión 2009-09-19 y versiones posteriores.

Date

Valor de fecha y hora UTC generado por el servicio que indica la hora a la que se inició la respuesta.

El formato del cuerpo de respuesta es el siguiente.

<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="https://myaccount.blob.core.windows.net">
  <Prefix>string-value</Prefix>
  <Marker>string-value</Marker>
  <MaxResults>int-value</MaxResults>
  <Containers>
    <Container>
      <Name>container-name</Name>
      <Properties>
        <Last-Modified>date/time-value</Last-Modified>
        <Etag>etag</Etag>
        <LeaseStatus>locked | unlocked</LeaseStatus>
        <LeaseState>available | leased | expired | breaking | broken</LeaseState>
        <LeaseDuration>infinite | fixed</LeaseDuration>      
      </Properties>
      <Metadata>
        <metadata-name>value</metadata-name>
      </Metadata>
    </Container>
  </Containers>
  <NextMarker>marker-value</NextMarker>
</EnumerationResults>

LeaseStatus, LeaseState y LeaseDuration solo aparecen en la versión 2012-02-12 y versiones posteriores.

A partir de la versión 2013-08-15, el atributo AccountName para el elemento EnumerationResults ha cambiado de nombre y ahora se llama ServiceEndpoint. El elemento URL también se ha quitado del elemento Container. En las versiones anteriores a 2013-08-15, la dirección URL del contenedor, tal como se especifica en el campo URL, no incluye el parámetro restype=container. Si utiliza este valor para realizar solicitudes posteriores en los contenedores enumerados, asegúrese de agregar este parámetro para indicar que el tipo de recurso es un contenedor.

Los elementos Prefix, Marker y MaxResults solo están presentes si se especificaron en el URI. El elemento NextMarker tiene un valor solo si los resultados de la lista no están completos.

El elemento Metadata está presente solo si se especificó el parámetro include=metadata en el URI. Dentro del elemento Metadata, el valor de cada par nombre-valor aparece en un elemento que corresponde al nombre del par.

Si un par nombre-valor de metadatos infringe las restricciones de nomenclatura impuestas por la versión 2009-09-19, el cuerpo de respuesta indica el nombre problemático en un elemento x-ms-invalid-name, tal como se muestra en el fragmento XML siguiente:


      <Metadata>
        <MyMetadata1>first value</MyMetadata1>
        <MyMetadata2>second value</MyMetadata2>
        <x-ms-invalid-name>invalid-metadata-name</x-ms-invalid-name>
      </Metadata>

noteNota
A partir de la versión 2009-09-19, el cuerpo de respuesta para List Containers devuelve la hora de la última modificación del contenedor en un elemento denominado Last-Modified. En versiones anteriores, este elemento se denominaba LastModified.

Vea la sección Solicitud y respuesta de ejemplo más adelante en este tema.

Solo el propietario de la cuenta puede llamar a esta operación.

Si especifica un valor para el parámetro maxresults y el número de contenedores que se van a devolver supera este valor, o supera el valor predeterminado de maxresults, el cuerpo de respuesta contendrá un elemento NextMarker que indicará el siguiente contenedor que se debe devolver en una solicitud subsiguiente. Para devolver el siguiente conjunto de elementos, especifique el valor de NextMarker como el parámetro de marcador en el URI para la solicitud siguiente.

Tenga en cuenta que el valor de NextMarker se debe tratar como opaco.

Los contenedores aparecen en orden alfabético en el cuerpo de respuesta.

La operación List Containers agota el tiempo de espera al cabo de 30 segundos.

El URI de ejemplo siguiente solicita la lista de contenedores para una cuenta, estableciendo en 3 el número máximo de resultados que se van a devolver para la operación inicial.

GET https://myaccount.blob.core.windows.net/?comp=list&maxresults=3 HTTP/1.1

La solicitud se envía con estos encabezados:

x-ms-version: 2013-08-15
x-ms-date: Wed, 23 Oct 2013 22:08:44 GMT
Authorization: SharedKey myaccount:CY1OP3O3jGFpYFbTCBimLn0Xov0vt0khH/D5Gy0fXvg=

El código de estado y los encabezados de respuesta se devuelven de la forma siguiente:

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Date: Wed, 23 Oct 2013 22:08:54 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0 

El código XML de respuesta para esta solicitud es el siguiente. Observe que el elemento NextMarker aparece a continuación del conjunto de contenedores e incluye el nombre del próximo contenedor que se va a devolver.

<?xml version="1.0" encoding="utf-8"?>
<EnumerationResults ServiceEndpoint="https://myaccount.blob.core.windows.net/">
  <MaxResults>3</MaxResults>
  <Containers>
    <Container>
      <Name>audio</Name>
      <Properties>
        <Last-Modified>Wed, 23 Oct 2013 20:39:39 GMT</Last-Modified>
        <Etag>0x8CACB9BD7C6B1B2</Etag>
      </Properties>
    </Container>
    <Container>
      <Name>images</Name>
      <Properties>
        <Last-Modified>Wed, 23 Oct 2013 20:39:39 GMT</Last-Modified>
        <Etag>0x8CACB9BD7C1EEEC</Etag>
      </Properties>
    </Container>
    <Container>
      <Name>textfiles</Name>
      <Properties>
        <Last-Modified>Wed, 23 Oct 2013 20:39:39 GMT</Last-Modified>
        <Etag>0x8CACB9BD7BACAC3</Etag>
      </Properties>
    </Container>
  </Containers>
  <NextMarker>video</NextMarker>
</EnumerationResults>

La subsiguiente operación de lista especifica el marcador en el URI de la solicitud, de la forma siguiente. El próximo conjunto de resultados se devuelve comenzando por el contenedor especificado por el marcador.

https://myaccount.blob.core.windows.net/?comp=list&maxresults=3&marker=video

Mostrar:
© 2015 Microsoft