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


Добавление уплотнения BLOB-объекта

Цель Append Blob Seal операции — разрешить пользователям и приложениям запечатывать добавочные BLOB-объекты, помечая их как доступные только для чтения. В этом документе описываются предлагаемые спецификации REST API для этой функции.

Запрос

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

URI запроса метода PUT параметр "Версия HTTP"
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=seal HTTP/1.1

Заголовки

Append Blob Sealвозвращает общие заголовки ETag/LMT API (last-modified-time), x-ms-request-id, x-ms-version, content-lengthи .Date Append Blob Seal не изменяет ETag/LMT.

Заголовок ответа Значение Описание
x-ms-blob-sealed true/false Необязательный элемент. Значение по умолчанию: false. Если большой двоичный объект запечатан, этот заголовок включается в ответ при печати и получении свойств большого двоичного объекта. Этот заголовок должен отображаться в GetBlob, GetBlobProperties, AppendBlobSealи ListBlobs для добавочных BLOB-объектов.

Параметры запроса

Дополнительные параметры URI отсутствуют.

Текст запроса

Нет.

Ответ

Ответ содержит код состояния HTTP и список заголовков ответа.

Код состояния

Вы можете получить любой из следующих кодов состояния:

  • 200 (успешно): большой двоичный объект запечатан. Вызов является идемпотентным и будет выполнен успешно, если большой двоичный объект уже запечатан.

  • 409 (InvalidBlobType): служба возвращает этот код состояния, если вызов находится в существующем страничном или блочном BLOB-объекте.

  • 404 (BlobNotFound). Служба возвращает этот код состояния, если вызов выполняется в несуществующем большом двоичном объекте.

Авторизация

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

Важно!

Корпорация Майкрософт рекомендует использовать 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 пользователю, группе, управляемому удостоверению или субъекту-службе для вызова Append Blob Seal операции, а также встроенная роль Azure RBAC с минимальными привилегиями, которая включает это действие.

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

Комментарии

Если добавочный BLOB-объект имеет аренду, вам потребуется идентификатор аренды, чтобы запечатать большой двоичный объект.

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

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

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

В ответ будет добавлен ListBlob новый XML-элемент с именем Sealed. Возможные значения: true и false.

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

Код ошибки Код состояния HTTP Сообщение для пользователя
BlobIsSealed Конфликт (409) Указанный большой двоичный объект запечатан, и его содержимое нельзя изменить, если большой двоичный объект не будет создан повторно после удаления.

При вызове Append Blob Seal для добавочного большого двоичного объекта, который уже был запечатан, вы увидите просто код состояния 200 (успешно).

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

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

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

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

См. также раздел

Коды ошибок Хранилище BLOB-объектов Azure