Versão para os serviços Azure Armazenamento

Os serviços de armazenamento Microsoft Azure suportam várias versões. Para fazer um pedido aos serviços de armazenamento, tem de especificar a versão que pretende utilizar para essa operação, a menos que o pedido seja anónimo.

A versão atual dos serviços de armazenamento Azure é 2021-04-10, e a utilização desta versão é recomendada sempre que possível. Para obter uma lista de todas as outras versões suportadas e para obter informações sobre a utilização de cada versão, consulte as versões de serviço anteriores Armazenamento Azure.

Versão 2021-06-08

A versão de serviço 2021-06-08 inclui as seguintes funcionalidades:

Especificar versões de serviço em pedidos

A forma como especifica a versão dos serviços de armazenamento a utilizar para um pedido diz respeito à forma como esse pedido é autorizado. As seguintes secções descrevem opções de autorização e como a versão de serviço é especificada para cada uma:

  • Pedidos utilizando um símbolo OAuth 2.0 da Azure Ative Directory (Azure AD). Para autorizar um pedido com a Azure AD, passe o x-ms-version cabeçalho sobre o pedido com uma versão de serviço de 2017-11-09 ou superior. Para obter mais informações, consulte as operações de armazenamento de chamadas com fichas OAuth em Authorize com Azure Ative Directory.

  • Pedidos utilizando Chave Partilhada ou Chave Partilhada Lite. Para autorizar um pedido com Chave Partilhada/Chave Partilhada Lite, passe o x-ms-version cabeçalho sobre o pedido. No caso do serviço Blob, pode especificar a versão predefinitiva para todos os pedidos, ligando para a set Blob Service Properties.

  • Pedidos usando uma assinatura de acesso partilhado (SAS). Pode especificar duas opções de versão numa assinatura de acesso partilhado. O cabeçalho opcional api-version indica qual a versão de serviço a utilizar para executar a operação API. O parâmetro requerido SignedVersion (sv) especifica a versão de serviço a utilizar para autorizar o pedido feito com o SAS. Se o api-version cabeçalho não for especificado, o valor do SignedVersion (sv) parâmetro também indica a versão a utilizar para executar a operação API.

  • Pedidos de acesso anónimo. No caso de acesso anónimo contra o serviço Blob, nenhuma versão é passada; a heurística para a qual a versão é utilizada para o pedido são descritas abaixo.

Pedidos autorizados usando Azure AD, Chave Partilhada ou Chave Partilhada Lite

Para autorizar um pedido com Azure AD, Chave Partilhada ou Chave Partilhada Lite, especifique o x-ms-version cabeçalho no pedido. O x-ms-version valor do cabeçalho do pedido deve ser especificado no formato YYYYY-MM-DD. Por exemplo:

Request Headers:  
x-ms-version: 2020-04-08

As seguintes regras indicam como estes pedidos são avaliados para determinar a versão a utilizar no processamento do pedido.

  • Se um pedido tiver um cabeçalho válido x-ms-version , o serviço de armazenamento utiliza a versão especificada. Todos os pedidos aos serviços de Tabela e Fila que não utilizem uma assinatura de acesso partilhado devem especificar um x-ms-version cabeçalho. Todos os pedidos ao serviço Blob que não utilizem uma assinatura de acesso partilhado devem especificar um x-ms-version cabeçalho a menos que a versão padrão tenha sido definida, como descrito abaixo.

  • Se um pedido ao serviço Blob não tiver um x-ms-version cabeçalho, mas o proprietário da conta tiver definido uma versão predefinida utilizando o set Blob Service Properties, então a versão padrão especificada é usada como a versão para o pedido.

Pedidos autorizados com assinatura de acesso partilhado

Uma assinatura de acesso partilhado (SAS) gerada através da versão 2014-02-14 ou posteriormente suporta duas opções de versão:

  • O api-version parâmetro de consulta define a versão do protocolo REST para utilizar para o processamento de um pedido feito através do SAS.

  • O SignedVersion (sv) parâmetro de consulta define a versão SAS para usar para autorização.

O SignedVersion parâmetro de consulta é usado para autorização quando um cliente faz um pedido usando o SAS. Parâmetros de autorização comosi, sppor tn``srk``spk``se``st``sigexemplo, sre epk``erk são todos interpretados usando a versão especificada.

Parâmetros do protocolo REST tais como rscc, rscd, rsce, , rscle rsct são aplicados usando a versão fornecida no cabeçalho do api-version parâmetro. Se o api-version cabeçalho não for especificado, a versão de serviço prevista SignedVersion é utilizada.

O api-version parâmetro não faz parte do string-to-sign no cabeçalho de autorização, como descrito na Create a service SAS.

A tabela seguinte explica o esquema de versão utilizado pelo serviço de autorização e para ligar para o protocolo REST quando o SignedVersion parâmetro estiver definido para a versão 2014-02-14 ou posterior.

Valor do parâmetro da versão API Versão utilizada para autorização Versão usada para o comportamento do protocolo
Não especificado Versão especificada no sv parâmetro Versão especificada no sv parâmetro
Qualquer versão válida de serviços de armazenamento em formato XXXX-XX-XX Versão especificada no sv parâmetro Versão de serviços de armazenamento válidos XXXX-XX-XX

Exemplo 1

O seguinte pedido de amostra chama List Blobs com sv=2015-04-05, e sem o api-version parâmetro.

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

Neste caso, o serviço autentica e autoriza o pedido utilizando a versão 2015-04-05 e executa também a operação utilizando a versão 2015-04-05.

Exemplo 2

O seguinte pedido de amostra chama List Blobs com sv=2015-04-05 e com o api-version parâmetro.

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

Aqui, o serviço autoriza o pedido utilizando a versão 2015-04-05 e executa a operação utilizando a versão 2012-02-12.

Nota

A Biblioteca cliente .NET Armazenamento definirá sempre a versão do protocolo REST (no api-version parâmetro) para a versão em que se baseia.

Pedidos via acesso anónimo

Os pedidos feitos através de acesso anónimo são tratados de forma diferente, dependendo do tipo de conta de armazenamento contra a sua emissão.

Para contas de armazenamento de fins gerais

Se um pedido anónimo a uma conta de armazenamento para fins gerais não especificar o x-ms-version cabeçalho e a versão padrão do serviço não tiver sido definida utilizando o set Blob Service Properties, então o serviço utiliza a versão mais cedo possível para processar o pedido. No entanto, se o recipiente for tornado público com uma operação set Container ACL realizada utilizando a versão 2009-09-19 ou mais recente, então o pedido é processado utilizando a versão 2009-09-19.

Para contas de armazenamento Blob

Se um pedido anónimo a uma conta de armazenamento Blob não especificar o x-ms-version cabeçalho e a versão padrão do serviço não tiver sido definida usando o set Blob Service Properties, então o serviço utiliza a versão mais cedo possível para processar o pedido. Para uma conta de armazenamento Blob, a versão mais antiga possível é 2014-02-14.

Ver também