Put MessagePut Message

L'opération Put Message ajoute un nouveau message à la fin de la file d'attente de messages.The Put Message operation adds a new message to the back of the message queue. Un délai de visibilité peut également être spécifié afin que le message soit invisible tant que ce délai n'a pas été expiré.A visibility timeout can also be specified to make the message invisible until the visibility timeout expires. Un message doit être dans un format qui peut être inclus dans une demande XML en UTF-8.A message must be in a format that can be included in an XML request with UTF-8 encoding. La taille du message encodé peut atteindre 64 Kio pour les versions 2011-08-18 et ultérieures, ou 8 Kio pour les versions précédentes.The encoded message can be up to 64 KiB in size for versions 2011-08-18 and newer, or 8 KiB in size for previous versions.

RequêteRequest

La demande Put Message peut être construite comme indiqué ci-dessous.The Put Message request may be constructed as follows. HTTPS est recommandé.HTTPS is recommended. Remplacez moncompte par le nom de votre compte de stockage et myqueue par le nom de votre file d'attente :Replace myaccount with the name of your storage account, and myqueue with the name of your queue:

MéthodeMethod URI de demandeRequest URI Version HTTPHTTP Version
POST https://myaccount.queue.core.windows.net/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> HTTP/1.1HTTP/1.1

Service de stockage émuléEmulated Storage Service

Cette opération et le paramètre facultatif visibilitytimeout sont pris en charge pour le Kit de développement logiciel 1.6 et les versions plus récentes.This operation and the optional visibilitytimeout parameter are supported for SDK 1.6 and newer versions.

Lorsque vous élaborez une demande pour le service de stockage émulé, spécifiez le nom d'hôte de l'émulateur et le port de service de File d'attente sous la forme 127.0.0.1:10001, suivi du nom de compte de stockage émulé :When making a request against the emulated storage service, specify the emulator hostname and Queue service port as 127.0.0.1:10001, followed by the emulated storage account name:

MéthodeMethod URI de demandeRequest URI Version HTTPHTTP Version
POST http://127.0.0.1:10001/devstoreaccount1/myqueue/messages?visibilitytimeout=<int-seconds>&messagettl=<int-seconds> HTTP/1.1HTTP/1.1

Paramètres URIURI Parameters

Les paramètres suivants peuvent être spécifiés dans l'URI de la demande.The following parameters may be specified on the request URI.

ParamètreParameter DescriptionDescription
visibilitytimeout=<int=seconds> facultatif.Optional. S’il est spécifié, la demande doit être effectuée à l’aide d’un x-ms-version de 2011-08-18 ou d’une version ultérieure.If specified, the request must be made using an x-ms-version of 2011-08-18 or later. En l'absence de spécification, la valeur par défaut est 0.If not specified, the default value is 0. Spécifie la nouvelle valeur du délai de visibilité, en secondes, par rapport au temps serveur.Specifies the new visibility timeout value, in seconds, relative to server time. La nouvelle valeur doit être supérieure ou égale à 0 et ne peut pas être supérieure à 7 jours.The new value must be larger than or equal to 0, and cannot be larger than 7 days. Le délai d'expiration de la visibilité d'un message ne peut pas être défini à une valeur ultérieure au délai d'expiration.The visibility timeout of a message cannot be set to a value later than the expiry time. visibilitytimeoutdoit être défini sur une valeur inférieure à la valeur de durée de vie.visibilitytimeout should be set to a value smaller than the time-to-live value.
messagettl=<int-seconds> facultatif.Optional. Spécifie l'intervalle de durée de vie du message, en secondes.Specifies the time-to-live interval for the message, in seconds. Avant la version 2017-07-29, la durée de vie maximale autorisée est de 7 jours.Prior to version 2017-07-29, the maximum time-to-live allowed is 7 days. Pour la version 2017-07-29 ou ultérieure, la durée de vie maximale peut être n’importe quel nombre positif, et -1 indiquer que le message n’expire pas.For version 2017-07-29 or later, the maximum time-to-live can be any positive number, as well as -1 indicating that the message does not expire. Si ce paramètre est omis, la durée de vie par défaut est de 7 jours.If this parameter is omitted, the default time-to-live is 7 days.
timeout facultatif.Optional. Le paramètre timeout est exprimé en secondes.The timeout parameter is expressed in seconds. Pour plus d’informations, consultez définition de délais d’attente pour les opérations de service de file d’attente.For more information, see Setting Timeouts for Queue Service Operations.

En-têtes de requêteRequest Headers

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.The following table describes required and optional request headers.

En-tête de la demandeRequest Header DescriptionDescription
Authorization Obligatoire.Required. Spécifie le schéma d’autorisation, le nom de compte et la signature.Specifies the authorization scheme, account name, and signature. Pour plus d’informations, consultez autoriser les demandes dans le stockage Azure.For more information, see Authorize requests to Azure Storage.
Date or x-ms-dateDate or x-ms-date Obligatoire.Required. Spécifie la date/heure en temps universel coordonné (UTC) pour la requête.Specifies the Coordinated Universal Time (UTC) for the request. Pour plus d’informations, consultez autoriser les demandes dans le stockage Azure.For more information, see Authorize requests to Azure Storage.
x-ms-version facultatif.Optional. Spécifie la version de l'opération à utiliser pour cette demande.Specifies the version of the operation to use for this request. Pour plus d’informations, consultez contrôle de version pour les services de stockage Azure.For more information, see Versioning for the Azure Storage Services.
x-ms-client-request-id facultatif.Optional. Fournit une valeur opaque générée par le client avec une limite de 1 Kio de caractères qui est enregistrée dans les journaux d’analyse lorsque la journalisation de l’analyse de stockage est activée.Provides a client-generated, opaque value with a 1 KiB character limit that is recorded in the analytics logs when storage analytics logging is enabled. L’utilisation de cet en-tête est fortement recommandée pour la mise en corrélation des activités côté client avec les requêtes reçues par le serveur.Using this header is highly recommended for correlating client-side activities with requests received by the server. Pour plus d’informations, consultez à propos de la journalisation des Storage Analytics et de la journalisation Azure : utilisation des journaux pour suivre les demandes de stockage.For more information, see About Storage Analytics Logging and Azure Logging: Using Logs to Track Storage Requests.

Corps de la demandeRequest Body

Le corps de la demande contient les données du message au format XML suivant.The body of the request contains the message data in the following XML format. Notez que le contenu du message doit être dans un format pouvant être encodé en UTF-8.Note that the message content must be in a format that may be encoded with UTF-8.

<QueueMessage>  
    <MessageText>message-content</MessageText>  
</QueueMessage>  

Exemple de demandeSample Request

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>  

responseResponse

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.The response includes an HTTP status code and a set of response headers.

Code d’étatStatus Code

Une opération réussie renvoie le code d'état 201 (Créé).A successful operation returns status code 201 (Created).

Pour plus d’informations sur les codes d’État, consultez codes d’État et d’erreur.For information about status codes, see Status and Error Codes.

En-têtes de réponseResponse Headers

La réponse de l'opération inclut les en-têtes suivants.The response for this operation includes the following headers. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires.The response may also include additional standard HTTP headers. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.All standard headers conform to the HTTP/1.1 protocol specification.

En-tête de la demandeRequest Header DescriptionDescription
x-ms-request-id Cet en-tête identifie de façon unique la demande qui a été effectuée et peut être utilisé pour résoudre les problèmes de la demande.This header uniquely identifies the request that was made and can be used for troubleshooting the request. Pour plus d’informations, consultez Troubleshooting API Operations.For more information, see Troubleshooting API Operations.
x-ms-version Indique la version du service de File d'attente utilisé pour exécuter la demande.Indicates the version of the Queue service used to execute the request. Cet en-tête est renvoyé pour les demandes effectuées avec la version 2009-09-19 ou une version ultérieure.This header is returned for requests made against version 2009-09-19 and later.
Date Une valeur de date/heure UTC générée par le service qui indique le moment auquel la réponse a été initiée.A UTC date/time value generated by the service that indicates the time at which the response was initiated.
x-ms-client-request-id Cet en-tête peut être utilisé pour dépanner les demandes et les réponses correspondantes.This header can be used to troubleshoot requests and corresponding responses. La valeur de cet en-tête est égale à la valeur de l' x-ms-client-request-id en-tête si elle est présente dans la demande et que la valeur est supérieure à 1024 caractères ASCII visibles.The value of this header is equal to the value of the x-ms-client-request-id header if it is present in the request and the value is at most 1024 visible ASCII characters. Si l' x-ms-client-request-id en-tête n’est pas présent dans la demande, cet en-tête ne sera pas présent dans la réponse.If the x-ms-client-request-id header is not present in the request, this header will not be present in the response.

Corps de la réponseResponse Body

À partir de la version 2016-05-31, la réponse à l' Put Message opération contient les informations de message dans le corps de la réponse.Starting from version 2016-05-31, the response for the Put Message operation will contain the message info in the response body. Le format XML du corps retourné est décrit comme suit.The XML format of the returned body is described as following.

L'élément MessageID est une valeur GUID qui identifie le message dans la file d'attente.The MessageID element is a GUID value that identifies the message in the queue. Cette valeur est assignée au message par le service de File d'attente et est opaque au client.This value is assigned to the message by the Queue service and is opaque to the client. Cette valeur peut être utilisée avec la valeur de l’élément PopReceipt pour supprimer ou mettre à jour un message de la file d’attente.This value may be used together with the value of the PopReceipt element to delete or update a message from the queue. La valeur de PopReceipt est également opaque pour le client ; elle est requise lors de l’utilisation des API de suppression de message ou de mise à jour de message.The value of PopReceipt is also opaque to the client; it is required when using the Delete Message or Update Message APIs.

Les éléments InsertionTime, ExpirationTime et TimeNextVisible sont représentés en valeurs UTC et mis en forme selon la RFC 1123.The InsertionTime, ExpirationTime, and TimeNextVisible elements are represented as UTC values and formatted as described in 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>

Exemple de réponseSample Response

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>

AutorisationAuthorization

Cette opération peut être exécutée par le propriétaire du compte et par toute personne qui dispose d'une signature d'accès partagé qui a l'autorisation d'exécuter cette opération.This operation can be performed by the account owner and by anyone with a shared access signature that has permission to perform this operation.

RemarquesRemarks

Le délai de visibilité facultatif spécifie la durée pendant laquelle le message est invisible.The optional visibility timeout specifies the time that the message will be invisible. Une fois ce délai expiré, le message est visible.After the timeout expires, the message will become visible. Si un délai de visibilité n'est pas spécifié, la valeur par défaut 0 est utilisée.If a visibility timeout is not specified, the default value of 0 is used.

La durée de vie du message facultative indique combien de temps un message reste dans la file d'attente.The optional message time-to-live specifies how long a message will remain in the queue. Le message sera supprimé de la file d'attente lorsque la durée de vie expire.The message will be deleted from the queue when the time-to-live period expires.

Un message doit être dans un format qui peut être inclus dans une demande XML en UTF-8.A message must be in a format that can be included in an XML request with UTF-8 encoding. Pour inclure un balisage dans le message, le contenu du message doit être placé dans une séquence d'échappement XML ou encodé au format Base64.To include markup in the message, the contents of the message must either be XML-escaped or Base64-encode. Tout balisage XML dans le message qui n'est pas placé dans une séquence d'échappement ni encodé sera supprimé avant l'ajout du message à la file d'attente.Any XML markup in the message that is not escaped or encoded will be removed before the message is added to the queue.

Si le message est trop grand, le service renvoie le code d'état 400 (Demande incorrecte).If the message is too large, the service returns status code 400 (Bad Request).

Voir aussiSee Also

Autoriser les demandes au stockage Azure Authorize requests to Azure Storage
Codes d’État et d’erreur Status and Error Codes
Codes d’erreur de service de File d’attenteQueue Service Error Codes