VENTES: 1-800-867-1389

Update Message

Mis à jour: septembre 2011

Cette opération est une nouveauté de la version du 18/08/2011 de l'API du service de File d'attente. L'opération Update Message met à jour le délai d'expiration de la visibilité d'un message. Vous pouvez également utiliser cette opération pour mettre à jour le contenu d'un message. Un message doit être dans un format pouvant être inclus dans une demande XML avec encodage UTF-8, et la taille du message encodé ne peut pas dépasser 64 Ko.

La demande Update Message peut être construite comme indiqué ci-dessous. HTTPS est recommandé. Remplacez moncompte par le nom de votre compte de stockage et myqueue par le nom de votre file d'attente :

 

Méthode URI de demande Version HTTP

PUT

https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds>

HTTP/1.1

Cette opération est prise en charge pour le Kit de développement logiciel (SDK) 1.6 et les versions ultérieures.

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é :

 

Méthode URI de demande Version HTTP

PUT

http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds>

HTTP/1.1

Les paramètres suivants peuvent être spécifiés dans l'URI de la demande.

 

Paramètre Description

popreceipt

Obligatoire. Spécifie la valeur d'accusé de réception pop valide renvoyée d'un appel précédent à l'opération Get Messages ou Update Message.

visibilitytimeout

Obligatoire. Spécifie la nouvelle valeur du délai de visibilité, en secondes, par rapport au temps serveur. La nouvelle valeur doit être supérieure ou égale à 0 et ne peut pas être supérieure à 7 jours. 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. Un message peut être mis à jour tant qu'il n'a pas été supprimé ou qu'il n'a pas expiré.

timeout

Facultatif. Le paramètre timeout est exprimé en secondes. Pour plus d'informations, consultez Définition de délais d'expiration pour les opérations du service de File d'attente.

Le tableau suivant décrit les en-têtes de demande obligatoires ou facultatifs.

 

En-tête de demande Description

Authorization

Obligatoire. Spécifie le schéma d'authentification, le nom du compte et la signature. Pour plus d'informations, consultez Authentification pour les services de stockage Azure.

Date or x-ms-date

Obligatoire. Spécifie le temps universel coordonné (UTC) pour la demande. Pour plus d'informations, consultez Authentification pour les services de stockage Azure.

x-ms-version

Requiert la version du 18/08/2011 ou ultérieure. Spécifie la version de l'opération à utiliser pour cette demande. Pour plus d'informations, consultez Contrôle de version des services BLOB, de File d'attente et de Table dans Windows Azure.

x-ms-client-request-id

Facultatif. Fournit une valeur opaque générée par le client avec une limite de caractère de 1 Ko qui est enregistrée dans les journaux d'analyse quand la journalisation de l'analyse de stockage est activée. L'utilisation de cet en-tête est recommandée pour la corrélation des activités côté client avec les demandes reçues par le serveur. Pour plus d'informations, consultez À propos de la journalisation Storage Analytics et Journalisation du stockage Azure : utilisation des journaux pour suivre les demandes de stockage.

Le corps de la demande contient les données du message au format XML suivant. Notez que le contenu du message doit être dans un format pouvant être encodé en UTF-8.

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

La réponse inclut un code d'état HTTP et un ensemble d'en-têtes de réponse.

Une opération ayant réussi renvoie le code d'état 204 (Aucun contenu).

Pour plus d'informations sur les codes d'état, consultez Codes d'état et d'erreur.

La réponse de l'opération inclut les en-têtes suivants. La réponse peut aussi inclure des en-têtes HTTP standard supplémentaires. Tous les en-têtes standard sont conformes à la spécification du protocole HTTP/1.1.

 

En-tête de demande Description

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. Pour plus d'informations, consultez Dépannage des opérations de l'API.

x-ms-version

Indique la version du service de File d'attente utilisé pour exécuter la demande. Cet en-tête est renvoyé pour les demandes effectuées avec la version 2009-09-19 ou une version ultérieure.

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.

x-ms-popreceipt

L'accusé de réception pop du message de la file d'attente.

x-ms-time-next-visible

Une valeur date/d'heure UTC qui indique quand le message sera visible dans la file d'attente.

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.

La demande suivante étend la visibilité d'un message de file d'attente de 30 secondes et met à jour son contenu.

PUT https://myaccount.queue.core.windows.net/myqueue/messages/663d89aa-d1d9-42a2-9a6a-fcf822a97d2c?popreceipt=AgAAAAEAAAApAAAAGIw6Q29bzAE%3d&visibilitytimeout=30&timeout=30 HTTP/1.1

La demande est envoyée avec les en-têtes suivants :

x-ms-version: 2011-08-18
x-ms-date: Mon, 29 Aug 2011 17:17:21 GMT
Authorization: SharedKey myaccount:batcrWZ35InGCZeTUFWMdIQiOZPCW7UEyeGdDOg7WW4=
Content-Length: 75

La demande est envoyée avec le corps XML suivant :

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

Une fois la demande envoyée, la réponse suivante est renvoyée :

HTTP/1.1 204 No Content
Content-Length: 0
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: df34a7dd-3cbe-4206-a586-d6de3cf225a7
x-ms-version: 2011-08-18
x-ms-popreceipt: AwAAAAIAAAApAAAAINtMQ29bzAEBAAAA
x-ms-time-next-visible: Mon, 29 Aug 2011 17:17:51 GMT
Date: Mon, 29 Aug 2011 17:17:21 GMT

Une opération Update Message échoue si le message spécifié n'existe pas dans la file d'attente ou si l'accusé de réception pop spécifié ne correspond pas au message.

Un accusé de réception pop est renvoyé par l'opération Get Messages ou par l'opération Update Message. Les accusés de réception pop restent valides jusqu'à ce que l'un des événements suivants se produise :

  1. Le message expire.

  2. Le message est supprimé à l'aide du dernier accusé de réception pop reçu de Get Messages ou de Update Message.

  3. La durée d'invisibilité est passée et le message a été dépilé par une demande Get Messages. Lorsque la durée d'invisibilité est passée, le message est de nouveau visible. S'il est récupéré par une autre demande Get Messages, l'accusé de réception pop renvoyé peut être utilisé pour supprimer ou mettre à jour le message.

  4. Le message a été mis à jour avec un nouveau délai de visibilité. Lorsque le message est mis à jour, un nouvel accusé de réception pop est renvoyé.

L'opération Update Message peut être utilisée pour étendre en continu l'invisibilité d'un message de file d'attente. Cette fonctionnalité peut être utile si vous voulez un rôle de travail pour « louer » un message de file d'attente. Par exemple, si un rôle de travail appelle Get Messages et identifie qu'il a besoin de plus de temps pour traiter un message, il peut étendre en continu l'invisibilité du message jusqu'à ce qu'il soit traité. Si le rôle de travail échoue pendant le traitement, le message devient visible et un autre rôle de travail peut le traiter.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Afficher:
© 2015 Microsoft