Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Számos Blob service GET-művelet támogatja a szabványos HTTP-fejléc Range használatát. Számos HTTP-ügyfél, beleértve a .NET-ügyfélkódtárat is, a Range fejléc méretét 32 bites egész számra korlátozza, így az értéke legfeljebb 4 GiB lehet. Mivel a blokkblobok és az oldalblobok mérete is 4 GiB-nél nagyobb lehet, a Blob szolgáltatás elfogad egy egyéni tartományfejlécet x-ms-range minden olyan művelethez, amely HTTP-fejlécet Range használ.
Egyes HTTP-ügyfelek, beleértve a Microsoft Silverlight-kódtárat is, teljes mértékben korlátozzák a Range fejléchez való hozzáférést. A x-ms-range fejléc ezen korlátozások megkerülésére is használható.
Ha a x-ms-range fejléc egy kérelemben van megadva, akkor a szolgáltatás a által megadott x-ms-rangetartományt használja; ellenkező esetben a Range fejléc által megadott tartomány lesz használva.
Megjegyzés
Az Azure Storage ügyfélkódtár automatikusan kezeli a megfelelő tartományfejléc beállítását a kérelemben, amikor beállítja az RangePutPageProperties objektum tulajdonságát.
Tartományfejléc formátumai
A Blob szolgáltatás két bájttartományt fogad el a és x-ms-range a Range fejléchez. A bájttartománynak meg kell felelnie a fejlécek alábbi formátumainak:
bytes=startByte-a 2011-08-18-es vagy újabb verziót használó kérések eseténbytes=startByte-endByteaz összes verziót használó kérések esetén (2009-04-14 a legújabb verzióig)
1. formátum: bájt=startByte-
Az első formátum ( bytes=startByte-) csak a 2011-08-18-es vagy újabb verziót használó kérésekhez, illetve az SDK 1.6-os vagy újabb verziójában elérhető storage emulator szolgáltatáshoz érhető el. Ez a tartomány bájtokat ad vissza az eltolástól startByte a blob végéig. Ha például egy blob első 256 bájtja után az összes bájtot magában foglaló tartományt szeretné megadni, az alábbi fejlécek egyikét is átadhatja:
Range: bytes=255-x-ms-range: bytes=255-
A Content-Length válasz fejléce megegyezik az eltolástól a blob végéig terjedő bájtok számával. Ha a fenti példatartományt 1024 bájt hosszú blobhoz használná, Content-Length az 756 lenne.
Ha az eltolás érvényes, és nem haladja meg a blob teljes hosszát, a kérés egy 206-os állapotkódot (részleges tartalom) ad vissza. Ha az eltolás érvénytelen, és meghaladja a blob teljes hosszát, a kérés a 416-os állapotkódot adja vissza (a kért tartomány nem alkalmas).
2. formátum: bytes=startByte-endByte
A második formátum( bytes=startByte-endByte) az összes verziót (2009-04-14- a legújabb verziót) és a storage emulator szolgáltatás összes verzióját használó kérésekhez érhető el. Ez a tartomány bájtokat ad vissza az eltolástól startByte a következőn keresztül: endByte. Ha például egy blob első 512 bájtját tartalmazó tartományt szeretne megadni, adja meg az alábbi fejlécek egyikét:
Range: bytes=0-511x-ms-range: bytes=0-511
A Content-Length válasz fejléce megegyezik az egyes eltolások közötti bájtok számával. Ha a fenti példatartományt 1024 bájt hosszúságú blobhoz használja, Content-Length az 512 lenne.
Ha az eltolás érvényes, és nem haladja meg a blob teljes hosszát, a kérés egy 206-os állapotkódot (részleges tartalom) ad vissza. Ha az eltolás érvénytelen, és meghaladja a blob teljes hosszát, a kérés a 416-os állapotkódot adja vissza (a kért tartomány nem alkalmas).
Lásd még:
A Blob szolgáltatással kapcsolatos fogalmak
Az Azure Storage-szolgáltatások verziókezelése