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


Delete BLOB (Удаление BLOB-объекта)

Операция Delete Blob удаляет указанный большой двоичный объект или snapshot.

Обратите внимание, что для удаления большого двоичного объекта необходимо удалить все его моментальные снимки. И объект, и его снимки можно удалить одновременно с помощью операции Delete Blob.

Запрос

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

URI запроса метода DELETE параметр "Версия HTTP"
https://myaccount.blob.core.windows.net/mycontainer/myblob

https://myaccount.blob.core.windows.net/mycontainer/myblob?snapshot=<DateTime>

https://myaccount.blob.core.windows.net/mycontainer/myblob?versionid=<DateTime>
HTTP/1.1

URI эмулированной службы хранилища

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

URI запроса метода DELETE параметр "Версия HTTP"
http://127.0.0.1:10000/devstoreaccount1/mycontainer/myblob HTTP/1.1

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

Параметры универсального кода ресурса (URI)

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

Параметр Описание
snapshot Необязательный элемент. Параметр моментального снимка является непрозрачным значением DateTime, которое, если присутствует, указывает удаляемый моментальный снимок большого двоичного объекта. Дополнительные сведения о работе с моментальными снимками BLOB-объектов см. в статье Создание snapshot большого двоичного объекта.
versionid Необязательно, версия 2019-12-12 и более поздние. Параметр versionid является непрозрачным значением DateTime , которое при его наличии указывает версию большого двоичного объекта для удаления.
timeout Необязательный элемент. Параметр timeout указывается в секундах. Дополнительные сведения см. в разделе Настройка времени ожидания для операций с хранилищем BLOB-объектов.
deletetype Необязательно, версия 2020-02-10 или более поздняя. Значение может deletetype быть permanentтолько .

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

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

Заголовок запроса Описание
Authorization Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
Date или x-ms-date Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
x-ms-version Требуется для всех авторизованных запросов. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
x-ms-lease-id:<ID> Требуется, если у большого двоичного объекта имеется активная аренда.

Для выполнения этой операции в большом двоичном объекте с активной арендой укажите допустимый идентификатор аренды для этого заголовка. Если в запросе не указан допустимый идентификатор аренды, операция завершается ошибкой с кодом состояния 403 (запрещено).
x-ms-delete-snapshots: {include, only} Является обязательным, если у большого двоичного объекта имеются связанные моментальные снимки. Выберите один из следующих вариантов:

- include: удаляет базовый BLOB-объект и все его моментальные снимки.
- only: удаление только моментальных снимков большого двоичного объекта, а не самого большого двоичного объекта.

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

Если этот заголовок не указан в запросе и большой двоичный объект имеет связанные моментальные снимки, хранилище BLOB-объектов возвращает код состояния 409 (конфликт).
x-ms-client-request-id Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в разделе Мониторинг Хранилище BLOB-объектов Azure.

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

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

Нет.

Ответ

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

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

Успешная операция возвращает код состояния 202 (принято). Сведения о кодах состояния см. в разделе Коды состояния и ошибок.

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

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

Заголовок ответа Описание
x-ms-request-id Этот заголовок однозначно идентифицирует выполненный запрос и может использоваться для устранения неполадок с запросом. Дополнительные сведения см. в разделе Устранение неполадок операций API.
x-ms-version Указывает версию хранилища BLOB-объектов, используемой для выполнения запроса. Этот заголовок возвращается для запросов к версии 2009-09-19 и более поздним версиям.
x-ms-delete-type-permanent Для версии 2017-07-29 и более поздних, хранилище BLOB-объектов возвращает значение true , если BLOB-объект был удален без возможности восстановления, и false если blob-объект был обратимо удален.
Date Значение даты и времени в формате UTC, указывающее время, в которое был инициирован ответ. Служба создает это значение.
x-ms-client-request-id Этот заголовок можно использовать для устранения неполадок с запросами и соответствующими ответами. Значение этого заголовка равно значению заголовка x-ms-client-request-id , если он присутствует в запросе. Значение равно не более 1024 видимых символов ASCII. Если заголовок x-ms-client-request-id отсутствует в запросе, этот заголовок не будет присутствовать в ответе.

Авторизация

Авторизация требуется при вызове любой операции доступа к данным в службе хранилища Azure. Вы можете авторизовать операцию, Delete 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 пользователю, группе, управляемому удостоверению или субъекту-службе для вызова Delete Blob операции, а также встроенная роль Azure RBAC с наименьшими привилегиями, которая включает это действие:

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

Комментарии

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

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

В версии 2013-08-15 и более поздних клиент может вызывать Delete Blob метод для удаления незафиксированных BLOB-объектов. Незафиксированный BLOB-объект — это большой двоичный объект, созданный с помощью вызовов операции Put Block, но никогда не зафиксированный с помощью операции Put Block List. В предыдущих версиях клиент должен был сначала зафиксировать большой двоичный объект и только потом удалить его.

Функция обратимого удаления отключена

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

Функция обратимого удаления включена

Если большой двоичный объект успешно удален, он обратимо удаляется и больше недоступен для клиентов. Хранилище BLOB-объектов сохраняет большой двоичный объект или snapshot в течение количества дней, указанного для DeleteRetentionPolicy свойства Хранилища BLOB-объектов. Сведения о чтении свойств хранилища BLOB-объектов см. в разделе Установка свойств хранилища BLOB-объектов.

По истечении указанного количества дней данные blob-объекта удаляются из службы. Доступ к обратимо удаленному БОЛЬШОМу двоичному объекту или snapshot можно получить, вызвав операцию Перечисление BLOB-объектов и указав include=deleted параметр .

Обратимо удаленные blob-объекты или моментальные снимки можно восстановить с помощью отмены удаления BLOB-объекта. Для любой другой операции с обратимо удаленными BLOB-объектами или моментальными снимками хранилище BLOB-объектов возвращает ошибку 404 (Ресурс не найден).

Безвозвратное удаление

В версии 2020-02-10 и более поздних можно окончательно удалить обратимо удаленный snapshot или версию. Для этого включите эту функцию. Дополнительные сведения см. в разделе Настройка свойств хранилища BLOB-объектов.

Примечание

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

Учетные записи хранения с включенным необратимым удалением могут использовать deletetype=permanent параметр запроса для окончательного удаления обратимо удаленного snapshot или версии blob-объекта.

Если параметр запроса представляет одно из следующих значений, хранилище BLOB-объектов возвращает ошибку 409 (конфликт):

  • Функция окончательного удаления не включена для учетной записи хранения.
  • Ни, versionid ни snapshot не предоставляются.
  • Указанный snapshot или версия не удаляется обратимым методом.

Окончательное удаление также включает в себя разрешение подписанного URL-адреса для окончательного удаления большого двоичного объекта snapshot или версии BLOB-объекта. Дополнительные сведения см. в статье Create SAS службы.

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

Плата за запросы с Delete Blob учетных записей хранения не взимается.

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

Авторизация запросов к службе хранилища Azure

Коды состояний и ошибок

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

Отмена удаления большого двоичного объекта

Перечисление больших двоичных объектов