Put BLOB (Вставка BLOB-объекта)
Операция Put Blob
создает новый блок, страницу или добавочный BLOB-объект или обновляет содержимое существующего блочного BLOB-объекта. Операция Put Blob
перезапишет все содержимое существующего большого двоичного объекта с тем же именем.
При обновлении существующего блочного BLOB-объекта все существующие метаданные в большом двоичном объекте перезаписываются. Содержимое существующего большого двоичного объекта перезаписывается содержимым нового большого двоичного объекта. Частичные обновления не поддерживаются в Put Blob
. Чтобы выполнить частичное обновление содержимого блочного BLOB-объекта, используйте операцию Поместить список блокировок .
Добавочный BLOB-объект можно создать только в версии 2015-02-21 и более поздних версиях.
Вызов Put Blob
для создания страничного BLOB-объекта или добавочного BLOB-объекта инициализирует только большой двоичный объект. Если большой двоичный объект уже существует, содержимое будет очищено. Чтобы добавить содержимое в страничный BLOB-объект, вызовите операцию Put Page . Чтобы добавить содержимое в добавочный BLOB-объект, вызовите операцию Добавления блока .
Запрос
Запрос можно создать 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 ГиБ.
Дополнительные сведения см. в статье Использование эмулятора Azurite для разработки и тестирования службы хранилища Azure.
Параметры универсального кода ресурса (URI)
В URI запроса можно указать следующие дополнительные параметры:
Параметр | Описание |
---|---|
timeout |
Необязательный элемент. Параметр timeout указывается в секундах. Дополнительные сведения см. в разделе Настройка времени ожидания для операций службы BLOB-объектов. |
Заголовки запросов (все типы BLOB-объектов)
Обязательные и необязательные заголовки запросов для всех типов BLOB-объектов описаны в следующей таблице.
Заголовок запроса | Описание |
---|---|
Authorization |
Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure. |
Date или x-ms-date |
Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure. |
x-ms-version |
Требуется для всех авторизованных запросов. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure. |
Content-Length |
Обязательный. Длина запроса. Для страничного blob-объекта или добавочного BLOB-объекта значение этого заголовка должно быть равно нулю, так как put BLOB-объект используется только для инициализации большого двоичного объекта. Чтобы записать содержимое в существующий страничный BLOB-объект, вызовите команду Put Page. Чтобы записать содержимое в добавочный BLOB-объект, вызовите append block. |
Content-Type |
Необязательный элемент. MIME-тип содержимого BLOB-объекта. Значение по умолчанию — application/octet-stream . |
Content-Encoding |
Необязательный элемент. Указывает, какие кодировки содержимого были применены к большому двоичному объекту. Это значение возвращается клиенту при выполнении операции получения большого двоичного объекта в ресурсе BLOB-объекта. Когда это значение возвращается, клиент может использовать его для декодирования содержимого BLOB-объекта. |
Content-Language |
Необязательный элемент. Указывает естественные языки, используемые этим ресурсом. |
Content-MD5 |
Необязательный элемент. Хэш MD5 содержимого большого двоичного объекта. Этот хэш используется для проверки целостности большого двоичного объекта в ходе транспортировки. Если указан этот заголовок, служба хранилища проверяет отправленный хэш. Если два хэша не совпадают, операция завершается ошибкой с кодом 400 (недопустимый запрос). Если заголовок опущен в версии 2012-02-12 или более поздней, хранилище BLOB-объектов создает хэш MD5. Результаты получения BLOB-объектов, получения свойств BLOB-объектов и списка BLOB-объектов включают хэш MD5. |
x-ms-content-crc64 |
Необязательный элемент. Хэш CRC64 содержимого BLOB-объекта. Этот хэш используется для проверки целостности большого двоичного объекта в ходе транспортировки. Если указан этот заголовок, служба хранилища проверяет отправленный хэш. Если два хэша не совпадают, операция завершается ошибкой с кодом 400 (недопустимый запрос). Этот заголовок поддерживается в версии 02-02-2019 и более поздних версиях. Если присутствуют заголовки Content-MD5 и x-ms-content-crc64, запрос завершается ошибкой 400 (недопустимый запрос). |
Cache-Control |
Необязательный элемент. Хранилище BLOB-объектов хранит это значение, но не использует и не изменяет его. |
x-ms-blob-content-type |
Необязательный элемент. Задайте тип содержимого большого двоичного объекта. |
x-ms-blob-content-encoding |
Необязательный элемент. Задайте кодировку содержимого большого двоичного объекта. |
x-ms-blob-content-language |
Необязательный элемент. Задайте язык содержимого большого двоичного объекта. |
x-ms-blob-content-md5 |
Необязательный элемент. Задайте хэш MD5 большого двоичного объекта. Для BlockBlob этот заголовок имеет приоритет Content-MD5 при проверке целостности большого двоичного объекта во время транспортировки. Для PageBlob и AppendBlob этот заголовок напрямую задает хэш MD5 большого двоичного объекта. |
x-ms-blob-cache-control |
Необязательный элемент. Задает управление кэшем большого двоичного объекта. |
x-ms-blob-type: <BlockBlob ¦ PageBlob ¦ AppendBlob> |
Обязательный. Указывает тип создаваемого BLOB-объекта: блочный BLOB-объект, страничный BLOB-объект или добавочный 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 |
Необязательный элемент. Значение по умолчанию — "Empty". Если значение задано, будут заданы метаданные системы BLOB-объектов. Максимальная длина — 1024. Допустимо только в том случае, если для учетной записи включено иерархическое пространство имен. Этот заголовок поддерживается в версиях 2021-08-06 и более поздних. |
x-ms-tags |
Необязательный элемент. Задает заданные теги в кодировке строки запроса для большого двоичного объекта. Дополнительные сведения см. в разделе Примечания. Поддерживается в версии 2019-12-12 и более поздних версиях. |
x-ms-lease-id:<ID> |
Требуется, если у большого двоичного объекта имеется активная аренда. Для выполнения этой операции в большом двоичном объекте с активной арендой укажите допустимый идентификатор аренды для этого заголовка. |
x-ms-blob-content-disposition |
Необязательный элемент. Задает заголовок Content-Disposition большого двоичного объекта. Доступно в версии 2013-08-15 и выше.Поле Content-Disposition заголовка ответа содержит дополнительные сведения о том, как обрабатывать полезные данные ответа, и его можно использовать для вложения дополнительных метаданных. Например, если для заголовка задано значение attachment , это означает, что агент пользователя не должен отображать ответ. Вместо этого должно отобразиться диалоговое окно Сохранить как с именем файла, отличного от указанного имени большого двоичного объекта.Ответ от операций Get Blob и Get Blob Properties содержит content-disposition заголовок . |
Origin |
Необязательный элемент. Указывает источник, от которого выдан запрос. Наличие этого заголовка приводит к появлению в ответе заголовков совместного использования ресурсов (CORS). Дополнительные сведения см. в статье Поддержка CORS для служб хранилища Azure. |
x-ms-client-request-id |
Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы аналитики при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в статье Ведение журнала аналитики хранилища. |
x-ms-access-tier |
Необязательный элемент. Уровень для большого двоичного объекта. Для страничных BLOB-объектов в учетной записи хранилище класса Premium только версии 2017-04-17 и более поздних версий. Полный список уровней, поддерживаемых страничными BLOB-объектами, см. в статье Высокопроизводительное хранилище класса Premium и управляемые диски для виртуальных машин. Для блочных BLOB-объектов поддерживается в хранилище BLOB-объектов или учетных записях общего назначения версии 2 только в версии 2018-11-09 и более поздних версиях. Допустимые значения для уровней блочных BLOB-объектов: Hot , Cool , Cold и Archive .
Примечание. Cold Уровень поддерживается для версии 2021-12-02 и более поздних версий. Подробные сведения о разных уровнях блочных BLOB-объектов см. в разделе Горячий, холодный и архивный уровни хранилища. |
x-ms-immutability-policy-until-date |
Версия 12.06.2020 и более поздняя. Указывает дату хранения до установки в большом двоичном объекте. Это дата, до которой blob-объект может быть защищен от изменения или удаления. Соответствует RFC1123 формату. |
x-ms-immutability-policy-mode |
Версия 12.06.2020 и более поздняя. Указывает режим политики неизменяемости для большого двоичного объекта. Допустимые значения: unlocked и locked . С помощью unlocked пользователи могут изменять политику, увеличивая или уменьшая срок хранения до даты. При locked использовании эти действия запрещены. |
x-ms-legal-hold |
Версия 12.06.2020 и более поздняя. Указывает юридическое удержание большого двоичного объекта. Допустимые значения: true и false . |
x-ms-expiry-option |
Необязательный элемент. Версия 03.08.2023 и более поздняя. Указывает параметр даты окончания срока действия для запроса. Дополнительные сведения см. в разделе ExpiryOption. Этот заголовок допустим для учетных записей с включенным иерархическим пространством имен. |
x-ms-expiry-time |
Необязательный элемент. Версия 03.08.2023 и более поздняя. Указывает время истечения срока действия BLOB-объекта. Формат даты окончания срока действия зависит от x-ms-expiry-option . Дополнительные сведения см. в разделе ExpiryOption. Этот заголовок допустим для учетных записей с включенным иерархическим пространством имен. |
Эта операция также поддерживает использование условных заголовков только для записи в большие двоичные объекты, если выполняются указанные условия. Дополнительные сведения см . в разделе Указание условных заголовков для операций с хранилищем BLOB-объектов.
Заголовки запросов (только страничные BLOB-объекты)
Заголовки запросов, применимые только для операций со страничными BLOB-объектами, описаны в следующей таблице:
Заголовок запроса | Описание |
---|---|
x-ms-blob-content-length: bytes |
Требуется для страничных больших двоичных объектов. Этот заголовок задает максимальный размер страничного BLOB-объекта до 8 тбибайт (ТиБ). Размер страничного большого двоичного объекта необходимо выравнивать по границе в 512 байт. Если этот заголовок указан для блочного или добавочного BLOB-объекта, хранилище BLOB-объектов возвращает код состояния 400 (недопустимый запрос). |
x-ms-blob-sequence-number: <num> |
Необязательный элемент. Задается только для страничных больших двоичных объектов. Порядковый номер — это значение, управляемое пользователем, которое можно использовать для отслеживания запросов. Значение порядкового номера должно быть от 0 до 2^63 –1. Значение по умолчанию — 0. |
x-ms-access-tier |
Версия 17.04.2017 и более поздняя. Только для страничных BLOB-объектов в учетной записи хранения класса Premium. Указывает уровень для большого двоичного объекта. Полный список поддерживаемых уровней см. в статье Высокопроизводительное хранилище класса Premium и управляемые диски для виртуальных машин. |
x-ms-client-request-id |
Этот заголовок можно использовать для устранения неполадок запросов и соответствующих ответов. Значение этого заголовка равно значению заголовка x-ms-client-request-id , если он присутствует в запросе и содержит не более 1024 видимых символов ASCII. Если заголовок x-ms-client-request-id отсутствует в запросе, он не будет присутствовать в ответе. |
Заголовки запросов (ключи шифрования, предоставленные клиентом)
Начиная с версии 2019-02-02 в запросе на шифрование большого двоичного объекта с помощью ключа, предоставленного клиентом, могут быть указаны следующие заголовки. Шифрование с помощью ключа, предоставленного клиентом (и соответствующего набора заголовков), является необязательным.
Заголовок запроса | Описание |
---|---|
x-ms-encryption-key |
Обязательный. Ключ шифрования AES-256 в кодировке Base64. |
x-ms-encryption-key-sha256 |
Обязательный. Хэш SHA256 в кодировке Base64 ключа шифрования. |
x-ms-encryption-algorithm: AES256 |
Обязательный. Указывает алгоритм, используемый для шифрования. Для этого заголовка должно быть установлено значение AES256 . |
Текст запроса
У блочного большого двоичного объекта текст запроса должен включать в себя его содержимое.
Для страничного 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
Этот пример запроса создает страничный BLOB-объект и задает его максимальный размер в 1024 байта. Чтобы добавить содержимое в страничный BLOB-объект, необходимо вызвать команду 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-объект. Чтобы добавить содержимое в добавочный 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.
Заголовок ответа | Описание |
---|---|
ETag |
Содержит значение, которое клиент может использовать для выполнения условных PUT операций с помощью заголовка If-Match запроса. Если версия запроса — 18.08.2011 или более поздняя, значение ETag заключено в кавычки. |
Last-Modified |
Дата и время последнего изменения большого двоичного объекта. Дата в формате согласно RFC 1123. Дополнительные сведения см. в разделе Представление значений даты и времени в заголовках. Любая операция записи в большой двоичный объект (включая обновления метаданных и свойств) меняет время последнего изменения большого двоичного объекта. |
Content-MD5 |
Возвращается для блочного BLOB-объекта, чтобы клиент проверка целостность содержимого сообщения. Возвращаемое Content-MD5 значение вычисляется хранилищем BLOB-объектов. В версии 2012-02-12 и более поздних версиях этот заголовок возвращается, даже если запрос не содержит Content-MD5 заголовки или x-ms-blob-content-md5 . |
x-ms-content-crc64 |
Возвращается для блочного BLOB-объекта, чтобы клиент проверка целостность содержимого сообщения. Возвращаемое x-ms-content-crc64 значение вычисляется хранилищем BLOB-объектов. Этот заголовок всегда возвращается с версии 2019-02-02. |
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. |
x-ms-request-server-encrypted: true/false |
Версия 11.12.2015 и более поздняя. Значение этого заголовка устанавливается в , true если содержимое запроса успешно зашифровано с помощью указанного алгоритма. В противном случае — значение false . |
x-ms-encryption-key-sha256 |
Версия 2019-02-02 и более поздние версии. Возвращается, если запрос использовал предоставленный клиентом ключ для шифрования, чтобы клиент смог убедиться, что содержимое запроса успешно зашифровано с помощью предоставленного ключа. |
x-ms-encryption-scope |
Версия 2019-02-02 и более поздние версии. Возвращается, если запрос использовал область шифрования, чтобы клиент смог убедиться, что содержимое запроса успешно зашифровано с помощью область шифрования. |
x-ms-version-id: <DateTime> |
Версия 12.12.2019 и более поздняя. Этот заголовок возвращает непрозрачное DateTime значение, которое однозначно идентифицирует большой двоичный объект. Значение этого заголовка указывает версию большого двоичного объекта, и его можно использовать в последующих запросах для доступа к большому двоичному объекту. |
Текст ответа
Нет.
Пример ответа
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>
Авторизация
Авторизация требуется при вызове любой операции доступа к данным в службе хранилища Azure. Вы можете авторизовать операцию, Put Blob
как описано ниже.
Если в запросе указываются теги с заголовком x-ms-tags
запроса, вызывающий объект должен соответствовать требованиям авторизации операции "Задать теги BLOB-объектов ".
Важно!
Корпорация Майкрософт рекомендует использовать Microsoft Entra ID с управляемыми удостоверениями для авторизации запросов к службе хранилища Azure. Microsoft Entra ID обеспечивает более высокий уровень безопасности и простоту использования по сравнению с авторизацией с общим ключом.
Служба хранилища Azure поддерживает использование Microsoft Entra ID для авторизации запросов к данным BLOB-объектов. С помощью Microsoft Entra ID можно использовать управление доступом на основе ролей Azure (Azure RBAC) для предоставления разрешений субъекту безопасности. Субъектом безопасности может быть пользователь, группа, субъект-служба приложения или управляемое удостоверение Azure. Субъект безопасности проходит проверку подлинности Microsoft Entra ID для возврата маркера OAuth 2.0. Затем маркер можно использовать для авторизации запроса к службе BLOB-объектов.
Дополнительные сведения об авторизации с помощью Microsoft Entra ID см. в статье Авторизация доступа к BLOB-объектам с помощью Microsoft Entra ID.
Разрешения
Ниже перечислены действия RBAC, необходимые Microsoft Entra пользователю, группе, управляемому удостоверению или субъекту-службе для вызова Put Blob
операции, а также встроенная роль Azure RBAC с минимальными привилегиями, которая включает это действие.
-
Действие Azure RBAC:
- Create новый блочный BLOB-объект: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
- Create новый или перезапись существующего блочного BLOB-объекта: Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
- Встроенная роль с минимальными привилегиями:Участник данных BLOB-объектов хранилища
Дополнительные сведения о назначении ролей с помощью Azure RBAC см. в статье Назначение роли Azure для доступа к данным BLOB-объектов.
Комментарии
При создании большого двоичного объекта необходимо указать, является ли это блочный, добавочный или страничный BLOB-объект, указав значение заголовка x-ms-blob-type
. После создания большого двоичного объекта его тип нельзя изменить, если он не будет удален и создан повторно.
В следующей таблице описаны максимальные допустимые размеры блоков и BLOB-объектов по версии службы.
Версия службы | Максимальный размер блока (с помощью Put Block ) |
Максимальный размер большого двоичного объекта (через Put Block List ) |
Максимальный размер большого двоичного объекта за счет одной операции записи (с помощью Put Blob ) |
---|---|---|---|
Версия 2019-12-12 и более поздние | 4000 мебибайт (МиБ) | Приблизительно 190,7 ТиБ (4000 МиБ × 50 000 блоков) | 5000 МиБ |
Версии с 31.05.2016 по 07.07.2019 | 100 МиБ | Приблизительно 4,75 ТиБ (100 МиБ × 50 000 блоков) | 256 МиБ |
Версии, предшествующие 31.05.2016 | 4 МиБ | Приблизительно 195 ГиБ (4 МиБ × 50 000 блоков) | 64 МиБ |
При попытке отправить блочный BLOB-объект, превышающий максимальный допустимый размер для этой версии службы, или страничный BLOB-объект размером более 8 ТиБ, служба возвращает код состояния 413 (Слишком большой объект запроса). Хранилище BLOB-объектов также возвращает дополнительные сведения об ошибке в ответе, включая максимальный допустимый размер большого двоичного объекта в байтах.
Чтобы создать страничный BLOB-объект, сначала инициализируйте его, вызвав Put Blob
, а затем укажите его максимальный размер до 8 ТиБ. При создании страничного BLOB-объекта не включайте содержимое в текст запроса. После создания большого двоичного объекта вызовите команду Put Page , чтобы добавить содержимое в большой двоичный объект или изменить его.
Чтобы создать добавочный BLOB-объект, вызовите Put Blob
его с длиной содержимого 0 байт. После создания добавочного BLOB-объекта вызовите метод Append Block , чтобы добавить содержимое в его конец.
При вызове Put Blob
метода перезаписи существующего большого двоичного объекта с тем же именем сохраняются все моментальные снимки, связанные с исходным BLOB-объектом. Чтобы удалить связанные моментальные снимки, сначала вызовите команду Delete BLOB-объект, а затем вызовите Put Blob
для повторного создания большого двоичного объекта.
Настраиваемые свойства BLOB-объекта
Большой двоичный объект имеет настраиваемые свойства (заданные с помощью заголовков), которые можно использовать для хранения значений, связанных со стандартными заголовками HTTP. Впоследствии эти значения можно считать, вызвав Get Blob Properties, или изменить их с помощью метода Set Blob Properties. Заголовки пользовательских свойств и соответствующий стандартный заголовок 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.
Если теги указаны в заголовке x-ms-tags
, они должны быть закодированы в строке запроса. Ключи и значения тегов должны соответствовать требованиям к именованию и длине, указанным в Set Blob Tags
. Кроме того, заголовок x-ms-tags
может содержать до 2 КБ тегов. Если требуется больше тегов, используйте операцию Задать теги BLOB-объектов .
Если большой двоичный объект имеет активную аренду, клиент должен указать допустимый идентификатор аренды в запросе на перезапись большого двоичного объекта. Если клиент не указывает идентификатор аренды или указывает недопустимый идентификатор аренды, хранилище BLOB-объектов возвращает код состояния 412 (сбой условия). Если клиент указывает идентификатор аренды, но большой двоичный объект не имеет активной аренды, хранилище BLOB-объектов также возвращает код состояния 412 (сбой предварительного условия). Если клиент указывает идентификатор аренды для большого двоичного объекта, который еще не существует, хранилище BLOB-объектов возвращает код состояния 412 (сбой предварительного условия) для запросов, выполненных в отношении версии 2013-08-15 и более поздних версий. Для версий, предшествующих 15.08.2013, хранилище BLOB-объектов возвращает код состояния 201 (создано).
Если существующий BLOB-объект с активной арендой перезаписывается операцией Put Blob
, аренда сохраняется в обновленном BLOB-объекте до истечения срока его действия или освобождения.
Операция Put Blob
может быть выполнена в течение 10 минут на МиБ. Если операция занимает в среднем более 10 минут на МиБ, время ожидания операции истекает.
Перезапись большого двоичного объекта завершается сбоем archive
, а перезапись большого hot
двоичного объекта или наследует cool
уровень от старого большого двоичного объекта, если x-ms-access-tier
заголовок не указан.
ExpiryOption
Следующие значения можно отправить в качестве заголовка x-ms-expiry-option
. Этот заголовок не учитывает регистр.
Параметр истечения срока действия | Описание |
---|---|
RelativeToNow |
Задает дату окончания срока действия относительно текущего времени.
x-ms-expiry-time необходимо указать как количество миллисекундах, истекаемых с текущего времени. |
Absolute |
x-ms-expiry-time необходимо указать как абсолютное время в формате RFC 1123. |
NeverExpire |
Устанавливает срок действия большого двоичного объекта никогда не истечет или удаляет текущую дату окончания срока действия.
x-ms-expiry-time не должен указываться. |
Семантика для установки даты окончания срока действия для большого двоичного объекта выглядит следующим образом:
-
Set Expiry
может быть задан только в большом двоичном объекте, но не в каталоге. -
Set Expiry
с вexpiryTime
прошлом не допускается. -
ExpiryTime
Нельзя указать со значениемexpiryOption
Never
.
Выставление счетов
Запросы на ценообразование могут поступать от клиентов, использующих API хранилища BLOB-объектов, напрямую через REST API хранилища BLOB-объектов или из клиентской библиотеки службы хранилища Azure. Эти запросы начисляют плату за транзакцию. Тип транзакции влияет на способ оплаты учетной записи. Например, транзакции чтения начисляются к категории выставления счетов, отличной от категории операций записи. В следующей таблице показана категория выставления счетов для Put Blob
запросов на основе типа учетной записи хранения.
Операция | Тип учетной записи хранения | Категория выставления счетов |
---|---|---|
Put BLOB (Вставка BLOB-объекта) | Блочный BLOB-объект (ценовая категории "Премиум") Общего назначения версии 2 (цен. категория "Стандартный") Стандартная общего назначения версии 1 |
Операции записи |
Дополнительные сведения о ценах на указанную категорию выставления счетов см. в разделе Цены на Хранилище BLOB-объектов Azure.
См. также раздел
Авторизация запросов к службе хранилища Azure
Коды состояний и ошибок
Коды ошибок службы BLOB-объектов
Настройка времени ожидания для операций службы BLOB-объектов