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


Удалить Blob

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

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

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

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

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

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

Если этот заголовок не указан в запросе, хранилище BLOB-объектов возвращает код состояния 412 (LeaseIdMissing, Precondition Failed).

Если в запросе указан неправильно отформатированный идентификатор аренды, операция завершается ошибкой с кодом состояния 400 (InvalidHeaderValue, Bad Request).

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

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

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

Если этот заголовок не указан в запросе и с большим двоичным объектом связаны моментальные снимки, хранилище BLOB-объектов возвращает код состояния 409 (конфликт).
x-ms-client-request-id Необязательно. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в статье Мониторинг хранилища BLOB-объектов Azure.
x-ms-access-tier-if-modified-since Необязательно. Версия 2025-05-05 и более поздняя. Закажите этот заголовок для выполнения операции только если уровень доступа blob был изменён с указанного времени. Значение соответствует DateTime формату RFC 1123. Для получения дополнительной информации см. Представление значений даты-времени в заголовках.
x-ms-access-tier-if-unmodified-since Необязательно. Версия 2025-05-05 и более поздняя. Закажите этот заголовок для выполнения операции только в том случае, если уровень доступа blob не изменялся с указанного времени. Значение соответствует DateTime формату RFC 1123. Для получения дополнительной информации см. Представление значений даты-времени в заголовках

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

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

Нет.

Ответ

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

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

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

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

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

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

Authorization

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

Это важно

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

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

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

Permissions

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

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

Замечания

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

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

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

Условные заголовки уровня доступа

Для версий 2025-05-05 и более поздних клиенты могут использовать заголовки x-ms-access-tier-if-modified-since запросов или x-ms-access-tier-if-unmodified-since условно удалять blob в зависимости от изменений в его уровне доступа.

Ответный заголовок x-ms-access-tier-change-time , возвращаемый Get Blob Properties , указывает последний раз, когда менялся уровень доступа blob. Эта временная метка используется для оценки вышеуказанных условий.

API DeleteBlob позволяет указывать как условные заголовки Last-Modified-Time и Access-Tier-Change-Time в запросе. Если оба условия указаны, служба Blob выберет условия с помощью логической операции AND, то есть оба условия должны быть верными для успешного выполнения запроса.

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

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

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

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

По истечении указанного количества дней данные большого двоичного объекта удаляются из службы. Вы можете получить доступ к обратимо удаленному BLOB-объекту или моментальному снимку, вызвав операцию List Blobs и указав параметр.include=deleted

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

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

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

Замечание

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

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

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

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

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

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

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

См. также

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

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

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

Восстановление удаленного BLOB-объекта

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