Menentukan header rentang untuk operasi Blob service
Beberapa operasi GET blob service mendukung penggunaan header HTTP Range
standar. Banyak klien HTTP, termasuk pustaka klien .NET, membatasi ukuran header ke bilangan Range
bulat 32-bit, dan dengan demikian nilainya dibatasi hingga maksimum 4 GiB. Karena blob blok dan blob halaman dapat berukuran lebih besar dari 4 GiB, layanan Blob menerima header x-ms-range
rentang kustom untuk operasi apa pun yang mengambil header HTTP Range
.
Beberapa klien HTTP, termasuk pustaka Microsoft Silverlight, membatasi akses ke Range
header sama sekali. Header x-ms-range
juga dapat digunakan untuk menghindari batasan ini.
x-ms-range
Jika header ditentukan berdasarkan permintaan, maka layanan menggunakan rentang yang ditentukan oleh x-ms-range
; jika tidak, rentang yang ditentukan oleh Range
header digunakan.
Catatan
Pustaka Klien Azure Storage secara otomatis menangani pengaturan header rentang yang sesuai pada permintaan saat Anda mengatur Range
properti PutPageProperties
objek.
Format Header Rentang
Layanan Blob menerima dua rentang byte untuk Range
header dan x-ms-range
. Rentang byte harus mematuhi salah satu format berikut untuk header:
bytes=startByte-
untuk permintaan yang menggunakan versi 2011-08-18 atau yang lebih barubytes=startByte-endByte
untuk permintaan yang menggunakan semua versi (2009-04-14 melalui versi terbaru)
Format 1: bytes=startByte-
Format pertama, bytes=startByte-
, hanya tersedia untuk permintaan yang menggunakan versi 2011-08-18 atau yang lebih baru, atau layanan emulator penyimpanan di SDK 1.6 atau yang lebih baru. Rentang ini akan mengembalikan byte dari offset startByte
hingga akhir blob. Misalnya, untuk menentukan rentang yang mencakup semua byte setelah 256 byte pertama dari blob, Anda dapat meneruskan salah satu header berikut:
Range: bytes=255-
x-ms-range: bytes=255-
Header Content-Length
dalam respons sama dengan jumlah byte dari offset hingga akhir blob. Menggunakan rentang contoh di atas untuk blob dengan panjang 1.024 byte, Content-Length
adalah 756.
Jika offset valid dan tidak melebihi panjang total blob, permintaan akan mengembalikan kode status 206 (Konten Parsial). Jika offset tidak valid dan melebihi panjang total blob, permintaan akan mengembalikan kode status 416 (Rentang yang Diminta Tidak Terpenuhi).
Format 2: bytes=startByte-endByte
Format kedua, bytes=startByte-endByte
, tersedia untuk permintaan yang menggunakan semua versi (2009-04-14 melalui versi terbaru), dan untuk semua versi layanan emulator penyimpanan. Rentang ini akan mengembalikan byte dari offset startByte
melalui endByte
. Misalnya, untuk menentukan rentang yang mencakup 512 byte pertama dari blob, Anda akan meneruskan salah satu header berikut:
Range: bytes=0-511
x-ms-range: bytes=0-511
Header Content-Length
dalam respons sama dengan jumlah byte di antara setiap offset. Menggunakan rentang contoh di atas untuk blob dengan panjang 1.024 byte, Content-Length
adalah 512.
Jika offset valid dan tidak melebihi panjang total blob, permintaan akan mengembalikan kode status 206 (Konten Parsial). Jika offset tidak valid dan melebihi panjang total blob, permintaan akan mengembalikan kode status 416 (Rentang yang Diminta Tidak Terpenuhi).
Lihat juga
Konsep Blob Service
Penerapan versi untuk Azure Storage Services