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.
Envia uma mensagem para um tópico ou fila do Barramento de Serviço.
Pedir
| Método | URI de solicitação | Versão HTTP |
|---|---|---|
| POSTAR | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages |
HTTP/1.1 |
Cabeçalhos de solicitação
A tabela a seguir descreve cabeçalhos de solicitação obrigatórios e opcionais. Além das propriedades listadas, o cabeçalho pode conter propriedades personalizadas. Veja o exemplo.
| Cabeçalho de solicitação | Descrição |
|---|---|
Authorization |
Especifique um dos seguintes valores de token:
|
Content-Type |
Defina o tipo de conteúdo apropriado para o corpo da entidade postada (conteúdo da mensagem). |
BrokerProperties |
Conjunto codificado em JSON de propriedades de BrokeredMessage. |
x-ms-retrypolicy |
(Opcional) Defina como NoRetry para desabilitar a repetição automática em operações de envio quando ocorrerem erros transitórios. |
Corpo da Solicitação
O corpo da solicitação é o conteúdo da mensagem.
Se a mensagem for recebida por meio de um protocolo diferente de HTTP/HTTPS, o corpo da mensagem deverá ser serializado; por exemplo, com um XML System.Runtime.Serialization.DataContractSerializer. Por exemplo:
MemoryStream ms = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(string));
serializer.WriteObject(ms, "This is a message.");
byte[] body = ms7.ToArray();
O código anterior produz o seguinte corpo da mensagem:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>
Você pode receber e processar a mensagem com o seguinte código:
BrokeredMessage message = queueClient.Receive();
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));
Resposta
A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.
Códigos de resposta
| Code | Descrição |
|---|---|
| 201 | Mensagem enviada com êxito para fila ou tópico. |
| 400 | Solicitação incorreta. |
| 401 | Falha de autorização. |
| 403 | Cota excedida ou mensagem muito grande. |
| 410 | A fila ou o tópico especificados não existem. |
| 500 | Erro interno. |
Para obter informações sobre códigos de status, consulte status e códigos de erro.
Observação
Se você receber uma resposta 401 Não autorizada, verifique se o token SAS no cabeçalho de autorização está corretamente construído, assinado, codificado em URL e corresponde ao URI exato da entidade do Barramento de Serviço.
Cabeçalhos de resposta
de tipo de conteúdo conforme passado.
Corpo da resposta
Nenhum.
Exemplo
A solicitação HTTP a seguir envia uma mensagem para uma fila ou tópico. A mensagem tem as seguintes propriedades:
Label: "M1"
TimeToLive: 10 seconds
State: Active
Message body: "This is a message."
Além do BrokeredProperties, a mensagem carrega as seguintes propriedades personalizadas: Priority=High e Customer="12345,ABC".
POST https://your-namespace.servicebus.windows.net/HttpClientSampleQueue/messages?timeout=60 HTTP/1.1
Authorization: SharedAccessSignature sr=your-namespace&sig=Fg8yUyR4MOmXfHfj55f5hY4jGb8x2Yc%2b3%2fULKZYxKZk%3d&se=1404256819&skn=RootManageSharedAccessKey
BrokerProperties: {"Label":"M1","State":"Active","TimeToLive":10}
Priority: High
Customer: 12345,ABC
Content-Type: application/atom+xml;type=entry;charset=utf-8
Host: your-namespace.servicebus.windows.net
Content-Length: 18
Expect: 100-continue
This is a message.
O Barramento de Serviço retorna a seguinte resposta:
HTTP/1.1 201 Created
Transfer-Encoding: chunked
Content-Type: application/xml; charset=utf-8
Server: Microsoft-HTTPAPI/2.0
Date: Tue, 01 Jul 2014 23:00:22 GMT
0