Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Несколько операций GET службы BLOB-объектов поддерживают использование стандартного HTTP-заголовка Range. Многие КЛИЕНТЫ HTTP, в том числе клиентская библиотека .NET, ограничивают размер Range заголовка 32-разрядным целым числом, поэтому его значение ограничено максимум 4 ГиБ. Так как размер блочных и страничных BLOB-объектов может превышать 4 ГиБ, служба BLOB-объектов принимает настраиваемый заголовок x-ms-range диапазона для любой операции, принимающей заголовок HTTP Range .
Некоторые HTTP-клиенты, включая библиотеку Microsoft Silverlight, вообще ограничивают доступ к заголовку Range. Можно использовать заголовок x-ms-range, чтобы обойти также и это ограничение.
Если в запросе указан заголовок x-ms-range, то служба использует диапазон, указанный x-ms-range; в противном случае используется диапазон, указанный в заголовке Range.
Примечание
Клиентская библиотека хранилища Azure автоматически задает соответствующий заголовок диапазона для запроса, если установлено свойство Range объекта PutPageProperties.
Форматы заголовка диапазона
Служба BLOB-объектов принимает двухбайтовые диапазоны для заголовков Range и x-ms-range. Байтовый диапазон должен соответствовать одному из следующих форматов:
bytes=startByte-для запросов из версии 2011-08-18 или более новойbytes=startByte-endByteдля запросов из всех версий (от 2009-04-14 до самой новой)
Формат 1: bytes=startByte-
Первый формат, bytes=startByte-, доступен только для запросов из версии 2011-08-18 или более новой или из службы эмулятора хранилища пакета SDK версии 1.6 или более новой. Этот диапазон вернет байты, от смещения startByte и до конца BLOB-объекта. Например, чтобы указать диапазон, включающий все байты после первых 256 байт BLOB-объекта, можно передать один из следующих заголовков:
Range: bytes=255-x-ms-range: bytes=255-
Заголовок Content-Length в ответе равен числу байтов от смещения и до конца BLOB-объекта. Если использовать приведенный выше пример диапазона для большого двоичного объекта длиной 1024 байта, Content-Length это будет 756.
Если задано правильное смещение, не превышающее общую длину BLOB-объекта, запрос возвращает код состояния HTTP 206 (частичное содержимое). Если смещение недопустимо и превышает общую длину BLOB-объекта, запрос возвращает код состояния HTTP 416 (запрошенный диапазон невыполним).
Формат 2: bytes=startByte-endByte
Второй формат, bytes=startByte-endByte, доступен для запросов из всех версий (от 2009-04-14 до самой новой) и для всех версий службы эмулятора хранилища. Этот диапазон возвращает байты от смещения startByte до endByte. Например, чтобы указать диапазон, включающий первые 512 байт BLOB-объекта, можно передать один из следующих заголовков:
Range: bytes=0-511x-ms-range: bytes=0-511
Заголовок Content-Length в ответе равен числу байтов между каждым смещением. Если использовать диапазон из примера выше для BLOB-объекта размером 1024 байта, то Content-Length будет равно 512.
Если задано правильное смещение, не превышающее общую длину BLOB-объекта, запрос возвращает код состояния HTTP 206 (частичное содержимое). Если смещение недопустимо и превышает общую длину BLOB-объекта, запрос возвращает код состояния HTTP 416 (запрошенный диапазон невыполним).
См. также:
Основные понятия службы BLOB-объектов
Управление версиями для служб хранилища Azure