Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A Put Message operação adiciona uma nova mensagem à parte de trás da fila de mensagens. Um tempo limite de visibilidade também pode ser especificado para tornar a mensagem invisível até que o tempo limite de visibilidade expire. Uma mensagem deve estar em um formato que possa ser incluído em uma solicitação XML com codificação UTF-8. A mensagem codificada pode ter até 64 kibibytes (KiB) de tamanho para a versão 2011-08-18 e posterior, ou 8 KiB para versões anteriores.
Solicitação
Você pode construir a solicitação Put Message da seguinte maneira. Recomendamos que você use HTTPS. Substitua myaccount pelo nome da sua conta de armazenamento e myqueue pelo nome da sua fila:
| Método | URI de solicitação | Versão HTTP |
|---|---|---|
POST |
https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
HTTP/1.1 |
Solicitação de serviço de armazenamento emulado
Ao fazer uma solicitação no serviço de armazenamento emulado, especifique o nome do host do emulador e a porta de armazenamento da fila como 127.0.0.1:10001, seguidos pelo nome da conta de armazenamento emulada:
| Método | URI de solicitação | Versão HTTP |
|---|---|---|
POST |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> |
HTTP/1.1 |
Para obter mais informações, consulte Usar o emulador do Azurite para o desenvolvimento local do Armazenamento do Azure.
Parâmetros de URI
Você pode especificar os seguintes parâmetros no URI da solicitação:
| Parâmetro | Descrição |
|---|---|
visibilitytimeout=<int=seconds> |
Opcional. Especifica o novo valor de tempo limite de visibilidade, em segundos, em relação ao tempo do servidor. Se for especificado, a solicitação deverá ser feita usando um x-ms-version de 2011-08-18 ou posterior. Se não for especificado, o valor padrão será 0. O novo valor deve ser maior ou igual a 0 e não pode ser maior que 7 dias. O tempo limite de visibilidade de uma mensagem não pode ser definido como um valor posterior à data de expiração. Defina visibilitytimeout como um valor menor que o valor de vida útil. |
messagettl=<int-seconds> |
Opcional. Especifica o intervalo de tempo de vida útil para a mensagem, em segundos. Em versões anteriores a 29/07/2017, o tempo máximo de vida permitido é de 7 dias. Para a versão 2017-07-29 e posterior, o tempo máximo de vida pode ser qualquer número positivo e -1, o que indica que a mensagem não expira. Se esse parâmetro for omitido, o tempo de vida padrão será de 7 dias. |
timeout |
Opcional. O parâmetro timeout é expresso em segundos. Para obter mais informações, consulte Definir tempos limite para operações de serviço fila. |
Cabeçalhos da solicitação
Os cabeçalhos de solicitação obrigatórios e opcionais são descritos na tabela a seguir:
| Cabeçalho da solicitação | Descrição |
|---|---|
Authorization |
Obrigatório Especifica o esquema de autorização, o nome da conta e a assinatura. Para obter mais informações, consulte Autorizar solicitações para o Armazenamento do Azure. |
Date
or x-ms-date
|
Obrigatório Especifica o UTC (Tempo Universal Coordenado) para a solicitação. Para obter mais informações, consulte Autorizar solicitações para o Armazenamento do Azure. |
x-ms-version |
Opcional. Especifica a versão da operação a ser usada para essa solicitação. Para obter mais informações, consulte Controle de versão para os serviços de Armazenamento do Azure. |
x-ms-client-request-id |
Opcional. Fornece um valor opaco gerado pelo cliente com um limite de caracteres kib (1 kibibyte) que é registrado nos logs quando o registro em log é configurado. É altamente recomendável que você use esse cabeçalho para correlacionar atividades do lado do cliente com solicitações recebidas pelo servidor. |
Corpo da solicitação
O corpo da solicitação contém os dados da mensagem no formato XML a seguir. Observe que o conteúdo da mensagem deve estar em um formato que possa ser codificado com UTF-8.
<QueueMessage>
<MessageText>message-content</MessageText>
</QueueMessage>
Solicitação de exemplo
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>
Resposta
A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.
Código de status
Uma operação bem-sucedida retorna o código de status 201 (Criado).
Para obter mais informações sobre códigos de status, consulte Status e códigos de erro.
Cabeçalhos de resposta
A resposta dessa operação inclui os cabeçalhos a seguir. A resposta também pode incluir cabeçalhos HTTP padrão adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação de protocolo HTTP/1.1 .
| Cabeçalho da solicitação | Descrição |
|---|---|
x-ms-request-id |
Identifica exclusivamente a solicitação que foi feita e você pode usá-la para solucionar problemas da solicitação. Para obter mais informações, consulte Solucionar problemas de operações de API. |
x-ms-version |
Indica a versão do serviço Fila usada para executar a solicitação. Esse cabeçalho é retornado para solicitações que foram feitas na versão 2009-09-19 e posterior. |
Date |
Um valor de data/hora UTC gerado pelo serviço, que indica a hora em que a resposta foi iniciada. |
x-ms-client-request-id |
Esse cabeçalho pode ser usado para solucionar problemas de solicitações e respostas correspondentes. O valor desse cabeçalho é igual ao valor do cabeçalho x-ms-client-request-id se ele estiver presente na solicitação e o valor não contiver mais de 1.024 caracteres ASCII visíveis. Se o cabeçalho x-ms-client-request-id não estiver presente na solicitação, ele não estará presente na resposta. |
Corpo da resposta
A partir da versão 2016-05-31, a resposta da Put Message operação contém as informações da mensagem no corpo da resposta. O formato XML do corpo retornado é descrito aqui.
O MessageID elemento é um valor GUID que identifica a mensagem na fila. Esse valor é designado à mensagem pelo Armazenamento de Filas e é opaco para o cliente. Esse valor pode ser usado junto com o valor do elemento PopReceipt para excluir ou atualizar uma mensagem da fila. O valor de PopReceipt também é opaco para o cliente e é necessário quando você está usando as APIs Delete Message ou Update Message.
Os InsertionTimeelementos , ExpirationTime, e TimeNextVisible são representados como valores UTC e formatados conforme descrito no 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>
Resposta de exemplo
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>
Autorização
Essa operação pode ser executada pelo proprietário da conta e por qualquer pessoa com uma assinatura de acesso compartilhado com permissões para executar essa operação.
Observações
O tempo limite de visibilidade opcional especifica o tempo em que a mensagem fica invisível. Depois que o tempo limite expirar, a mensagem ficará visível. Se você não especificar um tempo limite de visibilidade, o valor padrão de 0 será usado.
A vida útil da mensagem opcional especifica por quanto tempo uma mensagem permanece na fila. A mensagem é excluída da fila quando o período de vida expira.
Uma mensagem deve estar em um formato que possa ser incluído em uma solicitação XML com codificação UTF-8. Para incluir marcação na mensagem, o conteúdo da mensagem deve ser codificado em Base64. Qualquer marcação XML na mensagem que não esteja codificada fará com que a mensagem seja inválida. Se um caractere inválido (por exemplo 0x1F) for incluído na mensagem, mesmo que seja com escape XML, as leituras subsequentes da mensagem não serão bem-sucedidas.
Se a mensagem for muito grande, o serviço retornará o código de status 400 (Solicitação Incorreta).
Consulte também
autorizar solicitações para o Armazenamento do Azure
status e códigos de erro
Códigos de erro do serviço de fila