Вставка большого двоичного объекта
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала

Вставка большого двоичного объекта

 

Put Blob Операции создается новый блок, страницы или добавлять BLOB-объектов или обновляет содержимое существующего большого двоичного объекта блока.

Обновление существующего блочного большого двоичного объекта блокировки перезаписывает все существующие метаданные в большом двоичном объекте. Частичные обновления не поддерживаются с Put Blob; содержимое существующего большого двоичного объекта перезаписывается содержимым нового большого двоичного объекта. Чтобы выполнить частичное обновление содержимого блочного большого двоичного объекта, используйте Вставка списка блокировок операции.

Обратите внимание, что BLOB-объект append можно создать только в версии 2015-02-21 и более поздних версий.

Вызов Put Blob для создания страницы большой двоичный объект или BLOB-объект append только инициализирует большого двоичного объекта. Для добавления содержимого в страничного большого двоичного объекта, вызовите Вставка страницы операции. Для добавления содержимого в BLOB-объект append вызовите операции.

Put Blob Можно составить следующим образом. Рекомендуется использовать протокол HTTPS. Замените myaccount с именем учетной записи:

URI запроса метода PUT

Версия HTTP

https://myaccount.blob.core.windows.net/mycontainer/myblob

HTTP/1.1

При построении запроса к эмулированной службе хранилища укажите имя узла эмулятора и порт службы BLOB-объектов в виде 127.0.0.1:10000, а затем имя учетной записи эмулированного хранилища:

URI запроса метода PUT

Версия HTTP

http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob

HTTP/1.1

Обратите внимание, что эмулятор хранилища поддерживает размер больших двоичных объектов до 2 ГБ.

Дополнительные сведения см. в разделе с помощью эмулятора хранилища Azure для разработки и тестирования.

В URI запроса могут быть заданы следующие дополнительные параметры.

Параметр

Описание

timeout

Необязательно. В

параметр времени ожидания указывается в секундах. Дополнительные сведения см. в разделе Задание времени ожидания для операций службы BLOB-объектов.

Ниже перечислены необходимые и необязательные заголовки запросов для всех типов больших двоичных объектов.

Заголовок запроса

Описание

Authorization

Обязательно. Указывает схему проверки подлинности, имя учетной записи и подпись. Дополнительные сведения см. в разделе Проверка подлинности для служб хранения Azure.

Date или x-ms-date

Обязательно. Задает время в формате UTC для запроса. Дополнительные сведения см. в разделе Проверка подлинности для служб хранения Azure.

x-ms-version

Требуется для запросов с проверкой подлинности. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.

Content-Length

Обязательно. Длина запроса.

Для страничного большого двоичного объекта или BLOB-объект append, значение этого заголовка должно быть присвоено нулевое значение, как используется только для инициализации большого двоичного объекта. Для записи содержимого в существующий большой двоичный объект страницы, вызовите Вставка страницы. Для записи содержимого в BLOB-объект append, вызовите .

Content-Type

Необязательно. MIME-тип содержимого BLOB-объекта. Тип по умолчанию — application/octet-stream.

Content-Encoding

Необязательно. Указывает, какие кодировки содержимого были применены к большому двоичному объекту. Это значение возвращается клиенту при Получение большого двоичного объекта операция выполняется для ресурса больших двоичных объектов. Клиент может использовать это значение, когда оно возвращается для раскодирования содержимого больших двоичных объектов.

Content-Language

Необязательно. Указывает родные языки, используемые этим ресурсом.

Content-MD5

Необязательно. Хэш MD5 содержимого большого двоичного объекта. Этот хэш используется для проверки целостности большого двоичного объекта в ходе транспортировки. Если этот заголовок указан, то служба хранилища проверяет хэш, который поступил с отправленным заголовком. Если хэш не совпадает, операция завершится с ошибкой и кодом ошибки 400 (неправильный запрос).

Если пропустить его в версии 2012-02-12 и более поздних, служба BLOB-объектов создает хэш MD5.

Результатом Получение большого двоичного объекта, Получение свойств больших двоичных объектов, и Перечисление больших двоичных объектов включают хэш MD5.

Cache-Control

Необязательно. Служба BLOB-объектов сохраняет это значение, но не использует и не изменяет его.

x-ms-blob-content-type

Необязательно. Задайте тип содержимого большого двоичного объекта.

x-ms-blob-content-encoding

Необязательно. Задайте кодировку содержимого большого двоичного объекта.

x-ms-blob-content-language

Необязательно. Задайте язык содержимого большого двоичного объекта.

x-ms-blob-content-md5

Необязательно. Задайте хэш MD5 большого двоичного объекта.

x-ms-blob-cache-control

Необязательно. Задает управление кэшем большого двоичного объекта.

x-ms-blob-type:<BlockBlob | PageBlob | AppendBlob>

Обязательно. Указывает тип создаваемого большого двоичного объекта: блок больших двоичных объектов, страничного большого двоичного объекта, или в конце большого двоичного объекта. Поддержка создания BLOB-объект append доступны только в версии 2015-02-21 и более поздних версий.

x-ms-meta-name:value

Необязательно. Пары «имя-значение», связанные с большим двоичным объектом как метаданные.

Обратите внимание, что начиная с версии 2009-09-19, имена метаданных должны соответствовать правилам именования для идентификаторов C#.

x-ms-lease-id:<ID>

Требуется, если у большого двоичного объекта имеется активная аренда. Для выполнения этой операции в большом двоичном объекте с активной арендой укажите допустимый идентификатор аренды для этого заголовка.

x-ms-blob-content-disposition

Необязательно. Задает большого двоичного объекта Content-Disposition заголовка. Доступно в версии 2013-08-15 и выше.

Content-Disposition Поле заголовка ответа предоставляет дополнительные сведения о том, как обрабатывать полезные данные ответа, а также может использоваться для присоединения дополнительных метаданных. Например если значение attachment, это означает, что агент пользователя не покажет ответ а выведет Сохранить как диалоговое окно с именем файла указано имя большого двоичного объекта.

Ответ от Получение большого двоичного объекта и Получение свойств больших двоичных объектов включает операции content-disposition Заголовок.

Origin

Необязательно. Указывает источник, от которого выдан запрос. Наличие этого заголовка приводит к присутствию в ответе заголовков совместного использования ресурсов. В разделе Поддержка общего доступа к ресурсам независимо от источника (CORS) для служб хранилища Azure Подробные сведения.

x-ms-client-request-id

Необязательно. Клиент создал непрозрачное значение с ограничением символов, равным 1 КБ, которое записывается в журналы аналитики, когда ведение журнала службы аналитики хранилища включено. Настоятельно рекомендуется использовать этот заголовок для корреляции действий на стороне клиента с запросами, которые принимает сервер. Дополнительные сведения см. в разделе Сведения о ведении журнала службы аналитики хранилища и Ведение журнала Azure: Использование журналов для отслеживания запросов к хранилищу.

Эта операция также поддерживает использование условных заголовков только для записи в большие двоичные объекты, если выполняются указанные условия. Дополнительные сведения см. в разделе Указание условных заголовков для операций службы BLOB-объектов.

В следующей таблице описаны заголовки запросов, применимые только к операциям над страничными большими двоичными объектами.

Заголовок запроса

Описание

x-ms-blob-content-length: bytes

Требуется для страничных больших двоичных объектов. Этот заголовок указывает максимальный размер для страничного большого двоичного объекта — до 1 ТБ. Размер страничного большого двоичного объекта необходимо выравнивать по границе в 512 байт.

Если указан этот заголовок для большой двоичный объект или BLOB-объект append, служба BLOB-объектов возвращает код состояния 400 (неправильный запрос).

x-ms-blob-sequence-number: <num>

Необязательно. Задается только для страничных больших двоичных объектов. Порядковый номер — это значение, управляемое пользователем, которое можно использовать для отслеживания запросов. Значение порядкового номера должно быть между 0 и 2^ 63 -1. значение по умолчанию равно 0.

У блочного большого двоичного объекта текст запроса должен включать в себя его содержимое.

Для страничного большого двоичного объекта или BLOB-объект append текст запроса пуст.

В следующем примере показан запрос для создания блочного большого двоичного объекта.

Request Syntax: PUT https://myaccount.blob.core.windows.net/mycontainer/myblockblob HTTP/1.1 Request Headers: x-ms-version: 2015-02-21 x-ms-date: <date> Content-Type: text/plain; charset=UTF-8 x-ms-blob-content-disposition: attachment; filename="fname.ext" x-ms-blob-type: BlockBlob x-ms-meta-m1: v1 x-ms-meta-m2: v2 Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g= Content-Length: 11 Request Body: hello world

Этот образец запроса создает страничный большой двоичный объект, также указывается его максимальный размер в 1024 байта. Обратите внимание, что необходимо вызвать метод Вставка страницы для добавления содержимого в страничного большого двоичного объекта:

Request Syntax: PUT https://myaccount.blob.core.windows.net/mycontainer/mypageblob HTTP/1.1 Request Headers: x-ms-version: 2015-02-21 x-ms-date: <date> Content-Type: text/plain; charset=UTF-8 x-ms-blob-type: PageBlob x-ms-blob-content-length: 1024 x-ms-blob-sequence-number: 0 Authorization: SharedKey Origin: http://contoso.com Vary: Origin myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g= Content-Length: 0

Этот образец запроса создает большой двоичный объект append. Обратите внимание, что необходимо вызвать метод для добавления содержимого в BLOB-объект для добавления:

Request Syntax: PUT https://myaccount.blob.core.windows.net/mycontainer/myappendblob HTTP/1.1 Request Headers: x-ms-version: 2015-02-21 x-ms-date: <date> Content-Type: text/plain; charset=UTF-8 x-ms-blob-type: AppendBlob Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g= Origin: http://contoso.com Vary: Origin Content-Length: 0

Ответ включает код состояния HTTP и набор заголовков ответа.

Успешная операция возвращает код состояния 201 (создано).

Сведения о кодах состояния см. в разделе Коды состояний и ошибок.

Ответ для этой операции включает следующие заголовки. Ответ может также включать дополнительные стандартные заголовки HTTP. Все стандартные заголовки соответствуют спецификации протокола HTTP/1.1.

Заголовок ответа

Описание

ETag

ETag содержит значение, которое клиент может использовать для выполнения условных PUT операции с помощью If-Match заголовка запроса. Если версия запроса 2011-08-18 или более поздняя, то значение ETag будет указано в кавычках.

Last-Modified

Дата и время последнего изменения BLOB-объекта. Дата в формате согласно RFC 1123. Дополнительные сведения см. в разделе Представление значений даты и времени в заголовках.

Любая операция записи в большой двоичный объект (включая обновления метаданных и свойств) меняет время последнего изменения большого двоичного объекта.

Content-MD5

Этот заголовок возвращается для блочного большого двоичного объекта, чтобы клиент мог проверить целостность содержимого сообщения. Content-MD5 Возвращаемое значение вычисляется службой BLOB-объектов. В версии 2012-02-12 и более поздних версиях этот заголовок возвращается, даже в том случае, если запрос не содержит Content-MD5 или x-ms-blob-content-md5 заголовков.

x-ms-request-id

Этот заголовок однозначно определяет выполненный запрос, его также можно использовать для устранения связанных с запросом неполадок. Дополнительные сведения см. в разделе Устранение неполадок при API-операциях.

x-ms-version

Указывает версию службы BLOB-объектов, используемую для выполнения запроса. Этот заголовок возвращается для запросов к версии 2009-09-19 и более поздним версиям.

Date

Значение даты и времени в формате UTC, сформированное службой и указывающее время, когда был инициирован ответ.

Access-Control-Allow-Origin

Возвращается, если запрос содержит Origin заголовка и включен CORS с совпадающим правилом. В случае совпадения этот заголовок возвращает значение заголовка источника запроса.

Access-Control-Expose-Headers

Возвращается, если запрос содержит Origin заголовка и включен CORS с совпадающим правилом. Возвращает список заголовков ответа, которые должны быть предоставлены клиенту или отправителю запроса.

Access-Control-Allow-Credentials

Возвращается, если запрос содержит Origin заголовка и включен CORS с совпадающим правилом, которое не допускает использования всех источников. Этот заголовок будет установлен в значение true.

Отсутствуют.

Response Status: HTTP/1.1 201 Created Response Headers: Transfer-Encoding: chunked Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q== Date: <date> ETag: "0x8CB171BA9E94B0B" Last-Modified: <date> Access-Control-Allow-Origin: http://contoso.com Access-Control-Expose-Headers: Content-MD5 Access-Control-Allow-Credentials: True Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0

Эта операция может быть отменена владельцем учетной записи и любым обладателем подписанного URL-адреса с разрешениями на запись для этого большого двоичного объекта или контейнера.

При создании большого двоичного объекта необходимо указать независимо от того, большой двоичный объект, добавьте BLOB-объектов или страницы больших двоичных объектов, указав значение x-ms-blob-type заголовка. Когда большой двоичный объект создан, его тип изменить нельзя иначе как удалив и повторно создав этот объект.

Максимальный размер большого двоичного объекта, созданные при помощи Put Blob составляет 64 МБ. Если размер большого двоичного объекта превышает 64 МБ, то необходимо загружать его как набор блокировок. Дополнительные сведения см. в разделе Вставка блокировки и Вставка списка блокировок операций. Это необходимо для вызова также Put Blob при передаче большого двоичного объекта как набор блокировок.

При попытке загрузить блочный большой двоичный объект более 64 МБ или страничный большой двоичный объект более 1 ТБ служба возвращает код состояния 413 (слишком большая сущность запроса). Кроме того, служба BLOB-объектов также вернет в ответе дополнительные сведения об ошибке, в том числе максимально допустимый размер большого двоичного объекта в байтах.

Чтобы создать новый страничный большой двоичный объект, сначала инициализируйте его, вызвав Put Blob и укажите максимальный размер, до 1 ТБ. При создании страничного большого двоичного объекта не включайте содержимое в текст запроса. После создания большого двоичного объекта вызовите Вставка страницы для добавления содержимого в большой двоичный объект или изменить его.

Чтобы создать новый большой двоичный объект append, вызовите Put Blob для создания большого двоичного объекта с длиной содержимого 0 байт. После добавления большой двоичный объект создан, вызовите для добавления содержимого в конце большого двоичного объекта.

При вызове Put Blob перезаписывать существующий большой двоичный объект с тем же именем, сохраняются все моментальные снимки, связанные с исходным объектом. Чтобы удалить связанные моментальные снимки, вызовите Удаление больших двоичных объектов первой, затем Put Blob для повторного создания большого двоичного объекта.

Большой двоичный объект имеет пользовательские свойства (задаваемые через заголовки), позволяющие сохранять значения, связанные со стандартными заголовками HTTP. Впоследствии можно прочитать эти значения путем вызова Получение свойств больших двоичных объектов, или изменены путем вызова Задание свойств больших двоичных объектов. Заголовки пользовательских свойств и соответствующий стандартный заголовок HTTP перечислены в следующей таблице.

Заголовок HTTP

Пользовательский заголовок свойства большого двоичного объекта

Content-Type

x-ms-blob-content-type

Content-Encoding

x-ms-blob-content-encoding

Content-Language

x-ms-blob-content-language

Content-MD5

x-ms-blob-content-md5

Cache-Control

x-ms-blob-cache-control

Ниже описана семантика настройки сохранения этих значений свойств для больших двоичных объектов.

  • Если клиент указал заголовок пользовательского свойства, как указано в x-ms-blob префикс, это значение хранится в большом двоичном объекте.

  • Если клиент указал стандартный заголовок HTTP, но не заголовка пользовательского свойства, значение сохраняется в соответствующем пользовательском свойстве в большом двоичном объекте и возвращается путем вызова Get Blob Properties. Например, если клиент задал Content-Type заголовка запроса, то значение сохраняется в большом двоичном объекте x-ms-blob-content-type свойство.

  • Если клиент задал и стандартный заголовок HTTP, и соответствующий заголовок свойства в одном запросе, запрос PUT использует значение из стандартного заголовка HTTP, но сохраняется в большом двоичном объекте и возвращается по последующим запросам GET значение, указанное для заголовка пользовательского свойства.

Если большой двоичный объект имеет активную аренду, то клиент должен указать в запросе идентификатор аренды для перезаписи большого двоичного объекта. Если клиент не указывает идентификатор аренды или указывает недопустимый идентификатор аренды, то служба BLOB-объектов возвращает код состояния 412 (не выполнено необходимое условие). Если клиент указывает идентификатор аренды, но большой двоичный объект не имеет активной аренды, то служба BLOB-объектов также возвращает код состояния 412 (не выполнено необходимое условие). Если клиент указывает идентификатор аренды для большого двоичного объекта, который еще не существует, служба BLOB-объектов возвратит код состояния 412 (необходимое условие не выполнено) для запросов, сделанных к 2013-08-15 и последующей версии. Для предыдущих же версий службы BLOB-объектов возвращается код состояния 201 (создано).

Если существующий большой двоичный объект с арендой активной перезаписывается Put Blob операции, то аренда сохраняется в обновленном объекте до истечения срока действия или освобождается.

Объект Put Blob операция разрешается 10 минут на МБ. Если операция занимает в среднем дольше 10 минут на МБ, ее время ожидания истекает.

Показ:
© 2016 Microsoft