Put Blob
La Put Blob
operación crea un nuevo blob en bloques, páginas o anexos, o actualiza el contenido de un blob en bloques existente. La Put Blob
operación sobrescribirá todo el contenido de un blob existente con el mismo nombre.
Al actualizar un blob en bloques existente, se sobrescriben los metadatos existentes en el blob. El contenido del blob existente se sobrescribe con el contenido del nuevo blob. Las actualizaciones parciales no se admiten con Put Blob
. Para realizar una actualización parcial del contenido de un blob en bloques, use la operación Put Block List .
Solo puede crear un blob en anexos en las versiones 2015-02-21 y posteriores.
Una llamada a para Put Blob
crear un blob en páginas o un blob en anexos solo inicializa el blob. Si el blob ya existe, se borrará el contenido. Para agregar contenido a un blob en páginas, llame a la operación Put Page . Para agregar contenido a un blob en anexos, llame a la operación Anexar bloque .
Solicitud
Puede construir la Put Blob
solicitud como se indica a continuación. Se recomienda usar HTTPS. Reemplace myaccount por el nombre de la cuenta de almacenamiento:
URI de solicitud de método PUT | Versión de HTTP |
---|---|
https://myaccount.blob.core.windows.net/mycontainer/myblob |
HTTP/1.1 |
Solicitud de servicio de almacenamiento emulada
Cuando realice una solicitud en el servicio de almacenamiento emulado, especifique el nombre de host del emulador y el puerto de Blob service como 127.0.0.1:10000
, seguido del nombre de la cuenta de almacenamiento emulada:
URI de solicitud de método PUT | Versión de HTTP |
---|---|
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob |
HTTP/1.1 |
El emulador de almacenamiento solo admite tamaños de blob de hasta 2 gibibytes (GiB).
Para más información, consulte Uso del emulador de Azurite para desarrollo y pruebas locales de Azure Storage.
Parámetros del identificador URI
Se pueden especificar los siguientes parámetros adicionales en el URI de solicitud:
Parámetro | Descripción |
---|---|
timeout |
Opcional. El parámetro timeout se expresa en segundos. Para más información, consulte Establecimiento de tiempos de espera para las operaciones de Blob Service. |
Encabezados de solicitud (todos los tipos de blobs)
Los encabezados de solicitud obligatorios y opcionales para todos los tipos de blobs se describen en la tabla siguiente:
Encabezado de solicitud | Descripción |
---|---|
Authorization |
Necesario. Especifica el esquema de autorización, el nombre de la cuenta y la firma. Para obtener más información, vea Autorización de solicitudes a Azure Storage. |
Date o x-ms-date |
Necesario. Especifica la hora universal coordinada (UTC) de la solicitud. Para obtener más información, vea Autorización de solicitudes a Azure Storage. |
x-ms-version |
Obligatorio para todas las solicitudes autorizadas. Especifica la versión de la operación que se utiliza para esta solicitud. Para obtener más información, vea Versiones de los servicios de Azure Storage. |
Content-Length |
Necesario. La longitud de la solicitud. Para un blob en páginas o un blob en anexos, el valor de este encabezado debe establecerse en cero, ya que Put Blob solo se usa para inicializar el blob. Para escribir contenido en un blob en páginas existente, llame a Put Page. Para escribir contenido en un blob en anexos, llame a Append Block. |
Content-Type |
Opcional. El tipo de contenido MIME del blob. El tipo predeterminado es application/octet-stream . |
Content-Encoding |
Opcional. Especifica las codificaciones de contenido que se han aplicado al blob. Este valor se devuelve al cliente cuando se realiza la operación Get Blob en el recurso de blob. Cuando se devuelve este valor, el cliente puede usarlo para descodificar el contenido del blob. |
Content-Language |
Opcional. Especifica los lenguajes naturales que usa este recurso. |
Content-MD5 |
Opcional. Hash MD5 del contenido del blob. Este hash se utiliza para comprobar la integridad del blob durante el transporte. Cuando se especifica este encabezado, el servicio de almacenamiento comprueba el hash que ha llegado al que se envió. Si ambos valores de hash no coinciden, la operación produce un error con el código de estado 400 (solicitud incorrecta). Cuando el encabezado se omite en la versión 2012-02-12 o posterior, Blob Storage genera un hash MD5. Los resultados de Get Blob, Get Blob Properties y List Blobs incluyen el hash MD5. |
x-ms-content-crc64 |
Opcional. Hash CRC64 del contenido del blob. Este hash se utiliza para comprobar la integridad del blob durante el transporte. Cuando se especifica este encabezado, el servicio de almacenamiento comprueba el hash que ha llegado al que se envió. Si ambos valores de hash no coinciden, la operación produce un error con el código de estado 400 (solicitud incorrecta). Este encabezado se admite en las versiones 02-02-2019 y posteriores. Si los encabezados Content-MD5 y x-ms-content-crc64 están presentes, la solicitud produce un error 400 (solicitud incorrecta). |
Cache-Control |
Opcional. Blob Storage almacena este valor, pero no lo usa ni lo modifica. |
x-ms-blob-content-type |
Opcional. Establece el tipo de contenido del blob. |
x-ms-blob-content-encoding |
Opcional. Establece la codificación de contenido del blob. |
x-ms-blob-content-language |
Opcional. Establece el idioma del contenido del blob. |
x-ms-blob-content-md5 |
Opcional. Establece el hash MD5 del blob. Para BlockBlob, este encabezado tiene prioridad sobre Content-MD5 cuándo se comprueba la integridad del blob durante el transporte. Para PageBlob y AppendBlob, este encabezado establece directamente el hash MD5 del blob. |
x-ms-blob-cache-control |
Opcional. Establece el control de caché del blob. |
x-ms-blob-type: <BlockBlob ¦ PageBlob ¦ AppendBlob> |
Necesario. Especifica el tipo de blob que se va a crear: blob en bloques, blob en páginas o blob en anexos. La compatibilidad con la creación de un blob en anexos solo está disponible en la versión 2015-02-21 y posteriores. |
x-ms-meta-name:value |
Opcional. Pares nombre-valor asociados al blob como metadatos. Nota: A partir de la versión 2009-09-19, los nombres de metadatos deben cumplir las reglas de nomenclatura de los identificadores de C#. |
x-ms-encryption-scope |
Opcional. Indica el ámbito de cifrado que se va a usar para cifrar el contenido de la solicitud. Este encabezado es compatible con las versiones 2019-02-02 y posteriores. |
x-ms-encryption-context |
Opcional. El valor predeterminado es "Empty". Si el valor se establece, establecerá los metadatos del sistema de blobs. Longitud máxima-1024. Válido solo cuando el espacio de nombres jerárquico está habilitado para la cuenta. Este encabezado se admite en las versiones 2021-08-06 y posteriores. |
x-ms-tags |
Opcional. Establece las etiquetas codificadas de cadena de consulta especificadas en el blob. Consulte los comentarios para obtener información adicional. Se admite en la versión 2019-12-12 y posteriores. |
x-ms-lease-id:<ID> |
Obligatorio si el blob tiene una concesión activa. Para realizar esta operación en un blob con una concesión activa, especifique el identificador de concesión válido de este encabezado. |
x-ms-blob-content-disposition |
Opcional. Establece el encabezado Content-Disposition del blob. Disponible para las versiones 2013-08-15 y posteriores.El Content-Disposition campo de encabezado de respuesta transmite información adicional sobre cómo procesar la carga de respuesta y puede usarla para adjuntar metadatos adicionales. Por ejemplo, si el encabezado se establece attachment en , indica que el agente de usuario no debe mostrar la respuesta. En su lugar, debe mostrar un cuadro de diálogo Guardar como con un nombre de archivo distinto del nombre de blob especificado.La respuesta de las operaciones Get Blob y Get Blob Properties incluye el content-disposition encabezado . |
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. Para más información, consulte Compatibilidad de CORS con los servicios de Azure Storage. |
x-ms-client-request-id |
Opcional. Proporciona un valor opaco generado por el cliente con un límite de caracteres de 1 kibibyte (KiB) que se registra en los registros de análisis cuando se configura el registro. Se recomienda encarecidamente usar este encabezado para correlacionar las actividades del lado cliente con las solicitudes que recibe el servidor. Para más información, consulte Acerca del registro de Storage Analytics. |
x-ms-access-tier |
Opcional. Nivel que se va a establecer en el blob. Para blobs en páginas en una cuenta de Premium Storage solo con la versión 2017-04-17 y posteriores. Para obtener una lista completa de los niveles compatibles con blobs en páginas, consulte Almacenamiento premium de alto rendimiento y discos administrados para máquinas virtuales (VM). En el caso de los blobs en bloques, se admiten en cuentas de almacenamiento de blobs o de uso general v2 solo con la versión 2018-11-09 y posteriores. Los valores válidos para los niveles de blob en bloques son Hot , Cool Cold , y Archive .
Nota: Cold el nivel es compatible con la versión 2021-12-02 y posteriores. Para obtener información detallada sobre los niveles de blobs en bloques, consulte Niveles de almacenamiento de acceso frecuente , esporádico y de archivo. |
x-ms-immutability-policy-until-date |
Versión 2020-06-12 y posteriores. Especifica la fecha de retención hasta que se va a establecer en el blob. Esta es la fecha hasta la que se puede proteger el blob de que se va a modificar o eliminar. Sigue RFC1123 formato. |
x-ms-immutability-policy-mode |
Versión 2020-06-12 y posteriores. Especifica el modo de directiva de inmutabilidad que se va a establecer en el blob. Los valores válidos son unlocked y locked . Con unlocked , los usuarios pueden cambiar la directiva aumentando o disminuyendo la fecha de retención hasta la fecha. Con locked , estas acciones están prohibidas. |
x-ms-legal-hold |
Versión 2020-06-12 y posteriores. Especifica la suspensión legal que se va a establecer en el blob. Los valores válidos son true y false . |
x-ms-expiry-option |
Opcional. Versión 2023-08-03 y posteriores. Especifica la opción de fecha de expiración de la solicitud. Para obtener más información, vea ExpiryOption. Este encabezado es válido para las cuentas con el espacio de nombres jerárquico habilitado. |
x-ms-expiry-time |
Opcional. Versión 2023-08-03 y posteriores. Especifica la hora en que el blob está establecido en expirar. El formato de la fecha de expiración varía según x-ms-expiry-option . Para obtener más información, vea ExpiryOption. Este encabezado es válido para las cuentas con el espacio de nombres jerárquico habilitado. |
Esta operación también admite el uso de encabezados condicionales para escribir en el blob solo si se cumple una condición especificada. Para más información, consulte Especificación de encabezados condicionales para las operaciones de Blob Storage.
Encabezados de solicitud (solo blobs en páginas)
Los encabezados de solicitud que solo son aplicables para las operaciones en blobs en páginas se describen en la tabla siguiente:
Encabezado de solicitud | Descripción |
---|---|
x-ms-blob-content-length: bytes |
Obligatorio para los blobs en páginas. Este encabezado especifica el tamaño máximo del blob en páginas, hasta 8 tebibytes (TiB). El tamaño del blob en páginas se debe alinear con un límite de 512 bytes. Si se especifica este encabezado para un blob en bloques o un blob en anexos, Blob Storage devuelve el código de estado 400 (solicitud incorrecta). |
x-ms-blob-sequence-number: <num> |
Opcional. Solo se establece para los blobs en páginas. El número de secuencia es un valor controlado por el usuario que se puede utilizar para hacer un seguimiento de las solicitudes. El valor del número de secuencia debe ser de 0 a 2^63 - 1. El valor predeterminado es 0. |
x-ms-access-tier |
Versión 2017-04-17 y posteriores. Solo para blobs en páginas en una cuenta de Premium Storage. Especifica el nivel que se va a establecer en el blob. Para obtener una lista completa de los niveles admitidos, consulte Almacenamiento Premium de alto rendimiento y discos administrados para máquinas virtuales. |
x-ms-client-request-id |
Este encabezado se puede usar para solucionar problemas de solicitudes y respuestas correspondientes. El valor de este encabezado es igual al valor del x-ms-client-request-id encabezado si está presente en la solicitud y el valor no contiene más de 1024 caracteres ASCII visibles. Si el x-ms-client-request-id encabezado no está presente en la solicitud, no estará presente en la respuesta. |
Encabezados de solicitud (claves de cifrado proporcionadas por el cliente)
A partir de la versión 2019-02-02, se pueden especificar los encabezados siguientes en la solicitud para cifrar un blob con una clave proporcionada por el cliente. El cifrado con una clave proporcionada por el cliente (y el conjunto de encabezados correspondiente) es opcional.
Encabezado de solicitud | Descripción |
---|---|
x-ms-encryption-key |
Necesario. Clave de cifrado AES-256 codificada en Base64. |
x-ms-encryption-key-sha256 |
Necesario. Hash SHA256 codificado en Base64 de la clave de cifrado. |
x-ms-encryption-algorithm: AES256 |
Necesario. Especifica el algoritmo que se va a usar para el cifrado. El valor de este encabezado debe ser AES256 . |
Cuerpo de la solicitud
En un blob en bloques, el cuerpo de la solicitud incluye el contenido del blob.
Para un blob en páginas o un blob en anexos, el cuerpo de la solicitud está vacío.
Solicitud de ejemplo
En el ejemplo siguiente se muestra una solicitud para crear un blob en bloques:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myblockblob HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Content-Type: text/plain; charset=UTF-8
x-ms-blob-content-disposition: attachment; filename="fname.ext"
x-ms-blob-type: BlockBlob
x-ms-meta-m1: v1
x-ms-meta-m2: v2
x-ms-expiry-option: RelativeToNow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Content-Length: 11
Request Body:
hello world
Esta solicitud de ejemplo crea un blob en páginas y especifica su tamaño máximo como 1024 bytes. Para agregar contenido a un blob en páginas, debe llamar a Put Page:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/mypageblob HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Content-Type: text/plain; charset=UTF-8
x-ms-blob-type: PageBlob
x-ms-blob-content-length: 1024
x-ms-blob-sequence-number: 0
Authorization: SharedKey
Origin: http://contoso.com
Vary: Origin
myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Content-Length: 0
Esta solicitud de ejemplo crea un blob en anexos. Para agregar contenido al blob en anexos, debe llamar a Append Block:
Request Syntax:
PUT https://myaccount.blob.core.windows.net/mycontainer/myappendblob HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Content-Type: text/plain; charset=UTF-8
x-ms-blob-type: AppendBlob
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=
Origin: http://contoso.com
Vary: Origin
Content-Length: 0
Response
La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.
status code
Una operación correcta devuelve el código de estado 201 (Creado).
Para obtener más información sobre los códigos de estado, vea Códigos de estado y de error.
Encabezados de respuesta
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 se ajustan a la especificación del protocolo HTTP/1.1.
Encabezado de respuesta | Descripción |
---|---|
ETag |
Contiene un valor que el cliente puede usar para realizar operaciones condicionales PUT mediante el encabezado de If-Match solicitud. Si la versión de la solicitud es 2011-08-18 o posterior, el valor ETag se incluye entre comillas. |
Last-Modified |
Fecha y hora en 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 Representar valores de fecha y hora en encabezados. Cualquier operación de escritura realizada en el blob (incluidas las actualizaciones de los metadatos o las propiedades del blob) cambia la hora de la última modificación del blob. |
Content-MD5 |
Se devuelve para un blob en bloques para que el cliente pueda comprobar la integridad del contenido del mensaje. Blob Storage calcula el Content-MD5 valor devuelto. En la versión 2012-02-12 y posteriores, este encabezado se devuelve incluso cuando la solicitud no incluye Content-MD5 encabezados o x-ms-blob-content-md5 . |
x-ms-content-crc64 |
Se devuelve para un blob en bloques para que el cliente pueda comprobar la integridad del contenido del mensaje. Blob Storage calcula el x-ms-content-crc64 valor devuelto. Este encabezado siempre se devuelve a partir de la versión 2019-02-02. |
x-ms-request-id |
Identifica de forma única la solicitud que se realizó y puede usarla para solucionar problemas de la solicitud. Para más información, consulte Solución de problemas de operaciones de API. |
x-ms-version |
Indica la versión de Blob Storage que se usó para ejecutar la solicitud. Se devuelve para las solicitudes realizadas en la versión 2009-09-19 y posteriores. |
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 de solicitud de origen si hay 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. |
Access-Control-Allow-Credentials |
Se devuelve si la solicitud incluye un Origin encabezado y CORS está habilitado con una regla coincidente que no permite todos los orígenes. Este encabezado se establece en true. |
x-ms-request-server-encrypted: true/false |
Versión 2015-12-11 y posteriores. El valor de este encabezado se establece true en si el contenido de la solicitud se cifra correctamente mediante el algoritmo especificado. De lo contrario, el valor es false . |
x-ms-encryption-key-sha256 |
Versión 2019-02-02 y posteriores. Se devuelve si la solicitud usó una clave proporcionada por el cliente para el cifrado, de modo que el cliente pueda asegurarse de que el contenido de la solicitud se cifre correctamente mediante la clave proporcionada. |
x-ms-encryption-scope |
Versión 2019-02-02 y posteriores. Se devuelve si la solicitud usó un ámbito de cifrado para que el cliente pueda asegurarse de que el contenido de la solicitud se cifre correctamente mediante el ámbito de cifrado. |
x-ms-version-id: <DateTime> |
Versión 2019-12-12 y posteriores. Este encabezado devuelve un valor opaco DateTime que identifica de forma única el blob. El valor de este encabezado indica la versión del blob y se puede usar en solicitudes posteriores para acceder al blob. |
Response body
Ninguno.
Respuesta de muestra
Response Status:
HTTP/1.1 201 Created
Response Headers:
Transfer-Encoding: chunked
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==
x-ms-content-crc64: 77uWZTolTHU
Date: <date>
ETag: "0x8CB171BA9E94B0B"
Last-Modified: <date>
Access-Control-Allow-Origin: http://contoso.com
Access-Control-Expose-Headers: Content-MD5
Access-Control-Allow-Credentials: True
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-version-id: <DateTime>
Authorization
Se requiere autorización al llamar a cualquier operación de acceso a datos en Azure Storage. Puede autorizar la Put Blob
operación como se describe a continuación.
Si una solicitud especifica etiquetas con el encabezado de x-ms-tags
solicitud, el autor de la llamada debe cumplir los requisitos de autorización de la operación Establecer etiquetas de blob .
Importante
Microsoft recomienda usar Microsoft Entra ID con identidades administradas para autorizar solicitudes a Azure Storage. Microsoft Entra ID proporciona una mayor seguridad y facilidad de uso en comparación con la autorización de clave compartida.
Azure Storage admite el uso de Microsoft Entra ID para autorizar solicitudes a datos de blobs. Con Microsoft Entra ID, puede usar el control de acceso basado en rol de Azure (RBAC de Azure) para conceder permisos a una entidad de seguridad. La entidad de seguridad puede ser un usuario, un grupo, una entidad de servicio de aplicación o una identidad administrada de Azure. La entidad de seguridad se autentica mediante Microsoft Entra ID para devolver un token de OAuth 2.0. Después, el token se puede usar para autorizar una solicitud en Blob service.
Para más información sobre la autorización mediante Microsoft Entra ID, consulte Autorización del acceso a blobs mediante Microsoft Entra ID.
Permisos
A continuación se enumeran las acciones de RBAC necesarias para un usuario, grupo, identidad administrada o entidad de servicio de Microsoft Entra para llamar a la Put Blob
operación y el rol RBAC integrado con privilegios mínimos que incluye esta acción:
-
Acción de RBAC de Azure:
- Create nuevo blob en bloques: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
- Create blob en bloques nuevo o sobrescribirlo: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- Rol integrado con privilegios mínimos:Colaborador de datos de Storage Blob
Para más información sobre la asignación de roles mediante RBAC de Azure, consulte Asignación de un rol de Azure para el acceso a datos de blobs.
Comentarios
Al crear un blob, debe especificar si es un blob en bloques, un blob en anexos o un blob en páginas especificando el valor del x-ms-blob-type
encabezado. Una vez creado un blob, el tipo del blob no se puede cambiar a menos que se elimine y se vuelva a crear.
En la tabla siguiente se describen los tamaños máximos permitidos de bloques y blobs, por versión del servicio:
Versión del servicio | Tamaño máximo de bloque (a través de Put Block ) |
Tamaño máximo del blob (a través de Put Block List ) |
Tamaño máximo de blob a través de una operación de escritura única (a través de Put Blob ) |
---|---|---|---|
Versión 2019-12-12 y posteriores | 4000 mebibytes (MiB) | Aproximadamente 190,7 TiB (4000 MiB × 50 000 bloques) | 5000 MiB |
Versiones 2016-05-31 a 2019-07-07 | 100 MiB | Aproximadamente 4,75 TiB (100 MiB × 50 000 bloques) | 256 MiB |
Versiones anteriores a 2016-05-31 | 4 MiB | Aproximadamente 195 GiB (4 MiB × 50 000 bloques) | 64 MiB |
Si intenta cargar un blob en bloques mayor que el tamaño máximo permitido para esa versión del servicio o un blob en páginas mayor que 8 TiB, el servicio devuelve el código de estado 413 (solicitar entidad demasiado grande). Blob Storage también devuelve información adicional sobre el error en la respuesta, incluido el tamaño máximo permitido del blob, en bytes.
Para crear un nuevo blob en páginas, primero inicialice el blob llamando a Put Blob
y, a continuación, especifique su tamaño máximo, hasta 8 TiB. Al crear un blob en páginas, no incluya contenido en el cuerpo de la solicitud. Una vez creado el blob, llame a Put Page para agregar contenido al blob o para modificarlo.
Para crear un nuevo blob en anexos, llame Put Blob
a para crearlo con una longitud de contenido de 0 bytes. Una vez creado el blob en anexos, llame a Append Block para agregar contenido al final.
Si llama Put Blob
a para sobrescribir un blob existente con el mismo nombre, se conservan las instantáneas asociadas al blob original. Para quitar instantáneas asociadas, primero llame a Delete Blob y, a continuación, llame Put Blob
a para volver a crear el blob.
Propiedades personalizadas de blobs
Un blob tiene propiedades personalizadas (establecidas a través de encabezados) que puede usar para almacenar valores asociados a encabezados HTTP estándar. Posteriormente, puede leer estos valores mediante una llamada a Get Blob Properties o modificarlos llamando a Set Blob Properties. Los encabezados de propiedad personalizados y el encabezado HTTP estándar correspondiente aparecen en la tabla siguiente:
Encabezado HTTP | Encabezado de propiedad de blob personalizado |
---|---|
Content-Type |
x-ms-blob-content-type |
Content-Encoding |
x-ms-blob-content-encoding |
Content-Language |
x-ms-blob-content-language |
Content-MD5 |
x-ms-blob-content-md5 |
Cache-Control |
x-ms-blob-cache-control |
La semántica para establecer o conservar estos valores de propiedad con el blob son los siguientes:
Si el cliente especifica un encabezado de propiedad personalizado, indicado por el prefijo
x-ms-blob
, este valor se almacena con el blob.Si el cliente especifica un encabezado HTTP estándar, pero no el encabezado de propiedad personalizado, el valor se almacena en la propiedad personalizada correspondiente asociada al blob y la devuelve una llamada a
Get Blob Properties
. Por ejemplo, si el cliente establece el encabezadoContent-Type
en la solicitud, ese valor se almacena en la propiedadx-ms-blob-content-type
del blob.Si el cliente establece el encabezado HTTP estándar y el encabezado de propiedad correspondiente en la misma solicitud, la solicitud PUT usa el valor proporcionado para el encabezado HTTP estándar, pero el valor especificado para el encabezado de propiedad personalizado se conserva con el blob y devuelve las solicitudes GET posteriores.
Si se proporcionan etiquetas en el x-ms-tags
encabezado, deben estar codificadas en cadena de consulta. Las claves y los valores de etiqueta deben cumplir los requisitos de nomenclatura y longitud, tal y como se especifica en Set Blob Tags
. Además, el x-ms-tags
encabezado puede contener hasta 2 kb de etiquetas. Si se requieren más etiquetas, use la operación Establecer etiquetas de blob .
Si el blob tiene una concesión activa, el cliente debe especificar un identificador de concesión válido en la solicitud para sobrescribir el blob. Si el cliente no especifica un identificador de concesión o especifica un identificador de concesión no válido, Blob Storage devuelve el código de estado 412 (error de condición previa). Si el cliente especifica un identificador de concesión, pero el blob no tiene una concesión activa, Blob Storage también devuelve el código de estado 412 (error de condición previa). Si el cliente especifica un identificador de concesión en un blob que aún no existe, Blob Storage devuelve el código de estado 412 (error de condición previa) para las solicitudes realizadas en la versión 2013-08-15 y posteriores. Para las versiones anteriores a 2013-08-15, Blob Storage devuelve el código de estado 201 (creado).
Si una operación sobrescribe un blob existente con una Put Blob
concesión activa, la concesión persiste en el blob actualizado hasta que expire o se libere.
Se permite que se complete una Put Blob
operación de 10 minutos por MiB. Si la operación tarda más de 10 minutos por MiB en promedio, se agota el tiempo de espera de la operación.
Se produce un error al sobrescribir un archive
blob y sobrescribir un hot
blob o cool
hereda el nivel del blob antiguo si no se proporciona un x-ms-access-tier
encabezado.
ExpiryOption
Puede enviar los siguientes valores como encabezado x-ms-expiry-option
. Este encabezado no distingue mayúsculas de minúsculas.
Opción de expiración | Descripción |
---|---|
RelativeToNow |
Establece la fecha de expiración relativa a la hora actual.
x-ms-expiry-time debe especificarse como el número de milisegundos que transcurren desde el momento actual. |
Absolute |
x-ms-expiry-time debe especificarse como una hora absoluta, en formato RFC 1123. |
NeverExpire |
Establece el blob para que nunca expire o quite la fecha de expiración actual.
x-ms-expiry-time no se debe especificar. |
La semántica para establecer una fecha de expiración en un blob es la siguiente:
-
Set Expiry
solo se puede establecer en un blob y no en un directorio. -
Set Expiry
no se permite con unexpiryTime
elemento en el pasado. -
ExpiryTime
no se puede especificar con unexpiryOption
valor deNever
.
Facturación
Las solicitudes de precios se pueden originar en clientes que usan las API de Blob Storage, ya sea directamente a través de la API rest de Blob Storage o de una biblioteca cliente de Azure Storage. Estas solicitudes acumulan cargos por transacción. El tipo de transacción afecta a cómo se cobra la cuenta. Por ejemplo, las transacciones de lectura se acumulan en una categoría de facturación diferente que las transacciones de escritura. En la tabla siguiente se muestra la categoría de facturación de Put Blob
las solicitudes basadas en el tipo de cuenta de almacenamiento:
Operación | Tipo de cuenta de almacenamiento | Categoría de facturación |
---|---|---|
Put Blob | Blobs en bloques Premium De uso general, estándar, v2 De uso general, estándar, v1 |
Operaciones de escritura |
Para obtener información sobre los precios de la categoría de facturación especificada, consulte precios Azure Blob Storage.
Consulte también
Autorización de solicitudes a Azure Storage
Estado y códigos de error
Códigos de error de Blob service
Establecimiento de tiempos de espera para las operaciones de Blob Service