Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Эта Put Message
операция добавляет новое сообщение в конец очереди сообщений. Также можно указать тайм-аут видимости, чтобы сделать сообщение невидимым до истечения тайм-аута видимости. Сообщение должно быть в формате, который может быть включен в XML-запрос с кодировкой UTF-8. Размер закодированного сообщения может составлять до 64 кибибайт (КиБ) для версии 2011-08-18 и более поздних версий или до 8 КиБ для более ранних версий.
Просьба
Можно создать запрос Put Message
следующим образом. Рекомендуется использовать ПРОТОКОЛ HTTPS. Замените myaccount именем учетной записи хранения и myqueue
именем очереди:
Метод | Запрос URI | Версия HTTP |
---|---|---|
POST |
https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
HTTP/1.1 |
Запрос службы эмулированного хранилища
При отправке запроса к эмулируемой службе хранения укажите имя узла эмулятора и порт хранилища очереди как 127.0.0.1:10001
, а затем имя эмулируемой учетной записи хранения:
Метод | Запрос URI | Версия HTTP |
---|---|---|
POST |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
HTTP/1.1 |
Дополнительные сведения см. в статье Использование эмулятора Azurite для разработки локальной службы хранилища Azure.
Параметры URI
В URI запроса можно указать следующие параметры:
Параметр | Описание |
---|---|
visibilitytimeout=<int=seconds> |
Необязательно. Указывает новое значение времени ожидания видимости в секундах относительно времени сервера. Если он указан, запрос должен быть сделан с помощью x-ms-version номера от 2011-08-18 или более поздней. Если оно не указано, значение по умолчанию равно 0. Новое значение должно быть больше или равно 0 и не может быть больше 7 дней. Время ожидания видимости сообщения не может быть установлено на значение, которое является более поздним после даты окончания срока действия. Установите visibilitytimeout значение, меньшее, чем значение срока жизни. |
messagettl=<int-seconds> |
Необязательно. Указывает интервал времени в реальном времени для сообщения в секундах. В версиях, предшествующих 29.07.2017, максимально допустимый срок жизни составляет 7 дней. Для версии 2017-07-29 и более поздних максимальное время жизни может быть любым положительным числом и -1 , что указывает на то, что срок действия сообщения не истекает. Если этот параметр опущен, время жизни по умолчанию составляет 7 дней. |
timeout |
Необязательно. Параметр timeout выражается в секундах. Дополнительные сведения см. в разделе Настройка времени ожидания для операций службы очередей. |
Заголовки запросов
Обязательные и необязательные заголовки запросов описаны в следующей таблице:
Заголовок запроса | Описание |
---|---|
Authorization |
Обязательное. Указывает схему авторизации, имя учетной записи и подпись. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure. |
Date
or x-ms-date
|
Обязательное. Указывает универсальное время (UTC) для запроса. Дополнительные сведения см. в статье Авторизация запросов к службе хранилища Azure. |
x-ms-version |
Необязательно. Указывает версию операции, используемой для этого запроса. Дополнительные сведения см. в разделе Управление версиями служб хранилища Azure. |
x-ms-client-request-id |
Необязательно. Предоставляет созданное клиентом непрозрачное значение с ограничением символов 1-kibibyte (KiB), записанным в журналах при настройке ведения журнала. Настоятельно рекомендуется использовать этот заголовок для сопоставления действий на стороне клиента с запросами, получаемыми сервером. |
Основное содержание запроса
Тело запроса содержит данные сообщения в следующем формате XML. Обратите внимание, что содержимое сообщения должно быть в формате, который может быть закодирован с помощью UTF-8.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Пример запроса
Request:
POST https://myaccount.queue.core.windows.net/messages?visibilitytimeout=30&timeout=30 HTTP/1.1
Headers:
x-ms-version: 2011-08-18
x-ms-date: Tue, 30 Aug 2011 01:03:21 GMT
Authorization: SharedKey myaccount:sr8rIheJmCd6npMSx7DfAY3L//V3uWvSXOzUBCV9wnk=
Content-Length: 100
Body:
<QueueMessage>
<MessageText>PHNhbXBsZT5zYW1wbGUgbWVzc2FnZTwvc2FtcGxlPg==</MessageText>
</QueueMessage>
Ответ
Ответ включает код состояния HTTP и набор заголовков ответа.
Код состояния
Успешная операция возвращает код состояния 201 (создан).
Дополнительные сведения о кодах состояния см. в коды состояния и коды ошибок.
Заголовки ответа
Ответ для этой операции содержит следующие заголовки. Ответ также может включать дополнительные стандартные заголовки 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 , он не будет присутствовать в ответе. |
Основная часть ответа
Начиная с версии 2016-05-31, ответ для Put Message
операции содержит информацию о сообщении в теле ответа. Формат XML возвращаемого тела описан здесь.
Элемент MessageID
представляет собой значение GUID, которое идентифицирует сообщение в очереди. Это значение назначается сообщению хранилищем очередей и является непрозрачным для клиента. Это значение может быть использовано вместе со значением элемента PopReceipt для удаления или обновления сообщения из очереди. Значение PopReceipt также непрозрачно для клиента, и оно требуется при использовании API Delete Message или Update Message.
Элементы InsertionTime
, ExpirationTime
, и TimeNextVisible
представлены в виде значений UTC и отформатированы в соответствии с RFC 1123.
<QueueMessagesList>
<QueueMessage>
<MessageId>string-message-id</MessageId>
<InsertionTime>insertion-time</InsertionTime>
<ExpirationTime>expiration-time</ExpirationTime>
<PopReceipt>opaque-string-receipt-data</PopReceipt>
<TimeNextVisible>time-next-visible</TimeNextVisible>
</QueueMessage>
</QueueMessagesList>
Пример ответа
Response Status:
HTTP/1.1 200 OK
Response headers:
Transfer-Encoding: chunked
Content-Type: application/xml
x-ms-version: 2016-05-31
Date: Fri, 09 Oct 2016 21:04:30 GMT
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
Response Body:
<?xml version="1.0" encoding="utf-8"?>
<QueueMessagesList>
<QueueMessage>
<MessageId>5974b586-0df3-4e2d-ad0c-18e3892bfca2</MessageId>
<InsertionTime>Fri, 09 Oct 2016 21:04:30 GMT</InsertionTime>
<ExpirationTime>Fri, 16 Oct 2016 21:04:30 GMT</ExpirationTime>
<PopReceipt>YzQ4Yzg1MDItYTc0Ny00OWNjLTkxYTUtZGM0MDFiZDAwYzEw</PopReceipt>
<TimeNextVisible>Fri, 09 Oct 2016 23:29:20 GMT</TimeNextVisible>
</QueueMessage>
</QueueMessagesList>
Авторизация
Эту операцию может выполнить как владелец учетной записи, так и любой пользователь с подписанным URL-адресом с разрешениями на выполнение этой операции.
Замечания
Необязательное время ожидания видимости указывает время, в течение которого сообщение становится невидимым. По истечении времени ожидания сообщение становится видимым. Если время ожидания видимости не указано, используется значение по умолчанию 0.
Необязательный срок жизни сообщения указывает, как долго сообщение остается в очереди. Сообщение удаляется из очереди по истечении срока жизни.
Сообщение должно быть в формате, который может быть включен в XML-запрос с кодировкой UTF-8. Чтобы включить разметку в сообщение, содержимое сообщения должно быть в формате XML-escaped или в кодировке Base64. Любая XML-разметка в сообщении, которая не экранирована или не закодирована, удаляется перед добавлением сообщения в очередь. Если в сообщении недопустимый символ (например, 0x1F
) экранирован XML или закодирован в кодировке Base64, последующие чтения сообщения не увенчаются успехом.
Если сообщение слишком большое, служба возвращает код состояния 400 (Bad Request).
См. также
Авторизация запросов в службу хранилища Azure
Коды состояний и ошибок
Коды ошибок службы очередей