VENTAS: 1-800-867-1389

Get Block List

Actualizado: febrero de 2014

La operación Get Block List recupera la lista de bloques que se han cargado como parte de un blob en bloques.

Para cada blob se mantienen dos listas de bloques:

  • Lista de bloques confirmados: la lista de bloques que se han confirmado correctamente para un determinado blob con Put Block List.

  • Lista de bloques sin confirmar: la lista de bloques que se han cargado para un blob con Put Block, pero que aún no se han confirmado. Estos bloques se almacenan en Azure asociados a un blob, pero aún no forman parte de él.

Puede llamar a Get Block List para que devuelva la lista de bloques confirmados, la lista de bloques sin confirmar o ambas listas. También puede llamar a esta operación para recuperar la lista de bloques confirmados para una instantánea.

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

 

  URI de solicitud del método GET Versión de HTTP

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist

https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=<DateTime>

HTTP/1.1

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:

 

  URI de solicitud del método GET Versión de HTTP

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob?comp=blocklist

HTTP/1.1

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

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

 

Parámetro URI Descripción

snapshot

Opcional. El parámetro de instantánea es un valor DateTime opaco que, cuando está presente, especifica la lista de blobs que se va a recuperar. Para obtener más información acerca del trabajo con instantáneas de blob, vea Crear una instantánea de un blob.

blocklisttype

Especifica si se debe devolver la lista de bloques confirmados, la lista de bloques sin confirmar o ambas listas. Los valores válidos son committed, uncommitted o all. Si omite este parámetro, Get Block List devuelve la lista de bloques confirmados.

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, opcional para las solicitudes anónimas. 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-lease-id:<ID>

Opcional. Si se especifica este encabezado, la operación se realizará solo si se cumplen las dos condiciones siguientes:

  • La concesión del blob está activa actualmente.

  • El identificador de concesión especificado en la solicitud coincide con el del blob.

Si se especifica este encabezado y no se cumplen ambas condiciones, la solicitud producirá un error y la operación generará un error con el código de estado 412 (Error de condición previa).

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 Azure: usar registros para realizar el seguimiento de las solicitudes de almacenamiento.

El ejemplo siguiente de URI de solicitud devuelve la lista de bloques confirmados para un blob denominado MOV1.avi:

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=committed HTTP/1.1

El ejemplo siguiente de URI de solicitud devuelve ambas listas, la de bloques confirmados y la de bloques sin confirmar:

GET http://myaccount.blob.core.windows.net/movies/MOV1.avi?comp=blocklist&blocklisttype=all HTTP/1.1

El ejemplo siguiente de URI de solicitud devuelve la lista de bloques confirmados para una instantánea: tenga en cuenta que una instantánea consta solamente de bloques confirmados, por lo que no hay ningún bloque sin confirmar asociado a ella.

GET http://myaccount.blob.core.windows.net/mycontainer/myblob?comp=blocklist&snapshot=2009-09-30T20%3a11%3a15.2735974Z

La respuesta incluye un código de estado HTTP, un conjunto de encabezados de respuesta y un cuerpo de respuesta que contiene la lista de bloques.

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 puede incluir otros encabezados HTTP estándar. Todos los encabezados estándar cumplen la especificación del protocolo HTTP/1.1.

 

Encabezado de respuesta Descripción

Last-Modified

La fecha y la hora en la que se modificó por última vez el blob. El formato de la fecha sigue las convenciones de RFC 1123. Para obtener más información, vea Representación de valores de fecha u hora en encabezados. Se devuelve el encabezado solo si el blob tiene bloques confirmados.

Cualquier operación que modifique el blob, incluidas las actualizaciones de los metadatos o las propiedades del blob, cambia la hora de la última modificación del blob.

ETag

La ETag del blob. Se devuelve el encabezado solo si el blob tiene bloques confirmados.

Content-Type

El tipo de contenido MIME del blob. El valor predeterminado es application/xml.

x-ms-blob-content-length

El tamaño del blob en bytes.

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.

Este encabezado también se devuelve para las solicitudes anónimas sin una versión especificada si el contenedor se marcó para acceso público utilizando la versión 2009-09-19 del servicio Blob. Tenga en cuenta que a través de una solicitud anónima solo se puede devolver la lista de bloques confirmados.

Date

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

Esta operación también admite el uso de encabezados condicionales para obtener la lista de bloqueo solo si se cumple una condición especificada. Para obtener más información, vea Especificar encabezados condicionales para las operaciones del servicio Blob.

El formato del cuerpo de respuesta de una solicitud que devuelve solo bloques confirmados es el siguiente:

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  <CommittedBlocks>
</BlockList>

El formato del cuerpo de respuesta de una solicitud que devuelve ambos tipos de bloques, confirmados y sin confirmar, es el siguiente:


<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
     <Block>
        <Name>base64-encoded-block-id</Name>
        <Size>size-in-bytes</Size>
     </Block>
  </CommittedBlocks>
  <UncommittedBlocks>
    <Block>
      <Name>base64-encoded-block-id</Name>
      <Size>size-in-bytes</Size>
    </Block>
  </UncommittedBlocks>
 </BlockList>

En el ejemplo siguiente, el parámetro blocklisttype se ha establecido en committed, por lo que en la respuesta solo se devuelven los bloques confirmados del blob.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:33:19 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>4194304</Size>
    </Block>
  </CommittedBlocks>
</BlockList>

En este ejemplo, el parámetro blocklisttype se ha establecido en all, por lo que en la respuesta se devuelven tanto los bloques confirmados como los bloques sin confirmar del blob.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Sun, 25 Sep 2011 00:35:56 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>4194304</Size>
    </Block>
  </CommittedBlocks>
  <UncommittedBlocks>
    <Block>
      <Name>BlockId003</Name>
      <Size>4194304</Size>
    </Block>
    <Block>
      <Name>BlockId004</Name>
      <Size>1024000</Size>
    </Block>
  </UncommittedBlocks>
</BlockList>

En el ejemplo siguiente, el parámetro blocklisttype se ha establecido en all, pero el blob aún no se ha confirmado, por lo que el elemento CommittedBlocks está vacío.

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: application/xml
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 42da571d-34f4-4d3e-b53e-59a66cb36f23
Date: Wed, 14 Sep 2011 00:40:22 GMT

<?xml version="1.0" encoding="utf-8"?>
<BlockList>
  <CommittedBlocks />
  <UncommittedBlocks>
    <Block>
      <Name>BlockId001</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId002</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId003</Name>
      <Size>1024</Size>
    </Block>
    <Block>
      <Name>BlockId004</Name>
      <Size>1024</Size>
    </Block>
  </UncommittedBlocks>
</BlockList>

Si se ha establecido la ACL del contenedor para permitir el acceso anónimo, cualquier cliente puede llamar a Get Block List; sin embargo, solo los bloques confirmados pueden tener acceso público. El acceso a la lista de bloques sin confirmar se limita al propietario de la cuenta y a cualquier persona con una firma de acceso compartido que tenga permiso para leer este blob o su contenedor.

Llame a Get Block List para que devuelva la lista de bloques que se han confirmado para un blob en bloques, la lista de bloques que aún no se han confirmado o ambas listas. Use el parámetro blocklisttype para especificar qué lista de bloques se debe devolver.

La lista de bloques confirmados se devuelve en el mismo orden en el que los confirmó la operación Put Block List. Un bloque puede aparecer más de una vez en la lista de bloques confirmados.

Puede usar la lista de bloques sin confirmar para determinar qué bloques faltan en el blob cuando las llamadas a Put Block o Put Block List han producido un error. La lista de bloques sin confirmar se devuelve comenzando por el último bloque cargado y terminando por el primer bloque que se cargó. Si un identificador de bloque se ha cargado más de una vez, en la lista solo aparece el último bloque cargado.

Tenga en cuenta que si un blob aún no se ha confirmado y llama a Get Block List con blocklisttype=all, se devolverán los bloques sin confirmar con el elemento CommittedBlocks vacío.

Get Block List se aplica solo a los blobs en bloques. Si llama a Get Block List en un blob en páginas, se generará el código de estado 400 (Solicitud incorrecta).

¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios
Mostrar:
© 2014 Microsoft