Sdílet prostřednictvím


Správa verzí pro Azure Storage

Azure Storage podporuje více verzí. Pokud chcete vytvořit požadavek na služby úložiště, musíte zadat verzi, kterou chcete pro danou operaci použít, pokud není požadavek anonymní.

Aktuální verze služeb Azure Storage je 2024-11-04 a pokud je to možné, doporučujeme ji použít. Seznam všech ostatních podporovaných verzí a informace o použití jednotlivých verzí najdete v tématu Předchozí verze služby Azure Storage.

Verze služby z 11. 11. 2024 obsahuje následující funkce:

  • Podpora ověřování na základě tokenů pro všechna rozhraní API roviny dat ve službě souborů Další informace naleznete v tématu Authorize with Microsoft Entra ID.
  • Podpora placeného nárůstu u účtů sdílených složek úrovně Premium Tuto funkci je možné povolit pomocí rozhraní Create Share a Set Share Properties API.
  • Podpora binárního formátu při získávání a nastavování oprávnění k souborům ve službě souborů. Další informace najdete v tématu Vytvoření oprávnění a získání oprávnění

Určení verzí služby v požadavcích

Způsob určení verze služeb úložiště, které se mají použít pro požadavek, souvisí s tím, jak je tento požadavek autorizovaný. Následující části popisují možnosti autorizace a způsob zadání verze služby pro každou z nich.

  • Požadavky, které používají token OAuth 2.0 z Microsoft Entra: Pokud chcete autorizovat žádost pomocí ID Microsoft Entra, předejte v požadavku hlavičku x-ms-version s verzí služby 2017-11-09 nebo vyšší. Další informace najdete v tématu Volání operací úložiště s tokeny OAuth v Authorize with Microsoft Entra ID.

  • Žádosti, které používají sdílený klíč nebo sdílený klíč Lite: K autorizaci žádosti se sdíleným klíčem nebo sdíleným klíčem Lite předejte hlavičku x-ms-version požadavku. V případě služby Azure Blob Storage můžete zadat výchozí verzi všech požadavků voláním Nastavit vlastnosti služby Blob Service.

  • Požadavky, které používají sdílený přístupový podpis (SAS): U sdíleného přístupového podpisu můžete zadat dvě možnosti správy verzí. Volitelná hlavička api-version označuje verzi služby, která se má použít ke spuštění operace rozhraní API. Požadovaný parametr SignedVersion (sv) určuje verzi služby, která se má použít k autorizaci požadavku provedeného pomocí SAS. Pokud není zadaná hlavička api-version, hodnota parametru SignedVersion (sv) označuje také verzi, která se má použít ke spuštění operace rozhraní API.

  • Požadavky, které používají anonymní přístup: V případě anonymního přístupu ke službě Blob Storage se nepředá žádná verze. Heuristiky pro určení verze, která se má použít pro požadavek, jsou popsány v dalších částech.

Autorizace žádostí pomocí Microsoft Entra ID, sdíleného klíče nebo sdíleného klíče Lite

Pokud chcete žádost autorizovat pomocí ID Microsoft Entra, sdíleného klíče nebo sdíleného klíče Lite, zadejte hlavičku x-ms-version požadavku. Hodnota hlavičky požadavku x-ms-version musí být zadána ve formátu RRRR-MM-DD. Například:

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

Následující pravidla popisují, jak se tyto požadavky vyhodnocují a určují, jakou verzi použít ke zpracování požadavku.

  • Pokud má požadavek platnou hlavičku x-ms-version, služba úložiště použije zadanou verzi. Všechny požadavky na Azure Table Storage a Azure Queue Storage, které nepoužívají sdílený přístupový podpis, musí zadat hlavičku x-ms-version. Všechny požadavky na službu Blob Storage, které nepoužívají sdílený přístupový podpis, musí zadat hlavičku x-ms-version, pokud není nastavená výchozí verze, jak je popsáno v následujícím odstavci.

  • Pokud požadavek na službu Blob Storage nemá hlavičku x-ms-version, ale vlastník účtu nastavil výchozí verzi pomocí operace Nastavit vlastnosti služby Blob Service, použije se zadaná výchozí verze jako verze požadavku.

Autorizace požadavků pomocí sdíleného přístupového podpisu

Sdílený přístupový podpis (SAS), který se generuje pomocí verze 2014-02-14 nebo novější, podporuje dvě možnosti správy verzí:

  • Parametr dotazu api-version definuje verzi protokolu REST, která se má použít ke zpracování požadavku vytvořeného pomocí SAS.

  • Parametr dotazu SignedVersion (sv) definuje verzi SAS, která se má použít pro autorizaci.

Parametr dotazu SignedVersion se používá k autorizaci, když klient odešle požadavek pomocí SAS. Autorizační parametry, jako jsou si, sr, sp, sig, st, se, tn, spk, srk, epka erk, se interpretují pomocí zadané verze.

Parametry protokolu REST, jako jsou rscc, rscd, rsce, rscla rsct, se vynucují pomocí verze, která je součástí hlavičky parametru api-version. Pokud není zadaná hlavička api-version, použije se verze služby zadaná pro SignedVersion.

Parametr api-version není součástí autorizační hlavičky pro přihlášení pomocí řetězce, jak je popsáno v tématu Vytvoření SAS služby.

Následující tabulka vysvětluje schéma správy verzí, které služba používá k autorizaci a volání protokolu REST, pokud je parametr SignedVersion nastaven na verzi 2014-02-14 nebo novější.

Hodnota parametru api-version Verze používaná k autorizaci Verze používaná pro chování protokolu
Nezadá se Verze zadaná v parametru sv Verze zadaná v parametru sv
Jakákoli platná verze služeb úložiště ve formátu XXXX-XX-XX Verze zadaná v parametru sv Platná verze služby úložiště XXXX-XX-XX

Příklad 1

Následující ukázková žádost volá Výpis objektů blob s sv=2015-04-05a bez parametru api-version.

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

V tomto případě služba ověří a autorizuje požadavek pomocí verze 2015-04-05 a spustí operaci pomocí verze 2015-04-05.

Příklad 2

Následující ukázková žádost volá Výpis objektů blob s sv=2015-04-05 a s parametrem 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

V této části služba autorizuje požadavek pomocí verze 2015-04-05 a spustí operaci pomocí verze 2012-02-12.

Poznámka

Klientská knihovna .NET Storage vždy nastaví verzi protokolu REST (v parametru api-version) na verzi, na které je založena.

Žádosti prostřednictvím anonymního přístupu

Požadavky provedené prostřednictvím anonymního přístupu se zpracovávají odlišně v závislosti na typu účtu úložiště, pro který se provádí.

Pro účty úložiště pro obecné účely

Pokud anonymní požadavek na účet úložiště pro obecné účely nezadá hlavičku x-ms-version a výchozí verze pro službu nebyla nastavena pomocí Nastavit vlastnosti služby Blob Service, služba používá k zpracování požadavku nejnovější možnou verzi. Pokud se ale kontejner zpřístupnil pomocí operace Set Container ACL, která byla provedena pomocí verze 2009-09-19 nebo novější, požadavek se zpracuje pomocí verze 2009-09-19.

Pro účty Blob Storage

Pokud anonymní požadavek na účet služby Blob Storage nezadá hlavičku x-ms-version a výchozí verze služby nebyla nastavena pomocí Nastavit vlastnosti služby Blob Service, služba použije k zpracování požadavku nejstarší možnou verzi. Pro účet Blob Storage je nejstarší možná verze 2014-02-14.

Známé problémy

Tato část podrobně popisuje známé problémy s rozhraními REST API služby Azure Storage.

InvalidHeaderValue chybová zpráva

Ve výjimečných scénářích můžou aplikace, které provádí přímé volání rozhraní REST API, obdržet InvalidHeaderValue chybovou zprávu. Chyba vypadá podobně jako v následující ukázce:

HTTP/1.1 400 The value for one of the HTTP headers is not in the correct format.
Content-Length: 328
Content-Type: application/xml
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <REMOVED>
Date: Fri, 19 May 2023 17:10:33 GMT
 
<?xml version="1.0" encoding="utf-8"?><Error><Code>InvalidHeaderValue</Code><Message>The value for one of the HTTP headers is not in the correct format.
RequestId:<REMOVED>
Time:2023-05-19T17:10:34.2972651Z</Message><HeaderName>x-ms-version</HeaderName><HeaderValue>yyyy-mm-dd</HeaderValue></Error> 

Doporučujeme použít starší verzi rozhraní REST API, abyste zjistili, jestli se problém vyřeší. Pokud problém přetrvává nebo pokud doporučení není možné, otevřít lístek podpory prodiskutovat další možnosti.

Viz také