Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Envoie un message à une file d’attente ou une rubrique Service Bus.
Demander
Méthode | URI de requête | HTTP Version |
---|---|---|
PUBLIER | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath|topicPath}/messages |
HTTP/1.1 |
En-têtes de requête
Le tableau suivant décrit les en-têtes de requête obligatoires et facultatifs. Outre les propriétés répertoriées, l’en-tête peut contenir des propriétés personnalisées. Consultez l’exemple.
En-tête de requête | Description |
---|---|
Authorization |
Spécifiez l’une des valeurs de jeton suivantes :
|
Content-Type |
Définissez le type de contenu approprié pour le corps de l’entité publiée (charge utile du message). |
BrokerProperties |
Jeu encodé json de propriétés BrokeredMessage . |
x-ms-retrypolicy |
(Facultatif) Définissez la valeur NoRetry pour désactiver les nouvelles tentatives automatiques lors des opérations d’envoi lorsque des erreurs temporaires se produisent. |
Corps de la demande
Le corps de la requête est la charge utile du message.
Si le message doit être reçu via un protocole autre que HTTP/HTTPS, le corps du message doit être sérialisé ; par exemple, avec un XML System.Runtime.Serialization.DataContractSerializer. Par exemple:
MemoryStream ms = new MemoryStream();
DataContractSerializer serializer = new DataContractSerializer(typeof(string));
serializer.WriteObject(ms, "This is a message.");
byte[] body = ms7.ToArray();
Le code précédent génère le corps du message suivant :
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">This is a message.</string>
Vous pouvez recevoir et traiter le message avec le code suivant :
BrokeredMessage message = queueClient.Receive();
string body = message.GetBody<string>(new DataContractSerializer(typeof(string)));
Réponse
La réponse inclut un code d’état HTTP et un ensemble d’en-têtes de réponse.
Codes de réponse
Code | Description |
---|---|
201 | Message envoyé avec succès à la file d’attente ou à la rubrique. |
400 | Demande incorrecte. |
401 | Échec de l’autorisation. |
403 | Quota dépassé ou message trop volumineux. |
410 | La file d’attente ou la rubrique spécifiée n’existe pas. |
500 | Erreur interne. |
Pour plus d’informations sur les codes d’état, consultez Status and Error Codes.
En-têtes de réponse
de type contenu tel qu’il est passé.
Corps de la réponse
Aucun.
Exemple
La requête HTTP suivante envoie un message à une file d’attente ou une rubrique. Le message a les propriétés suivantes :
Label: "M1"
TimeToLive: 10 seconds
State: Active
Message body: "This is a message."
Outre le BrokeredProperties
, le message contient les propriétés personnalisées suivantes : Priority=High
et 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.
Service Bus retourne la réponse suivante :
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