Добавление уплотнения 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 (время последнего изменения), 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-объекте или блочных BLOB-объектах.

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

Авторизация

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

Служба хранилища 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