Удаление сущности (служба хранилища Azure)

Операция Delete Entity удаляет существующую сущность в таблице.

Запрос

Запрос можно создать Delete Entity следующим образом. Рекомендуется использовать протокол HTTPS. Замените myaccount именем учетной записи хранения, mytable — именем таблицы, а myPartitionKey и myRowKey — именем ключа секции и ключом строки, определяющим удаляемую сущность.

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
DELETE https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

Адрес обновляемой сущности может принимать несколько форм по универсальному коду ресурса (URI) запроса. Дополнительные сведения см. в разделе Протокол OData.

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

При выполнении запроса к эмулированной службе хранилища укажите имя узла эмулятора и порт хранилища таблиц Azure в качестве 127.0.0.1:10002, а затем имя эмулированной учетной записи хранения.

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
DELETE http://127.0.0.1:10002/devstoreaccount1/myentity(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

Хранилище таблиц в эмуляторе хранения отличается от службы Azure несколькими способами. Дополнительные сведения см. в статье Различия между эмулятором хранения и службами хранилища Azure.

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

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

Параметр Описание
timeout Необязательный элемент. Параметр времени ожидания указывается в секундах. Дополнительные сведения см. в разделе Настройка времени ожидания для операций хранилища таблиц.

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

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

Заголовок запроса Описание
Authorization Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
Date или x-ms-date Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
x-ms-version Необязательный элемент. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
If-Match Обязательный. Клиент может указать ETag для сущности в запросе, чтобы сравнить с ETag объектом, поддерживаемым службой, с целью оптимистического параллелизма. Операция удаления выполняется только в том случае, если объект , ETag отправленный клиентом, совпадает со значением, поддерживаемым сервером. Это соответствие указывает, что сущность не была изменена с момента ее получения клиентом.

Чтобы выполнить безусловное удаление, установите параметр If-Match в символ-шаблон «*».
x-ms-client-request-id Необязательный элемент. Предоставляет созданное клиентом непрозрачное значение с ограничением в 1 кибибайт (КиБ), которое записывается в журналы при настройке ведения журнала. Мы настоятельно рекомендуем использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. Дополнительные сведения см. в статье Мониторинг хранилища таблиц Azure.

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

Нет.

Ответ

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

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

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

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

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

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

Текст ответа

Нет.

Авторизация

Владелец учетной записи может выполнить эту операцию. Кроме того, ее может выполнить любой пользователь с подписанным URL-адресом, имеющий разрешение на выполнение этой операции.

Комментарии

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

Сущность ETag обеспечивает оптимистичный параллелизм по умолчанию для операций удаления. Значение ETag является непрозрачным и не должно читаться или полагаться на нее. Перед выполнением операции удаления хранилище таблиц проверяет, совпадает ли текущее ETag значение сущности со значением, включенным в запрос на удаление в заголовке If-Match .ETag Если значения идентичны, хранилище таблиц определяет, что сущность не была изменена с момента ее извлечения, и операция удаления продолжается.

Если сущность ETag отличается от указанной в запросе на удаление, операция удаления завершается ошибкой с кодом состояния 412 (сбой предварительного условия). Эта ошибка указывает, что сущность была изменена на сервере с момента ее получения. Чтобы устранить эту ошибку, следует получить сущность снова и повторить запрос.

Чтобы выполнить безусловную операцию удаления, укажите в запросе заголовок If-Match с символом-шаблоном «*». Передача этого значения операции переопределяет оптимистичный параллелизм по умолчанию и игнорирует любое несоответствие значений ETag .

Если заголовок If-Match отсутствует в запросе, служба возвращает код состояния 400 (неправильный запрос). Запрос, неправильно сформированный другими способами, также может возвращать код 400. Дополнительные сведения см. в разделе Коды ошибок хранилища таблиц.

Любое приложение, которое может авторизовать и отправить HTTP DELETE запрос, может удалить сущность. Дополнительные сведения о создании запроса с помощью см. в HTTP DELETEразделе Добавление, изменение и удаление сущностей.

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

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

Авторизация запросов к службе хранилища Azure
Настройка заголовков версии службы данных OData
Коды состояний и ошибок
Коды ошибок хранилища таблиц