Mage
Mage

Reputation: 969

Azure Messages Timestamp

Is there anyway to get a timestamp as to when a message is placed on my Azure queue? What is the best way?

For example, a partner sends a message to my queue and I want to know the time the partner placed a specific message in the queue.

Thanks

Upvotes: 0

Views: 687

Answers (2)

Mark Rovetta
Mark Rovetta

Reputation: 691

For example, in Java code the following would retrieve a message (then get the insertion time) and then peek at the next message (and get its insertion time.) This also shows how access to the queue can be controlled by using a revocable stored access policy string.

public class Dequeue {
public static void main(String[] args) throws InvalidKeyException, URISyntaxException, StorageException 
{               
String sas = "sv=2012-02-12&sig=XUHWUy2ayrcEjNvZUhcgdPbgKZflwSXxtr0BH87XRII%3D&si=heath";           
StorageCredentialsSharedAccessSignature credentials = new StorageCredentialsSharedAccessSignature(sas);                 
URI baseuri = new URI("http://grassy.queue.core.windows.net");
CloudQueueClient queueClient = new CloudQueueClient(baseuri,credentials); 
CloudQueue queue = queueClient.getQueueReference("queue1");
CloudQueueMessage retrievedMessage = queue.retrieveMessage();
System.out.println(retrievedMessage.getMessageContentAsString());
System.out.println(retrievedMessage.getInsertionTime());
queue.deleteMessage(retrievedMessage);
CloudQueueMessage peekedMessage = queue.peekMessage();
System.out.println(peekedMessage.getMessageContentAsString());
System.out.println(peekedMessage.getInsertionTime());               
} }

Upvotes: 0

Joachim Isaksson
Joachim Isaksson

Reputation: 180947

If you're using the .NET API, the property InsertionTime in the CloudQueueMessage you get when fetching a message or peeking the queue will contain;

The time that that message was added to the queue.

Upvotes: 2

Related Questions