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:
- Jogkivonatalapú hitelesítés támogatása a fájlszolgáltatás összes adatsík API-jában. További információ: Engedélyezés a Microsoft Entra-azonosítóval.
- Prémium szintű fájlmegosztási fiókok fizetős kipukkadásának támogatása. Ez a funkció a Megosztás létrehozása és Megosztás tulajdonságainak beállítása API-kkal engedélyezhető.
- A bináris formátum támogatása fájlengedélyek lekérésekor és beállításakor a fájlszolgáltatásban. További információ: Jogosultság létrehozása és Engedély lekérése
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égesSignedVersion (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 aapi-version
fejléc nincs megadva, aSignedVersion (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 egyx-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 egyx-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.