Blob hizmeti işlemleri için aralık üst bilgisini belirtme
Çeşitli Blob hizmeti GET işlemleri, standart HTTP Range
üst bilgisinin kullanımını destekler. .NET istemci kitaplığı da dahil olmak üzere birçok HTTP istemcisi üst bilginin boyutunu Range
32 bitlik bir tamsayıyla sınırlar ve bu nedenle değeri en fazla 4 GiB ile sınırlıdır. Hem blok bloblarının hem de sayfa bloblarının boyutu 4 GiB'den büyük olabileceğinden, Blob hizmeti HTTP Range
üst bilgisi alan tüm işlemler için özel bir aralık üst bilgisi x-ms-range
kabul eder.
Microsoft Silverlight kitaplığı da dahil olmak üzere bazı HTTP istemcileri, üst bilgi erişimini Range
tamamen sınırlar. Üst x-ms-range
bilgi, bu sınırlamaları aşmak için de kullanılabilir.
x-ms-range
Üst bilgi bir istekte belirtilirse, hizmet tarafından x-ms-range
belirtilen aralığı kullanır; aksi takdirde, üst bilgi tarafından Range
belirtilen aralık kullanılır.
Not
Azure Depolama İstemci Kitaplığı, nesnenin özelliğini ayarladığınızda istekte uygun aralık üst bilgisinin ayarlanmasını Range
PutPageProperties
otomatik olarak işler.
Aralık Üst Bilgisi Biçimleri
Blob hizmeti ve x-ms-range
üst bilgileri için Range
iki bayt aralığı kabul eder. Bayt aralığı, üst bilgiler için aşağıdaki biçimlerden birini içermelidir:
bytes=startByte-
sürüm 2011-08-18 veya üzerini kullanan istekler içinbytes=startByte-endByte
tüm sürümleri kullanan istekler için (en yeni sürümden 2009-04-14)
Biçim 1: bytes=startByte-
İlk biçim olan , bytes=startByte-
yalnızca sürüm 2011-08-18 veya üzerini ya da SDK 1.6 veya daha yeni bir sürümdeki depolama öykünücüsü hizmetini kullanan istekler için kullanılabilir. Bu aralık, blobun sonuna kadar uzaklıktan startByte
bayt döndürür. Örneğin, bir blobun ilk 256 baytından sonraki tüm baytları kapsayan bir aralık belirtmek için aşağıdaki üst bilgilerden birini geçirebilirsiniz:
Range: bytes=255-
x-ms-range: bytes=255-
Content-Length
Yanıttaki üst bilgi, blobun sonuna kadar uzaklıktan alınan bayt sayısına eşittir. Uzunluğu 1.024 bayt Content-Length
olan bir blob için yukarıdaki örnek aralığın kullanılması 756 olacaktır.
Uzaklık geçerliyse ve blob'un toplam uzunluğunu geçmiyorsa istek 206 (Kısmi İçerik) durum kodu döndürür. Uzaklık geçersizse ve blob'un toplam uzunluğunu aşarsa, istek 416 (İstenen Aralık Uygun Değil) durum kodunu döndürür.
Biçim 2: bytes=startByte-endByte
İkinci biçim olan , bytes=startByte-endByte
tüm sürümleri kullanan istekler (en yeni sürümden 2009-04-14) ve depolama öykünücü hizmetinin tüm sürümleri için kullanılabilir. Bu aralık, aracılığıyla endByte
uzaklıktan startByte
bayt döndürür. Örneğin, bir blobun ilk 512 baytını kapsayan bir aralık belirtmek için aşağıdaki üst bilgilerden birini geçirirsiniz:
Range: bytes=0-511
x-ms-range: bytes=0-511
Content-Length
Yanıttaki üst bilgi, her uzaklık arasındaki bayt sayısına eşittir. Uzunluğu 1.024 bayt Content-Length
olan bir blob için yukarıdaki örnek aralığın kullanılması 512 olacaktır.
Uzaklık geçerliyse ve blob'un toplam uzunluğunu geçmiyorsa istek 206 (Kısmi İçerik) durum kodu döndürür. Uzaklık geçersizse ve blob'un toplam uzunluğunu aşarsa, istek 416 (İstenen Aralık Uygun Değil) durum kodunu döndürür.
Ayrıca Bkz.
Blob Hizmeti Kavramları
Azure Depolama Hizmetleri için sürüm oluşturma