Versões anteriores do Armazenamento do Azure

O Armazenamento do Azure dá suporte a várias versões. Para fazer uma solicitação no Armazenamento, você deve especificar a versão que deseja usar para essa operação, a menos que a solicitação seja anônima.

Versões disponíveis

A versão atual do Armazenamento do Azure é 2023-11-03 e usar essa versão é recomendado sempre que possível. Para obter informações sobre a versão mais recente, consulte Controle de versão para o Armazenamento do Azure.

Versões adicionais com suporte incluem:

Solicitações autorizadas por meio de assinatura de acesso compartilhado

Uma solicitação feita por meio de uma assinatura de acesso compartilhado é processada de acordo com qual versão você usa para gerar a SAS. As versões 2013-08-15 e 2012-02-12 incluem um parâmetro de controle de versão (SignedVersionou sv), que especifica qual versão usar para autorizar e executar a solicitação SAS.

Versão 2012-02-12 e posterior

Solicitações com assinaturas de acesso compartilhado geradas usando a versão 2012-02-12 ou posterior exigem o SignedVersion (sv) parâmetro . SignedVersion indica a versão de serviço usada para autorização e para chamar a operação de API. Se o x-ms-version cabeçalho for passado na solicitação, ele será ignorado. Somente o SignedVersion (sv) parâmetro determina a versão do serviço a ser usada para processar a solicitação feita por meio da assinatura de acesso compartilhado.

Observação

Para a versão 2013-08-15 e anteriores, verifique se os serviços que preparam e distribuem URLs de assinatura de acesso compartilhado (ou seja, provedores ou geradores de assinatura de acesso compartilhado) especificam versões do serviço de Armazenamento do Azure compreendidas pelo software cliente (ou seja, consumidores de assinatura de acesso compartilhado).

A tabela a seguir indica quais serviços têm suporte para qual versão, para uma solicitação feita por meio de uma assinatura de acesso compartilhado:

Valor do parâmetro SignedVersion (sv) Serviços com suporte
11-12-2015 Todos (Armazenamento de Blobs do Azure, Armazenamento de Filas do Azure, Armazenamento de Tabelas do Azure e Arquivos do Azure)
05-04-2015 Tudo (Armazenamento de Blobs, Armazenamento de Filas, Armazenamento de Tabelas e Arquivos do Azure)
2015-02-21 Tudo (Armazenamento de Blobs, Armazenamento de Filas, Armazenamento de Tabelas e Arquivos do Azure)
2014-02-14 Armazenamento de Blobs, Armazenamento de Filas e Armazenamento de Tabelas
2013-08-15 Armazenamento de Blobs, Armazenamento de Filas e Armazenamento de Tabelas
2012-02-12 Armazenamento de Blobs, Armazenamento de Filas e Armazenamento de Tabelas

O exemplo a seguir mostra uma assinatura de acesso compartilhado que chama Blobs de Lista usando sv=2013-08-15.

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

Neste exemplo, o serviço autoriza e executa a solicitação usando a versão 2013-08-15. A resposta não incluirá o Url elemento sob o Blob elemento , porque ele foi removido na versão 2013-08-15.

Se um aplicativo cliente usa uma versão da biblioteca de clientes de Armazenamento com base na versão 2012-02-12 e faz uma solicitação que usa essa assinatura de acesso compartilhado, o cliente espera o Uri elemento . Portanto, a solicitação falha com um NullReferenceException.

Versões anteriores a 2012-02-12 (somente Armazenamento de Blobs)

O Armazenamento de Blobs introduziu assinaturas de acesso compartilhado na versão 2009-07-17. O Armazenamento de Tabelas e o Armazenamento de Filas introduziram assinaturas de acesso compartilhado na versão 2012-02-12, portanto, o comportamento de assinatura de acesso compartilhado antes da versão 2012-02-12 se aplica apenas ao Armazenamento de Blobs.

A versão 2012-02-12 também introduziu o SignedVersion (sv) parâmetro , que permite que o gerador de assinatura de acesso compartilhado especifique a versão a ser usada para processar a solicitação. Uma assinatura de acesso compartilhado gerada com uma versão anterior a 2012-02-12 não pode especificar a versão a ser usada para processar a solicitação e, portanto, depende das seguintes regras para autorização e execução de API:

  1. Se a solicitação tiver um cabeçalho válido x-ms-version , a versão válida mais antiga (2009-07-17) será usada para interpretar os parâmetros de assinatura de acesso compartilhado. A versão especificada por x-ms-version é usada para executar a operação de Armazenamento de Blobs.

  2. Se a solicitação não tiver um x-ms-version cabeçalho e o proprietário tiver definido a versão padrão usando Definir Propriedades de Armazenamento de Blobs, a versão 2009-07-17 será usada para interpretar os parâmetros. A versão padrão especificada pelo proprietário é usada para executar a operação de Armazenamento de Blobs.

  3. Se a solicitação não tiver um x-ms-version cabeçalho e o proprietário não tiver definido uma versão padrão, o Armazenamento de Blobs usará a versão válida mais antiga (2009-07-17) para interpretar os parâmetros. Se o contêiner for público e suas restrições de acesso tiverem sido definidas com uma operação definir ACL de contêiner que usou a versão 2009-09-19 ou posterior, a versão 2009-09-19 será usada para executar a operação de Armazenamento de Blobs.

  4. Se a solicitação não tiver um x-ms-version cabeçalho e o proprietário não tiver definido uma versão padrão, o Armazenamento de Blobs usará a versão válida mais antiga (2009-07-17) para interpretar os parâmetros. Se as restrições de acesso ao contêiner não foram definidas com uma operação definir ACL de contêiner que usou a versão 2009-09-19 ou posterior, a operação de Armazenamento de Blobs será executada usando a versão mais antiga do serviço.

A tabela a seguir aplica essas regras a vários cenários e pressupõe que o SignedVersion parâmetro não esteja incluído.

Valor do cabeçalho x-ms-version Versão usada para interpretar parâmetros de autorização e autorização para o Armazenamento de Blobs Versão usada para executar a operação de Armazenamento de Blobs
Nenhum Versão mais antiga da assinatura de acesso compartilhado válida (2009-07-17) 2009-09-19 será usado se o contêiner tiver sido definido como público por Definir ACL de Contêiner usando a versão 2009-09-19 ou posterior. Caso contrário, a versão mais antiga do Armazenamento de Blobs será usada.
2011-08-18 Versão mais antiga da assinatura de acesso compartilhado válida (2009-07-17) 2011-08-18.
Qualquer versão XXXX-XX-XX Versão mais antiga da assinatura de acesso compartilhado válida (2009-07-17) Versão XXXX-XX-XX

Observação

A Microsoft recomenda usar a versão 2011-08-18 ou posterior para cenários que exigem valores entre aspas ETag ou cabeçalhos de resposta válidos Accept-Ranges . Navegadores e outros clientes de streaming exigem esses cabeçalhos para download e repetições eficientes.

Confira também

Controle de versão para o Armazenamento do Azure