Поделиться через


Команда "Put Blob"

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

Когда вы обновляете существующий блоб, вы перезаписываете все существующие метаданные на блобе. Содержимое существующего blob перезаписывается содержимым нового blob-а. Частичные обновления не поддерживаются с Put Blob. Для частичного обновления содержимого блока используйте операцию Put Block List .

Вы можете создать дополнительный блоб только в версиях 2015-02-21 и позднее.

Вызов Put Blob a для создания блоба страницы или блоба приложения только инициализирует этот blob. Если сгусток уже существует, содержимое будет очищено. Чтобы добавить контент в блоб страницы, вызовите операцию Put Page . Чтобы добавить содержимое в блоб приложения, вызовите операцию Append Block .

Просьба

Можно создать запрос 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

Эмулятор памяти поддерживает размеры blob до 2 гибибайт (GiB).

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

Параметры URI

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

Параметр Description
timeout Необязательно. Параметр timeout выражается в секундах. Для получения дополнительной информации см. раздел «Установка тайм-аутов для операций сервиса Blob».

Заголовки запросов (все типы blob)

Обязательные и необязательные заголовки запросов для всех типов blob описаны в следующей таблице:

Заголовок запроса Description
Authorization Обязательное. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure.
Date или x-ms-date Обязательное. Указывает универсальное время (UTC) для запроса. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure.
x-ms-version Требуется для всех авторизованных запросов. Указывает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
Content-Length Обязательное. Продолжительность запроса.

Для блоба страницы или блоба приложения значение этого заголовка должно быть установлено равным нулю, поскольку Put Blob используется только для инициализации blob. Чтобы написать контент в существующую страницу, вызовите Put Page. Чтобы записать контент в blob приложения, вызовите Append Block.
Content-Type Необязательно. Тип MIME-контента blob. Значение по умолчанию — application/octet-stream.
Content-Encoding Необязательно. Указывает, какие кодировки содержимого были применены к большому двоичному объекту. Это значение возвращается клиенту при выполнении операции Get Blob на ресурсе blob. Когда это значение возвращается, клиент может использовать его для декодирования содержимого blob.
Content-Language Необязательно. Указывает природные языки, используемые этим ресурсом.
Content-MD5 Необязательно. MD5-хэш содержимого blob. Этот хэш используется для проверки целостности большого двоичного объекта во время транспорта. Когда этот заголовок задаётся, служба хранения проверяет прибывший хэш с отправленным. Если два хэша не соответствуют, операция завершается ошибкой с кодом 400 (недопустимый запрос).

Если заголовок опущен в версии 2012-02-12 или более позднее, Blob Storage генерирует MD5-хеш.

Результаты Get Blob, Get Blob Properties и List Blobs включают MD5-хэш.
x-ms-content-crc64 Необязательно. Хэш CRC64 содержимого blob. Этот хэш используется для проверки целостности большого двоичного объекта во время транспорта. Когда этот заголовок задаётся, служба хранения проверяет прибывший хэш с отправленным. Если два хэша не соответствуют, операция завершается ошибкой с кодом 400 (недопустимый запрос). Этот заголовок поддерживается в версиях 02-02-2019 и позднее.

Если присутствуют оба заголовка Content-MD5 и x-ms-content-crc64, запрос не выполняется при 400 (плохой запрос).
Cache-Control Необязательно. Blob Storage хранит это значение, но не использует и не изменяет его.
x-ms-blob-content-type Необязательно. Задайте тип контента для blob.
x-ms-blob-content-encoding Необязательно. Задайте кодировку контента для blob.
x-ms-blob-content-language Необязательно. Задайте язык содержания блоба.
x-ms-blob-content-md5 Необязательно. Задайте MD5 хэш блоба. Для BlockBlob этот заголовок имеет приоритет Content-MD5 при проверке целостности blob во время транспортировки. Для PageBlob и AppendBlob этот заголовок напрямую задаёт MD5-хэш blob.
x-ms-blob-cache-control Необязательно. Устанавливает контроль кэша blob-а.
x-ms-blob-type: <BlockBlob ¦ PageBlob ¦ AppendBlob> Обязательное. Указывает тип blob-а для создания: блочный blob, page blob или addend blob. Поддержка создания blob для добавления доступна только в версии 2015-02-21 и более позднее.
x-ms-meta-name:value Необязательно. Пары "Имя-значение", связанные с большим двоичным объектом в качестве метаданных.

Примечание: Начиная с версии 2009-09-19, имена метаданных должны соответствовать правилам именования для идентификаторов C#.
x-ms-encryption-scope Необязательно. Указывает область шифрования, используемую для шифрования содержимого запроса. Этот заголовок поддерживается в версиях 2019-02-02 и позднее.
x-ms-encryption-context Необязательно. По умолчанию — «Пусто». Если значение установлено, оно задаст метаданные системы blob. Максимальная длина — 1024. Допустимо, только если иерархическое пространство имен включено для учетной записи. Этот заголовок поддерживается в версиях 2021-08-06 и позднее.
x-ms-tags Необязательно. Устанавливает заданные теги с кодированием строк запроса на blob. См. Замечания для получения дополнительной информации. Поддерживается в версиях 2019-12-12 и более позднее.
x-ms-lease-id:<ID> Требуется, если большой двоичный объект имеет действующую аренду. Чтобы выполнить эту операцию с большим двоичным объектом с активной арендой, укажите допустимый идентификатор аренды для этого заголовка.
x-ms-blob-content-disposition Необязательно. Устанавливает Content-Disposition заголовок Blob's. Доступно для версий 2013-08-15 и позднее.

Content-Disposition Поле заголовка ответа содержит дополнительную информацию о том, как обрабатывать полезный груз ответа, и вы можете использовать его для добавления дополнительных метаданных. Например, если заголовок установлен на attachment, это означает, что user-agent не должен отображать ответ. Вместо этого должно отображаться диалог Save As с именем файла, отличным от указанного имени blob.

Ответ операций Get Blob и Get Blob Properties включает заголовок content-disposition .
Origin Необязательно. Указывает источник отправки запроса. Наличие этого заголовка приводит к появлению заголовков кросс-источникового совместного использования ресурсов (CORS) в ответе. Для получения дополнительной информации см. раздел CORS support для Azure Storage Services.
x-ms-client-request-id Необязательно. Предоставляет клиентские, непрозрачное значение с ограничением символа в 1 кибибайт (KiB), которое фиксируется в аналитических логах при настройке логирования. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Для получения дополнительной информации смотрите раздел «О логировании аналитики хранилища».
x-ms-access-tier Необязательно. Уровень, который нужно установить на блобе. Для блобов страницы на аккаунте Premium Storage только с версией 2017-04-17 и выше. Полный список уровней, поддерживаемых блобами, см. раздел «Высокопроизводительное премиальное хранилище и управляемые диски для виртуальных машин (VM). Для блочных блобов поддерживается на блоб-хранилище или на общих аккаунтах v2 только с версией 2018-11-09 и выше. Допустимые значения для уровней блочных блопов — Hot, Cool, Cold, и Archive. Примечание: Cold уровень поддерживается для версий 2021-12-02 и более позднее. Для подробной информации о уровне блочного блока см. Горячие, холодные и архивные уровни хранилища.
x-ms-immutability-policy-until-date Версия 2020-06-12 и выше. Указывает дату удержания , которую нужно установить на блобе. Это дата, до которой blob можно защитить от изменений или удаления. Соответствует RFC1123 формату.
x-ms-immutability-policy-mode Версия 2020-06-12 и выше. Задаёт режим политики неизменяемости, который нужно установить на блобе. Допустимые значения — unlocked и locked. С unlocked, пользователи могут изменить политику, увеличив или уменьшив дату удержания до срока. С locked, эти действия запрещены.
x-ms-legal-hold Версия 2020-06-12 и выше. Указывает юридическую удержательность на blob. Допустимые значения — true и false.
x-ms-expiry-option Необязательно. Версия 2023-08-03 и более поздняя. Указывает опцию срока действия запроса. Для получения дополнительной информации смотрите ExpiryOption. Этот заголовок действует для аккаунтов с включённым иерархическим пространством имён.
x-ms-expiry-time Необязательно. Версия 2023-08-03 и более поздняя. Указывает время, когда блоб установлен на истечение. Формат срока годности варьируется в зависимости от x-ms-expiry-option. Для получения дополнительной информации смотрите ExpiryOption. Этот заголовок действует для аккаунтов с включённым иерархическим пространством имён.

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

Заголовки запросов (только блобы страницы)

Заголовки запросов, применимые только к операциям над блобами страницы, описаны в следующей таблице:

Заголовок запроса Description
x-ms-blob-content-length: bytes Обязательно для блобов страницы. Этот заголовок указывает максимальный размер блоба страницы — до 8 тебибайт (TiB). Размер блоба страницы должен быть выровнен по границе в 512 байт.

Если этот заголовок указан для блочного блока или блоба приложения, Blob Storage возвращает статус 400 (Плохой запрос).
x-ms-blob-sequence-number: <num> Необязательно. Настройте только на страницы. Порядковый номер — это управляемое пользователем значение, которое можно использовать для отслеживания запросов. Значение порядкового номера должно быть от 0 до 2^63 - 1. Значение по умолчанию — 0.
x-ms-access-tier Версия 2017-04-17 и выше. Только для страничных BLOB-объектов в учетной записи хранения класса Premium. Указывает уровень, который нужно установить на блобе. Полный список поддерживаемых уровней см. раздел «Высокопроизводительное премиальное хранилище и управляемые диски для виртуальных машин».
x-ms-client-request-id Этот заголовок можно использовать для устранения неполадок запросов и соответствующих ответов. Значение этого заголовка равно значению заголовка x-ms-client-request-id, если оно присутствует в запросе, а значение содержит не более 1024 видимых символов ASCII. Если в запросе отсутствует заголовок x-ms-client-request-id, он не будет присутствовать в ответе.

Заголовки запросов (ключи шифрования, предоставляемые клиентом)

По состоянию на версию 2019-02-02 в запросе на шифрование blob с ключом, предоставленным клиентом, могут быть указаны следующие заголовки. Шифрование с ключом, предоставленным клиентом (и соответствующим набором заголовков) является необязательным.

Заголовок запроса Description
x-ms-encryption-key Обязательное. Ключ шифрования AES-256, закодированный по Base64.
x-ms-encryption-key-sha256 Обязательное. Хэш SHA256, закодированный в Base64, ключ шифрования.
x-ms-encryption-algorithm: AES256 Обязательное. Задаёт алгоритм для шифрования. Значение этого заголовка должно быть AES256.

Заголовки запросов (структурированное тело, только блочный блок)

По состоянию на версию 2025-01-05 в запросе могут быть указаны следующие заголовки для использования формата структурированного тела. Они применяются только к блокам.

Заголовок запроса Description
Content-Length Обязательное. Должно быть длина закодированного запроса (а не только длина содержимого blob).

Если значение заголовка не совпадает с ожидаемой длиной закодированного запроса, операция неудачна с кодом ошибки 400 (Плохой запрос).
x-ms-structured-body Обязательное. Необходимо включить, если формат сообщения структурирован. Значение этого заголовка содержит версию схемы сообщений и свойства.

В настоящее время единственное поддерживаемое значение — XSM/1.0; properties=crc64, указывающее, что запрос использует сегменты контрольной суммы crc64 в закодированном сообщении. Если значение не совпадает с этим, операция заканчивается с кодом ошибки 400 (Плохой запрос). Запрос также не будет выполнен, если содержание, предоставленное в запросе, не совпадает с предоставленной контрольной суммой для данного сегмента.
x-ms-structured-content-length Обязательное. Необходимо включить, если формат сообщения структурирован. Значение этого заголовка — это длина содержимого блоба, и всегда будет меньше Content-Length значения заголовка из-за кодирования сообщений.

Если значение заголовка не совпадает с длиной содержимого blob, указанного в запросе, операция заканчивается с кодом ошибки 400 (плохой запрос).

Основное содержание запроса

Для блочного blob тело запроса содержит содержимое blob.

Для блоба страницы или блоба приложения тело запроса пусто.

Пример запроса

Следующий пример показывает запрос на создание блочного блока:

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  
x-ms-expiry-option: RelativeToNow
x-ms-expiry-time: 30000
Authorization: SharedKey myaccount:YhuFJjN4fAR8/AmBrqBz7MG2uFinQ4rkh4dscbj598g=  
Content-Length: 11  
  
Request Body:  
hello world

Этот пробный запрос создаёт блоб страницы и указывает её максимальный размер в 1 024 байта. Чтобы добавить контент в блоб страницы, необходимо вызвать Put Page:

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  

Этот примерный запрос создаёт blob для добавления. Чтобы добавить содержимое в блоб приложения, нужно вызвать Append Block:

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.

Заголовок ответа Description
ETag Содержит значение, которое клиент может использовать для выполнения условных PUT операций с помощью If-Match заголовка запроса. Если версия запроса — 2011-08-18 или более поздняя, значение ETag заключается в кавычки.
Last-Modified Дата/время последней модификации blob. Формат даты соответствует RFC 1123. Для получения дополнительной информации см. Представление значений даты/времени в заголовках.

Любая операция записи на blob (включая обновления метаданных или свойств blob) меняет последний изменённый момент blob-а.
Content-MD5 Возвращается для блоба, чтобы клиент мог проверить целостность содержимого сообщения. Возвращаемое Content-MD5 значение вычисляется Blob Storage. В версиях 2012-02-12 и более поздних этот заголовок возвращается даже если запрос не содержит Content-MD5x-ms-blob-content-md5 заголовки или заголовки.
x-ms-content-crc64 Возвращается для блоба, чтобы клиент мог проверить целостность содержимого сообщения. Возвращаемое x-ms-content-crc64 значение вычисляется Blob Storage. Этот заголовок всегда возвращается с версии 2019-02-02.
x-ms-request-id Уникально идентифицирует выполненный запрос, и его можно использовать для устранения неполадок запроса. Дополнительные сведения см. в статье Устранение неполадок с операциями API.
x-ms-version Указывает версию Blob Storage, использовавшуюся для выполнения запроса. Возвращено по запросам, сделанным по версии 2009-09-19 и более позднее.
Date Значение даты и времени в формате UTC, созданное службой, указывающее время, когда был инициирован ответ.
Access-Control-Allow-Origin Возвращается, если запрос содержит Origin заголовок и CORS включен с правилом сопоставления. Этот заголовок возвращает значение заголовка запроса исходного запроса, если есть совпадение.
Access-Control-Expose-Headers Возвращается, если запрос содержит Origin заголовок и CORS включен с правилом сопоставления. Возвращает список заголовков ответов, которые должны быть представлены клиенту или эмитенту запроса.
Access-Control-Allow-Credentials Возвращается, если запрос содержит Origin заголовок, а CORS включен с правилом сопоставления, которое не позволяет использовать все источники. Этот заголовок установлен в true.
x-ms-request-server-encrypted: true/false Версия 2015-12-11 и более поздняя. Значение этого заголовка задаётся равным true , если содержимое запроса успешно зашифровано с помощью указанного алгоритма. В противном случае значение равно false.
x-ms-encryption-key-sha256 Версия 2019-02-02 и выше. Возвращается, если запрос использует ключ, предоставленный клиентом, для шифрования, чтобы клиент мог убедиться, что содержимое запроса успешно зашифровано с помощью предоставленного ключа.
x-ms-encryption-scope Версия 2019-02-02 и выше. Возвращается, если запрос использует область шифрования, чтобы клиент мог гарантировать успешное шифрование содержимого с помощью области шифрования.
x-ms-version-id: <DateTime> Версия 2019-12-12 и позже. Этот заголовок возвращает непрозрачное DateTime значение, уникально идентифицирующее blob. Значение этого заголовка указывает версию blob, и его можно использовать в последующих запросах для доступа к blob.
x-ms-structured-body Возвращается, если запрос был обработан как структурированный запрос. Значение этого заголовка равно значению, отправленному в запросе, которое в настоящее время должно быть XSM/1.0; properties=crc64.

Основная часть ответа

Нет.

Пример ответа

Response Status:  
HTTP/1.1 201 Created  
  
Response Headers:  
Transfer-Encoding: chunked  
Content-MD5: sQqNsWTgdUEFt6mb5y4/5Q==  
x-ms-content-crc64: 77uWZTolTHU
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  
x-ms-version-id: <DateTime>  

Authorization

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

Если запрос указывает теги с x-ms-tags заголовком запроса, вызывающий должен соответствовать требованиям авторизации операции Set Blob Tags .

Это важно

Корпорация Майкрософт рекомендует использовать идентификатор Microsoft Entra с управляемыми удостоверениями для авторизации запросов в службу хранилища Azure. Идентификатор Microsoft Entra обеспечивает более высокую безопасность и удобство использования по сравнению с авторизацией общего ключа.

Служба хранилища Azure поддерживает использование идентификатора Microsoft Entra для авторизации запросов к данным BLOB-объектов. С помощью идентификатора Microsoft Entra можно использовать управление доступом на основе ролей Azure (Azure RBAC) для предоставления разрешений субъекту безопасности. Субъект безопасности может быть пользователем, группой, субъектом-службой приложений или управляемым удостоверением Azure. Принципал безопасности проходит проверку подлинности с помощью Microsoft Entra ID, чтобы вернуть токен OAuth 2.0. Затем маркер можно использовать для авторизации запроса к службе BLOB-объектов.

Дополнительные сведения об авторизации с помощью идентификатора Microsoft Entra см. в статье Авторизация доступа к большим двоичным объектам с помощью идентификатора Microsoft Entra ID.

Permissions

Ниже приведены действия RBAC, необходимые для пользователя Microsoft Entra, группы, управляемого удостоверения или субъекта-службы для вызова операции Put Blob и минимально привилегированной встроенной роли Azure RBAC, которая включает в себя следующее:

Дополнительные сведения о назначении ролей с помощью Azure RBAC см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.

Замечания

При создании blob нужно указать, является ли это блочным blob, addend blob или page blob, указав значение x-ms-blob-type заголовка. После создания blob тип blob нельзя изменить, если её не удалить и создать заново.

В следующей таблице описаны максимально допустимые размеры блоков и блобов по версиям сервиса:

Версия службы Максимальный размер блока (через Put Block) Максимальный размер капли (через Put Block List) Максимальный размер капли с помощью одной операции записи (через Put Blob)
Версия 2019-12-12 и более поздние 4 000 мебибайт (MiB) Примерно 190,7 TiB (4 000 MiB × 50 000 блоков) 5 000 MiB
Версии 2016-05-31 по 2019-07-07 100 МиБ Примерно 4,75 TiB (100 MiB × 50 000 блоков) 256 МиБ
Версии, ранее 31.05.2016 4 МиБ Примерно 195 ГиБ (4 МиБ × 50 000 блоков) 64 МиБ

Если вы попытаетесь загрузить либо блочный blob, который превышает максимальный допустимый размер для этой версии сервиса, либо blob страницы больше 8 TiB, сервис возвращает статус 413 (Request Entity Too Large). Blob Storage также возвращает дополнительную информацию об ошибке в ответе, включая максимально допустимый размер blob, в байтах.

Чтобы создать новый блоб страницы, сначала инициализируйте blob, вызвав Put Blob, а затем укажите его максимальный размер — до 8 TiB. При создании блоба страницы не включайте контент в тело запроса. После создания blob вызовите Put Page , чтобы добавить содержимое в blob или изменить его.

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

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

Пользовательские свойства blob

Blob имеет пользовательские свойства (заданные через заголовки), которые можно использовать для хранения значений, связанных со стандартными HTTP-заголовками. Затем вы можете прочитать эти значения, вызвав Get Blob Properties, или изменить их, вызвав Set Blob Properties. Заголовки пользовательских свойств и соответствующий стандартный HTTP-заголовок приведены в следующей таблице:

Заголовок HTTP Заголовок свойства пользовательского blob
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

Семантика для установки или сохранения значений этих свойств с помощью blob следующая:

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

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

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

Если теги указаны в x-ms-tags заголовке, они должны быть закодированы строками запроса. Ключи и значения тегов должны соответствовать требованиям к именованию и длине, указанным в Set Blob Tags. Кроме того, заголовок x-ms-tags может содержать до 2 кб тегов. Если требуется больше тегов, используйте операцию Set Blob Tags .

Если у blob активный договор аренды, клиент должен указать действительный идентификатор аренды в запросе на перезапись blob. Если клиент не указывает идентификатор аренды или недействительный идентификатор аренды, Blob Storage возвращает статус 412 (предварительное условие не выполнено). Если клиент указывает идентификатор аренды, но у blob нет активного договора аренды, Blob Storage также возвращает статус 412 (предварительное условие не выполнено). Если клиент указывает идентификатор аренды на блобе, который ещё не существует, Blob Storage возвращает код статуса 412 (Предусловие не выполнено) для запросов, сделанных по версии 2013-08-15 и далее. Для версий старше 15.08.2013 Blob Storage возвращает статус 201 (Создано).

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

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

Перезапись archive blob не работает, и перезапись a hot или cool blob наследует уровень от старого blob, если x-ms-access-tier заголовок не предоставлен.

ExpiryOption

Вы можете отправить следующие значения в виде x-ms-expiry-option заголовка. Этот заголовок не зависит от регистра.

Опция истечения срока действия Description
RelativeToNow Устанавливает дату истечения срока действия относительно текущего времени. x-ms-expiry-time должно быть указано как количество миллисекунд, прошедших от настоящего времени.
Absolute x-ms-expiry-time должно быть указано как абсолютное время в формате RFC 1123.
NeverExpire Устанавливает «блоб» так, чтобы он никогда не истекал, или удаляет текущую дату истечения. x-ms-expiry-time не должно быть уточнено.

Семантика для установления срока годности для blob следующая:

  • Set Expiry может быть установлен только на блобе, а не на каталоге.
  • Set Expiry В expiryTime прошлом не разрешено.
  • ExpiryTime нельзя указать при expiryOption значении Never.

Выставление счетов

Запросы на оплату могут исходить от клиентов, использующих API хранилища BLOB-объектов, либо непосредственно через REST API хранилища BLOB-объектов, либо из клиентской библиотеки службы хранилища Azure. За эти запросы взимается плата за каждую транзакцию. Тип транзакции влияет на то, как будет взиматься плата со счета. Например, транзакции чтения относятся к другой категории выставления счетов, чем транзакции записи. В следующей таблице показана категория выставления счетов для Put Blob запросов в зависимости от типа учетной записи хранения:

Операция Тип учетной записи хранения Категория биллинга
Команда "Put Blob" Блочный BLOB-объект категории "Премиум".
Стандартная версия общего назначения v2
Стандартный общего назначения версии 1
Операции записи

Сведения о ценах для указанной категории выставления счетов см. в статье Цены на хранилище BLOB-объектов Azure.

См. также

Авторизация запросов к службе хранилища Azure
Коды состояний и ошибок
Коды ошибок сервиса Blob
Установка тайм-аутов для операций сервиса Blob