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

Операция Delete Message удаляет указанное сообщение из очереди.

Запрос

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

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
DELETE https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=string-value HTTP/1.1

Замените myaccount именем учетной записи хранения, myqueue именем очереди и string-value значением всплывающего уведомления, полученного для удаления сообщения.

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

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

Метод Универсальный код ресурса (URI) запроса параметр "Версия HTTP"
DELETE http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=string-value HTTP/1.1

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

URI запроса поддерживает следующие параметры.

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

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

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

Заголовок запроса Описание
Authorization Обязательный. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
Date или x-ms-date Обязательный. Задает время запроса в формате UTC. Дополнительные сведения см. в статье Авторизация запросов к Службе хранилища Azure.
x-ms-version Необязательный элемент. Задает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями для служб хранилища Azure.
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-адресом, у которого есть разрешение на выполнение этой операции.

Комментарии

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

После того как клиент получает сообщение с помощью операции Получить сообщения , он должен обработать и удалить сообщение. Чтобы удалить сообщение, необходимо получить два элемента данных в тексте ответа операции Get Messages:

  • Идентификатор сообщения — непрозрачное значение GUID, идентифицирующее сообщение в очереди.

  • Действительное подтверждение — непрозрачное значение, которое указывает, что сообщение было получено.

Идентификатор сообщения возвращается с помощью предыдущей операции Get Messages. Подтверждение возвращается с помощью последнего вызова метода Get Messages или операции Update Message. Для успешного Delete Message выполнения операции всплывающее уведомление, указанное в запросе, должно соответствовать всплывающему чеку, возвращенном операцией Get Messages или Update Message .

Подтверждения остаются действительными до возникновения одного из следующих событий.

  • Срок действия сообщения истекает.

  • Сообщение удаляется с помощью последнего всплывающего уведомления, полученного из Get Messages или Update Message.

  • Истекает время ожидания невидимости, и сообщение выводится из очереди запросом Get Messages . По истечении времени ожидания невидимости сообщение снова становится видимым. Если он получен другим Get Messages запросом, для удаления или обновления сообщения можно использовать возвращенное всплывающее уведомление.

  • Сообщение обновляется с новым временем ожидания видимости. При обновлении сообщения возвращается новое всплывающее уведомление.

Если сообщение с соответствующим уведомлением не найдено, служба возвращает код ошибки 404 (Не найдено). Эта ошибка возникает в ранее перечисленных случаях, когда всплывающее уведомление становится недействительным.

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

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