VENTAS: 1-800-867-1389

Get Blob

Actualizado: junio de 2014

La operación Get Blob lee o descarga un blob del sistema, incluidos sus metadatos y propiedades. También se puede llamar a Get Blob para leer una instantánea.

La solicitud Get Blob 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

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

HTTP/1,0

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

HTTP/1,0

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 Descripción

snapshot

Opcional. El parámetro de instantánea es un valor DateTime opaco que, cuando está presente, especifica la instantánea de blob 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.

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.

Range

Opcional. Solo devuelve los bytes del blob en el intervalo especificado.

x-ms-range

Opcional. Solo devuelve los bytes del blob en el intervalo especificado. Si se especifican Range y x-ms-range, el servicio utiliza el valor de x-ms-range. Si no se especifica ninguno, se devuelve el contenido completo del blob. Vea Especificar el encabezado de intervalo para las operaciones del servicio Blob para obtener más información.

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 Get Blob generará un error con el código de estado 412 (Error de condición previa).

x-ms-range-get-content-md5: true

Opcional. Cuando este encabezado se establece en true y se especifica junto con el encabezado Range, el servicio devuelve el hash MD5 para el intervalo, siempre que el tamaño de este sea menor o igual que 4 MB.

Si se especifica este encabezado sin el encabezado Range, el servicio devuelve el código de estado 400 (Solicitud incorrecta).

Si este encabezado se establece en true cuando el tamaño del intervalo supera los 4 MB, el servicio devuelve el código de estado 400 (Solicitud incorrecta).

Origin

Opcional. Especifica el origen del que se emitirá la solicitud. La presencia de este encabezado da lugar a encabezados de uso compartido de recursos entre orígenes (CORS) en la respuesta.

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.

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

La respuesta incluye un código de estado HTTP, un conjunto de encabezados de respuesta y el cuerpo de respuesta, que incluye el contenido del blob.

Una operación correcta para leer todo el blob devuelve el código de estado 200 (CORRECTO).

Una operación correcta para leer un intervalo especificado devuelve el código de estado 206 (Contenido parcial).

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.

 

Sintaxis 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.

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

x-ms-meta-name:value

Conjunto de pares nombre-valor asociados a este blob como metadatos definidos por el usuario.

Content-Length

El número de bytes presentes en el cuerpo de respuesta.

Content-Type

El tipo de contenido especificado para el blob. El tipo de contenido predeterminado es application/octet-stream.

Content-Range

Indica el intervalo de bytes devueltos en caso de que el cliente solicitase un subconjunto del blob estableciendo el encabezado de solicitud Range.

ETag

La etiqueta de entidad contiene un valor que el cliente puede usar para realizar operaciones GET condicionales mediante el encabezado de solicitud If-Modified. Si la versión de la solicitud es 2011-08-18 o una más reciente, el valor ETag estará entre comillas.

Content-MD5

Si el blob tiene un hash MD5 y esta operación Get Blob tiene como fin leer el blob completo, se devuelve este encabezado de respuesta para que el cliente pueda comprobar la integridad del contenido del mensaje.

En la versión 2012-02-12 y en las versiones más recientes, Put Blob establece el valor del hash MD5 de un blob en bloques incluso si la solicitud Put Blob no incluye un encabezado MD5.

Si la solicitud es para leer un intervalo especificado y el encabezado x-ms-range-get-content-md5 se establece en true, el servicio devuelve un hash MD5 para el intervalo, siempre que el tamaño de este sea menor o igual que 4 MB.

Si ninguno de estos conjuntos de condiciones es true, no se devuelve ningún valor para el encabezado Content-MD5.

Si se especifica x-ms-range-get-content-md5 sin el encabezado Range, el servicio devuelve el código de estado 400 (Solicitud incorrecta).

Si x-ms-range-get-content-md5 se establece en true cuando el tamaño del intervalo supera los 4 MB, el servicio devuelve el código de estado 400 (Solicitud incorrecta).

Content-Encoding

Este encabezado devuelve el valor especificado para el encabezado de solicitud Content-Encoding.

Content-Language

Este encabezado devuelve el valor especificado para el encabezado de solicitud Content-Language.

Cache-Control

Se devuelve este encabezado si se especificó previamente para el blob.

Content-Disposition

Se devuelve para las solicitudes realizadas en la versión 2013-08-15 y posteriores. Este encabezado devuelve el valor especificado para el encabezado x-ms-blob-content-disposition.

El campo de encabezado de respuesta Content-Disposition transmite información adicional sobre cómo procesar la carga de respuesta y también se puede utilizar para adjuntar metadatos adicionales. Por ejemplo, si se establece en attachment, indica que el agente de usuario no debe mostrar la respuesta, sino que debe mostrar en su lugar un cuadro de diálogo Guardar como con un nombre de archivo distinto del nombre de blob especificado.

x-ms-blob-sequence-number

El número de secuencia actual de un blob en páginas.

Este encabezado no se devuelve para los blobs en bloques.

x-ms-blob-type: <BlockBlob,PageBlob>

Devuelve el tipo del blob.

x-ms-copy-completion-time:<datetime>

Versión 2012-02-12 y versiones más recientes. Hora de finalización del último intento de la operación Copy Blob en la que este blob era el blob de destino. Este valor puede especificar la hora de un intento de copia completado, anulado o con errores. Este encabezado no aparece si hay una copia pendiente, si el blob no ha sido nunca el destino de una operación Copy Blob, o si el blob se ha modificado después de una operación Copy Blob terminada mediante Set Blob Properties, Put Blob o Put Block List.

x-ms-copy-status-description: <error string>

Versión 2012-02-12 y versiones más recientes. Solo aparece cuando x-ms-copy-status es failed o pending. Describe la causa del último error recuperable o irrecuperable que se ha producido en la operación de copia. Este encabezado no aparece si el blob no ha sido nunca el destino de una operación Copy Blob, o si el blob se ha modificado después de una operación Copy Blob terminada mediante Set Blob Properties, Put Blob o Put Block List.

x-ms-copy-id: <id>

Versión 2012-02-12 y versiones más recientes. Identificador de cadena del último intento de la operación Copy Blob en la que este blob era el blob de destino. Este encabezado no aparece si el blob no ha sido nunca el destino de una operación Copy Blob, o si el blob se ha modificado después de una operación Copy Blob terminada mediante Set Blob Properties, Put Blob o Put Block List.

x-ms-copy-progress: <bytes copied/bytes total>

Versión 2012-02-12 y versiones más recientes. Contiene el número de bytes copiados y el número total de bytes existentes en el origen en el último intento de la operación Copy Blob en la que este blob era el blob de destino. Puede mostrar entre 0 y Content-Length bytes copiados. Este encabezado no aparece si el blob no ha sido nunca el destino de una operación Copy Blob, o si el blob se ha modificado después de una operación Copy Blob terminada mediante Set Blob Properties, Put Blob o Put Block List.

x-ms-copy-source: url

Versión 2012-02-12 y versiones más recientes. Dirección URL (hasta 2 KB) en la que se especifica el blob o el archivo de origen utilizado en el último intento de la operación Copy Blob en la que este blob era el blob de destino. Este encabezado no aparece si el blob no ha sido nunca el destino de una operación Copy Blob, o si el blob se ha modificado después de una operación Copy Blob terminada mediante Set Blob Properties, Put Blob o Put Block List.

x-ms-copy-status: <pending | success | aborted | failed>

Versión 2012-02-12 y versiones más recientes. Estado de la operación de copia identificado por x-ms-copy-id. Puede tener estos valores:

  • success: la copia se realizó correctamente.

  • pending: la copia está en curso. Compruebe x-ms-copy-status-description si se producen errores intermitentes o recuperables que ralentizan el progreso de la copia, pero que no provocan un error general.

  • aborted: la copia finalizó mediante Abort Blob Copy.

  • failed: se ha producido un error en la copia. Vea x-ms-copy-status-description para obtener información sobre los errores.

Este encabezado no aparece si el blob no ha sido nunca el destino de una operación Copy Blob, o si el blob se ha modificado después de una operación Copy Blob terminada mediante Set Blob Properties, Put Blob o Put Block List.

x-ms-lease-duration: <infinite | fixed>

Versión 2012-02-12 y versiones más recientes. Cuando se concede un blob, especifica si la concesión es de duración infinita o fija.

x-ms-lease-state: <available | leased | expired | breaking | broken>

Versión 2012-02-12 y versiones más recientes. Estado de concesión del blob.

x-ms-lease-status:<locked, unlocked>

El estado de concesión actual del blob.

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. Se incluye en las solicitudes que se crean con la versión 2009-09-19 y las versiones más recientes.

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.

Accept-Ranges: bytes

Indica que el servicio admite solicitudes de contenido parcial de blobs. Incluido para las solicitudes realizadas utilizando la versión 2011-08-18 y las versiones más recientes, y para el servicio de almacenamiento local en la versión 1.6 del SDK y las versiones más recientes.

Date

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

Access-Control-Allow-Origin

Se devuelve si la solicitud incluye un encabezado Origin y se ha habilitado CORS con una regla de coincidencia. Este encabezado devuelve el valor del encabezado Origin de la solicitud en caso de que haya una coincidencia.

Access-Control-Expose-Headers

Se devuelve si la solicitud incluye un encabezado Origin y se ha habilitado CORS con una regla de coincidencia. Devuelve la lista de encabezados de respuesta que se van a exponer al cliente o el emisor de la solicitud.

Vary

Se devuelve con el valor del encabezado Origin cuando se especifican reglas de CORS. Vea Compatibilidad con Uso compartido de recursos entre orígenes (CORS) para los Servicios de almacenamiento de Azure para obtener información más detallada.

Access-Control-Allow-Credentials

Se devuelve si la solicitud incluye un encabezado Origin y se ha habilitado CORS con una regla de coincidencia que no permite todos los orígenes. Este encabezado se establecerá en true.

El cuerpo de respuesta incluye el contenido del blob.

Status Response:
HTTP/1.1 200 OK

Response Headers:
x-ms-blob-type: BlockBlob
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-meta-m1: v1
x-ms-meta-m2: v2
Content-Length: 11
Content-Type: text/plain; charset=UTF-8
Date: Wed, 23 Oct 2013 22:49:18 GMT
ETag: "0x8CB171DBEAD6A6B"
Vary: Origin
Last-Modified: Wed, 23 Oct 2013 22:48:29 GMT
x-ms-version: 2013-08-15
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

Si la se establece lista de control de acceso (ACL) del contenedor para permitir el acceso anónimo al blob, cualquier cliente puede llamar a esta operación. Si el contenedor es privado, esta operación la puede realizar el propietario de la cuenta y cualquiera que disponga de una firma de acceso compartido con permiso para leer el blob.

Para un blob en páginas, la operación Get Blob sobre un intervalo de páginas que aún no tienen contenido o que han sido borradas devuelve ceros para esos bytes.

Si llama a Get Blob en un blob en páginas sin especificar un intervalo, el servicio devuelve el intervalo de páginas hasta el valor especificado para el encabezado x-ms-blob-content-length. Para las páginas que carecen de contenido, el servicio devuelve ceros para esos bytes.

Una operación Get Blob dispone de 2 minutos por MB para completarse. Si la operación tarda más de 2 minutos por MB como promedio, se agotará el tiempo de espera para la operación.

El encabezado x-ms-version es necesario para recuperar un blob que pertenece a un contenedor privado. Si el blob pertenece a un contenedor que está disponible para el acceso público completo o parcial, cualquier cliente podrá leerlo sin especificar una versión; la versión del servicio no es necesaria para recuperar un blob que pertenece a un contenedor público. Vea Acceso restringido a contenedores y blobs para obtener más información.

Operaciones de copia

Para determinar si una operación Copy Blob se ha completado, primero compruebe que el valor del encabezado x-ms-copy-id del blob de destino coincide con el identificador de copia proporcionado por la llamada original a Copy Blob. Si se produce esta coincidencia, significa que ninguna otra aplicación ha anulado la copia y ha iniciado una nueva operación Copy Blob. A continuación, compruebe el encabezado x-ms-copy-status: success. Sin embargo, tenga en cuenta que todas las operaciones de escritura que se realizan en un blob, excepto las operaciones Lease, Put Page y Put Block quitan de él todas las propiedades x-ms-copy-*. Además, las operaciones Copy Blob que utilizan versiones anteriores a 2012-02-12 tampoco copian estas propiedades.

Cuando x-ms-copy-status: failed aparece en la respuesta, x-ms-copy-status-description contiene más información sobre el error de Copy Blob.

En la tabla siguiente se describen los tres campos de cada valor de x-ms-copy-status-description.

 

Componente Descripción

Código de estado HTTP

Número entero de 3 dígitos estándar que especifica el error.

Código de error

Palabra clave que describe el error y que proporciona Azure en el elemento <ErrorCode>. Si no aparece ningún elemento <ErrorCode>, se utiliza una palabra clave que contiene el texto de error estándar asociado al código de estado HTTP de 3 dígitos de la especificación HTTP. Vea Códigos de error comunes de la API de REST.

Información

Descripción detallada del error, entre comillas.

En la tabla siguiente se describen los valores de x-ms-copy-status y x-ms-copy-status-description en escenarios de error comunes.

ImportantImportante
El texto de la descripción mostrado aquí puede cambiar sin previo aviso, incluso antes de un cambio de versión, por lo que no debe usarlo literalmente para detectar condiciones de error.

 

Escenario Valor de x-ms-copy-status Valor de x-ms-copy-status-description

Operación de copia completada correctamente.

success

vacío

El usuario ha anulado la operación de copia antes de que se haya completado.

aborted

vacío

Se produjo un error al leer el blob de origen durante una operación de copia, pero la operación se volverá a intentar.

pending

502 BadGateway "Al leer el origen se encontró un error que se puede reintentar. Se volverá a intentar. Hora del error: <time>"

Se produjo un error al escribir en el blob de destino durante una operación de copia, pero la operación se volverá a intentar.

pending

500 InternalServerError "Se encontró un error que se puede volver a intentar. Se volverá a intentar. Hora del error: <time>"

Se produjo un error irrecuperable al leer el blob de origen durante una operación de copia.

failed

404 ResourceNotFound "Error en la copia al leer el origen."

noteNota
Al informar de este error subyacente, Azure devuelve ResourceNotFound en el elemento <ErrorCode>. Si no aparece el elemento <ErrorCode> en la respuesta, aparecerá una representación de cadena estándar del estado HTTP, como NotFound.

El tiempo de espera que limita todas las operaciones de copia realizadas. (En la actualidad, el tiempo de espera es de 2 semanas).

failed

500 OperationCancelled "La copia superó el tiempo máximo permitido."

La operación de copia produjo errores muy frecuentes al leer del origen y no alcanzó la relación mínima entre intentos y operaciones correctas. (Este tiempo de espera impide que se produzcan reintentos en un origen deficiente durante 2 semanas antes de que se produzca un error).

failed

500 OperationCancelled "Error en la copia al leer el origen."

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