Le type QueueMessage définit les messages envoyés aux files d'attente Simple Message Queue (anciennement MNS). Lors de l'envoi d'un message à une file d'attente SMQ, vous pouvez spécifier son corps, son délai et sa priorité. Cette rubrique décrit les paramètres, les types et l'état des messages de file d'attente.
Paramètres
-
MessageId
Identifiant du message.
Ce paramètre est renvoyé lors de l'appel aux opérations SendMessage, BatchSendMessage, ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.
Chaque message d'une file d'attente possède un identifiant unique.
Lorsque vous envoyez un message à une file d'attente, SMQ génère un identifiant pour ce message. Une fois généré, cet identifiant est immuable. Utilisez-le pour vérifier l'intégrité des données.
-
NextVisibleTime
Instant auquel le message devient consommable. Cette valeur correspond à un horodatage UNIX indiquant le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC (époque Unix).
Ce paramètre est renvoyé lors de l'appel aux opérations ReceiveMessage, BatchReceiveMessage ou ChangeMessageVisibility.
-
ReceiptHandle
Jeton de réception du message.
Ce paramètre est renvoyé lors de l'appel aux opérations ReceiveMessage, BatchReceiveMessage ou ChangeMessageVisibility.
Utilisez le jeton de réception pour modifier ou supprimer un message à l'état
Inactive. Le jeton reste valide jusqu'à l'instant défini par le paramètreNextVisibleTime. Si vous utilisez le jeton après cet instant, SMQ renvoie l'erreurMessageNotExist.Chaque jeton de réception est utilisable une seule fois. Il expire dès que l'état du message associé change.
-
MessageBody
Corps du message.
Ce paramètre est renvoyé lors de l'appel aux opérations ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.
-
MessageBodyMD5
Empreinte MD5 du corps du message.
Ce paramètre est renvoyé lors de l'appel aux opérations SendMessage, BatchSendMessage, ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.
-
EnqueueTime
Instant d'envoi du message dans la file d'attente. Cette valeur correspond à un horodatage UNIX indiquant le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC (époque Unix).
Ce paramètre est renvoyé lors de l'appel aux opérations ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.
-
FirstDequeueTime
Instant de la première consommation du message. Cette valeur correspond à un horodatage UNIX indiquant le nombre de millisecondes écoulées depuis le 1er janvier 1970 à 00:00:00 UTC (époque Unix).
Ce paramètre est renvoyé lors de l'appel aux opérations ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.
Si le message n'a jamais été consommé, la valeur de ce paramètre est identique à celle du paramètre
EnqueueTime.
-
DequeueCount
Nombre total de tentatives de consommation du message.
Ce paramètre est renvoyé lors de l'appel aux opérations ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.
-
Priority
Priorité du message. Valeurs possibles : de 1 à 16. La valeur 1 représente la priorité la plus élevée.
Ce paramètre est renvoyé lors de l'appel aux opérations ReceiveMessage, BatchReceiveMessage, PeekMessage ou BatchPeekMessage.
Si une file d'attente contient des messages de priorités différentes, les messages prioritaires sont consommés en premier lors de l'appel à l'opération ReceiveMessage.
SMQ ne garantit pas l'ordre de consommation des messages en raison du cloisonnement des données (data striping).
Types de messages
Delayed messages
Les messages différés envoyés à une file d'attente ne peuvent pas être consommés tant que la période définie par le paramètre
DelaySecondsn'est pas écoulée.Vous pouvez configurer le paramètre
DelaySecondsau niveau de la file d'attente ou le spécifier lors de l'appel aux opérations SendMessage ou BatchSendMessage.
État des messages
Lorsqu'un message standard est envoyé à une file d'attente standard, il se trouve à l'état
Active. Après réception, il passe à l'étatInactive. Il y reste pendant la durée définie par le paramètreVisibilityTimeout. S'il n'est pas consommé durant cette période, il revient à l'étatActive. S'il est supprimé durant cette période, il passe à l'étatDeleted.Lorsqu'un message standard est envoyé à une file d'attente différée, il se trouve à l'état
Delayed. À l'issue de la période définie par le paramètreDelaySeconds, le message passe à l'étatActive.Lorsqu'un message différé est envoyé à une file d'attente, il se trouve à l'état
Delayed. À l'issue de la période définie par le paramètreDelaySeconds, le message passe à l'étatActive.La durée maximale de conservation d'un message dans une file d'attente est définie par le paramètre
MessageRetentionPeriod. Une fois cette période écoulée, le message passe à l'étatExpired, puis est recyclé par le ramasse-miettes (garbage collector).Seuls les messages à l'état
Activepeuvent être reçus.