Control de versiones para los servicios Azure Storage versión

Los servicios de almacenamiento de Microsoft Azure admiten varias versiones. Para realizar una solicitud en los servicios de almacenamiento, debe especificar la versión que desea usar para esa operación, a menos que la solicitud sea anónima.

La versión actual de los servicios de almacenamiento de Azure es 2020-04-08 y se recomienda usar esa versión siempre que sea posible. Para obtener una lista de todas las demás versiones admitidas y para obtener información sobre el uso de cada versión, vea Versiones Azure Storage versiones de servicio .

Versión 2020-08-04

La versión del servicio 2020-08-04 incluye las siguientes características:

  • La capacidad de adquirir, interrumpir, cambiar, renovar y liberar una concesión en un recurso compartido de archivos. Para obtener más información, vea Concesión de recurso compartido.
  • La capacidad de enumerar blobs eliminados y restaurar blobs eliminados en cuentas de almacenamiento con el espacio de nombres jerárquico habilitado. Para obtener más información, vea Enumerar blobs y Recuperar blob.

Especificación de versiones de servicio en las solicitudes

La forma en que se especifica la versión de los servicios de almacenamiento que se va a usar para una solicitud está relacionada con cómo se autoriza esa solicitud. En las secciones siguientes se describen las opciones de autorización y cómo se especifica la versión del servicio para cada una de ellas:

  • Solicitudes que usan un token de OAuth 2.0 desde Azure Active Directory (Azure AD). Para autorizar una solicitud con Azure AD, pase el encabezado de la solicitud con una versión de servicio de x-ms-version 2017-11-09 o superior. Para obtener más información, vea Llamar a operaciones de almacenamiento con tokens de OAuth en Autorizar con Azure Active Directory.

  • Solicitudes mediante Shared Key o Shared Key Lite. Para autorizar una solicitud con Clave compartida/Clave compartida Lite, pase el x-ms-version encabezado en la solicitud. En el caso de la Blob service, puede especificar la versión predeterminada para todas las solicitudes llamando a Establecer propiedades de Blob Service.

  • Solicitudes que usan una firma de acceso compartido (SAS). Puedes especificar dos opciones de control de versiones en una firma de acceso compartido. El encabezado api-version opcional indica qué versión del servicio se va a usar para ejecutar la operación de API. El parámetro SignedVersion (sv) obligatorio especifica la versión del servicio que se usará para autorizar la solicitud realizada con la SAS. Si no se especifica el encabezado api-version, el valor del parámetro SignedVersion (sv) también indica la versión que se usará para ejecutar la operación de API.

  • Solicitudes mediante acceso anónimo. En el caso del acceso anónimo en el servicio Blob, no se pasa ninguna versión; la heurística sobre qué versión se usa para la solicitud se describe a continuación.

Solicitudes autorizadas mediante Azure AD, Clave compartida o Clave compartida Lite

Para autorizar una solicitud con Azure AD, Clave compartida o Clave compartida Lite, especifique el x-ms-version encabezado en la solicitud. El valor del encabezado de solicitud x-ms-version debe especificarse con el formato AAAA-MM-DD. Por ejemplo:

Request Headers:  
x-ms-version: 2017-07-29

Las reglas siguientes indican cómo se evalúan estas solicitudes para determinar la versión que se va a usar al procesar la solicitud.

  • Si una solicitud tiene un encabezado x-ms-version válido, el servicio de almacenamiento utiliza la versión especificada. Todas las solicitudes a los servicios Tabla y Cola que no utilizan una firma de acceso compartido deben especificar un encabezado x-ms-version. Todas las solicitudes al servicio Blob que no usan una firma de acceso compartido deben especificar un encabezado x-ms-version a menos que se haya establecido la versión predeterminada, como se describe a continuación.

  • Si una solicitud al Blob service no tiene un encabezado, pero el propietario de la cuenta ha establecido una versión predeterminada mediante Establecer propiedades de Blob Service , se usa la versión predeterminada especificada como versión de la x-ms-version solicitud.

Solicitudes autorizadas con una firma de acceso compartido

Una firma de acceso compartido (SAS) generada con la versión 2014-02-14 o posterior admite dos opciones de control de versiones:

  • El parámetro de consulta api-version define la versión del protocolo REST que se usará para procesar una solicitud realizada mediante la SAS.

  • El SignedVersion (sv) parámetro de consulta define la versión de SAS que se usará para la autorización.

El SignedVersion parámetro de consulta se usa para la autorización cuando un cliente realiza una solicitud mediante la SAS. Los parámetros de autorización como , , , , , , , , , , y se si sr sp sig st se tn spk srk epk erk interpretan con la versión especificada.

Los parámetros de protocolo REST como rscc, rscd, rsce, rscl y rsct se aplican usando la versión proporcionada en el encabezado del parámetro api-version. Si no se especifica el encabezado api-version, se usa la versión de servicios proporcionada para SignedVersion.

El parámetro no forma parte del encabezado de cadena para iniciar sesión en el encabezado de autorización, como se describe en api-version Creación de una SAS de servicio.

En la tabla siguiente se explica el esquema de control de versiones utilizado por el servicio para la autorización y para llamar al protocolo REST cuando el parámetro se establece en la versión SignedVersion 2014-02-14 o posterior.

Valor del parámetro api-version Versión usada para la autorización Versión usada para el comportamiento del protocolo
No especificado Versión especificada en el parámetro sv Versión especificada en el parámetro sv
Cualquier versión de servicios de almacenamiento en el formato XXXX-XX-XX Versión especificada en el parámetro sv Versión de servicios de almacenamiento válida XXXX-XX-XX

Ejemplo 1

La solicitud de ejemplo siguiente llama a List Blobs con sv=2015-04-05 y sin el parámetro api-version .

https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2015-04-05&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d

En este caso, el servicio autentica y autoriza la solicitud con la versión 2015-04-05 y también ejecuta la operación con la versión 2015-04-05.

Ejemplo 2

La solicitud de ejemplo siguiente llama a List Blobs sv=2015-04-05 con y con el parámetro api-version .

https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2015-04-05&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d&api-version=2012-02-12

En este caso, el servicio autoriza la solicitud mediante la versión 2015-04-05 y ejecuta la operación con la versión 2012-02-12.

Nota

La biblioteca de cliente de almacenamiento de .NET siempre establece la versión de protocolo REST (en el parámetro api-version) a la versión en que se basa.

Solicitudes a través del acceso anónimo

Las solicitudes realizadas a través del acceso anónimo se administran de forma diferente en función del tipo de cuenta de almacenamiento con la que se realizan.

Para cuentas de almacenamiento de uso general

Si una solicitud anónima a una cuenta de almacenamiento de uso general no especifica el encabezado y no se ha establecido la versión predeterminada para el servicio mediante Establecer propiedades de Blob Service , el servicio usa la versión más antigua posible para procesar la x-ms-version solicitud. Sin embargo, si el contenedor se hizo público con una operación set container ACL realizada con la versión 2009-09-19 o posterior, la solicitud se procesa con la versión 2009-09-19.

Para las cuentas de Blob Storage

Si una solicitud anónima a una cuenta de Blob Storage no especifica el encabezado y la versión predeterminada del servicio no se ha establecido mediante Establecer propiedades de Blob Service , el servicio usa la versión más antigua posible para procesar la x-ms-version solicitud. Para una cuenta de Blob Storage, la versión más antigua posible es 2014-02-14.

Consulte también