Megosztás a következőn keresztül:


Verziószámozás az Azure Storage-hoz

Az Azure Storage több verziót is támogat. A tárolási szolgáltatásokra vonatkozó kéréshez meg kell adnia a művelethez használni kívánt verziót, kivéve, ha a kérés névtelen.

Az Azure Storage-szolgáltatások jelenlegi verziója 2024-11-04, és azt javasoljuk, hogy ahol lehetséges, használja. Az összes többi támogatott verzió listáját és az egyes verziók használatáról további információt Korábbi Azure Storage-szolgáltatásverziókcímű témakörben talál.

A 2024-11-04 szolgáltatásverzió a következő funkciókat tartalmazza:

Szolgáltatásverziók megadása a kérelmekben

A kéréshez használandó tárolási szolgáltatások verziójának megadása a kérés engedélyezésének módjával kapcsolatos. A következő szakaszok az engedélyezési beállításokat és a szolgáltatásverziók megadásának módját ismertetik.

  • A Microsoft EntraOAuth 2.0-jogkivonatát használó kérések: A Microsoft Entra-azonosítóval rendelkező kérések engedélyezéséhez adja át a kérelem x-ms-version fejlécét a 2017-11-09-es vagy újabb szolgáltatásverzióval. További információ: Storage-műveletek meghívása OAuth-jogkivonatokkalEngedélyezés Microsoft Entra-azonosítóval.

  • Megosztott kulcsot vagy Megosztott kulcs Lite-t használó kérések: Megosztott kulccsal vagy Megosztott kulcs Lite-tal történő kérés engedélyezéséhez adja át a kérés x-ms-version fejlécét. Az Azure Blob Storage esetében az összes kérés alapértelmezett verzióját megadhatja, ha meghívja Blob Szolgáltatás tulajdonságainak beállítása.

  • közös hozzáférésű jogosultságkódot (SAS) használó kérések: Két verziószámozási lehetőséget adhat meg a közös hozzáférésű jogosultságkódon. Az opcionális api-version fejléc jelzi, hogy melyik szolgáltatásverziót használja az API-művelet végrehajtásához. A szükséges SignedVersion (sv) paraméter megadja, hogy az SAS-vel küldött kérés engedélyezéséhez használt szolgáltatásverziót használja-e. Ha a api-version fejléc nincs megadva, a SignedVersion (sv) paraméter értéke az API-művelet végrehajtásához használandó verziót is jelzi.

  • Névtelen hozzáférést használó kérések: A Blob Storage-beli névtelen hozzáférés esetén a rendszer nem ad át verziót. A kérelemhez használandó verzió meghatározásának heurisztikus leírása a következő szakaszokban található.

Kérelmek engedélyezése a Microsoft Entra-azonosító, a megosztott kulcs vagy a Megosztott kulcs Lite használatával

Ha engedélyezni szeretne egy kérést a Microsoft Entra-azonosítóval, a megosztott kulccsal vagy a Shared Key Lite-tal, adja meg a kérelem x-ms-version fejlécét. A x-ms-version kérelem fejlécének értékét YYYY-MM-DD formátumban kell megadni. Például:

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

Az alábbi szabályok azt írják le, hogyan történik a kérelmek kiértékelése a kérés feldolgozásához használandó verzió meghatározásához.

  • Ha egy kérelem érvényes x-ms-version fejléccel rendelkezik, a társzolgáltatás a megadott verziót használja. Az Azure Table Storage-hoz és az Azure Queue Storage-hoz nem közös hozzáférési aláírást használó összes kérésnek meg kell adnia egy x-ms-version fejlécet. A Blob Storage-ra irányuló összes olyan kérésnek, amely nem használ közös hozzáférésű jogosultságkódot, meg kell adnia egy x-ms-version fejlécet, kivéve, ha az alapértelmezett verzió be van állítva a következő bekezdésben leírtak szerint.

  • Ha egy Blob Storage-kérés nem rendelkezik x-ms-version fejléccel, de a fióktulajdonos beállította az alapértelmezett verziót a Blob Szolgáltatás tulajdonságainak beállítása művelettel, a rendszer a kérés verziójaként a megadott alapértelmezett verziót használja.

Kérelmek engedélyezése közös hozzáférésű jogosultságkód használatával

A 2014-02-14-es vagy újabb verzióval létrehozott közös hozzáférésű jogosultságkód (SAS) két verziószámozási lehetőséget támogat:

  • A api-version lekérdezési paraméter határozza meg a SAS használatával végrehajtott kérések feldolgozásához használni kívánt REST protokollverziót.

  • A SignedVersion (sv) lekérdezési paraméter határozza meg az engedélyezéshez használni kívánt SAS-verziót.

A SignedVersion lekérdezési paramétert akkor használja a rendszer az engedélyezéshez, ha egy ügyfél kérést intéz az SAS használatával. Az olyan engedélyezési paraméterek, mint a si, sr, sp, sig, st, se, tn, spk, srk, epkés erk a megadott verzióval vannak értelmezve.

Az olyan REST protokollparaméterek, mint a rscc, rscd, rsce, rsclés rsct a api-version paraméterfejlécben megadott verzióval lesznek kényszerítve. Ha a api-version fejléc nincs megadva, a rendszer a SignedVersion szolgáltatásverzióját használja.

A api-version paraméter nem része az engedélyezési fejlécben található sztring-bejelentkezésnek, ahogyan az Szolgáltatás SAS-című cikkben leírtak szerint szerepel.

Az alábbi táblázat ismerteti a szolgáltatás által az engedélyezéshez és a REST protokoll meghívásához használt verziószámozási sémát, amikor a SignedVersion paraméter a 2014-02-14-es vagy újabb verzióra van állítva.

api-verzió paraméter értéke Engedélyezéshez használt verzió Protokoll viselkedéséhez használt verzió
Nincs megadva A sv paraméterben megadott verzió A sv paraméterben megadott verzió
Bármely érvényes tárolási szolgáltatás verziója XXXX-XX-XX formátumban A sv paraméterben megadott verzió A storage-szolgáltatások érvényes verziója XXXX-XX-XX

1. példa

Az alábbi mintakérés meghívja Blobok listázásasv=2015-04-05és a api-version paraméter nélkül.

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

Ebben az esetben a szolgáltatás a 2015-04-05-ös verzióval hitelesíti és engedélyezi a kérést, és a 2015-04-05 verzióval futtatja a műveletet.

2. példa

Az alábbi mintakérés meghívja Blobok listázásasv=2015-04-05 és a api-version paraméterrel.

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

Itt a szolgáltatás a 2015-04-05-ös verzióval engedélyezi a kérést, és a 2012-02-12-es verzióval futtatja a műveletet.

Jegyzet

A .NET Storage ügyfélkódtár mindig a REST protokoll verzióját állítja be (a api-version paraméterben) az alapul szolgáló verzióra.

Kérelmek névtelen hozzáféréssel

A névtelen hozzáféréssel küldött kérelmek kezelése a tárfiók típusától függően eltérően történik.

Általános célú tárfiókok esetén

Ha egy általános célú tárfiókra irányuló névtelen kérés nem adja meg a x-ms-version fejlécet, és a szolgáltatás alapértelmezett verziója nem lett beállítva Blob szolgáltatás tulajdonságainak beállításahasználatával, a szolgáltatás a lehető legkorábbi verziót használja a kérés feldolgozásához. Ha azonban a tárolót a 2009-09-19-es vagy újabb verzióval végrehajtott Set Container ACL művelettel hozták nyilvánosságra, a kérés feldolgozása a 2009-09-19-es verzióval történik.

Blob Storage-fiókok esetén

Ha egy Blob Storage-fiókhoz érkező névtelen kérés nem adja meg a x-ms-version fejlécet, és a szolgáltatás alapértelmezett verziója nem lett beállítva Blob Szolgáltatás tulajdonságainak beállításahasználatával, a szolgáltatás a lehető legkorábbi verziót használja a kérés feldolgozásához. Blob Storage-fiók esetén a legkorábbi lehetséges verzió: 2014-02-14.

Ismert problémák

Ez a szakasz az Azure Storage REST API-kkal kapcsolatos ismert problémákat ismerteti.

InvalidHeaderValue hibaüzenet

Ritka esetekben a közvetlen REST API-hívásokat bonyolító alkalmazások InvalidHeaderValue hibaüzenetet kaphatnak. A hiba az alábbi példához hasonlóan néz ki:

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> 

Javasoljuk, hogy egy korábbi REST API-verzióval ellenőrizze, hogy a probléma megoldódott-e. Ha a probléma továbbra is fennáll, vagy ha a javaslat nem megvalósítható, kérjük, nyisson meg egy támogatási jegyet a további lehetőségek megvitatásához.

Lásd még: