December 8, 2020
Understanding Simple Queue Service Usage through CFML- 2
Comments
(0)
December 8, 2020
Understanding Simple Queue Service Usage through CFML- 2
Newbie 10 posts
Followers: 0 people
(0)

Hi CFNext users, 

Please go through previous blog, if you haven’t gone through.

This post is about covering few more frequent operations on SQS using CF2021, which directly integrates cloud services into language.

4.  Get Queue Url:

You require the queue URL to send, receive, and delete queue messages

The following example query request gets the URL for the specified queue. 

stdQueueUrl = stdQueue.getQueueUrl();

5.  Send a message to a queue:

The following example shows sending a message to an existing queue

sendMessageMetadata = {   
               "messageBody"="Send Message to ColdFusion PreRelease Forum ", 
               "messageAttributes"={
                                        "timestamps"="#dateTimeFormat(now())#",
                                        "geospatial_data"="Bangalore",
                                        "signatures"="Mukesh",
                                        "identifiers"="ColdFusion"
                                    }
                              };
sendMessageResp = sqs.sendMessage(stdQueueUrl,sendMessageMetadata);

6.  Receive messages from a queue:

After you send a message into a queue, you can consume it (retrieve it from the queue) if you want. When you request a message from a queue, you can’t specify which message to get from a queue.

receiveMessageMetadata = 
	                {   
                            "messageAttributeNames"="All",
	                    "maxNumberOfMessages"=1
	               };
receiveMessageResp = sqs.receiveMessage(stdQueueUrl,receiveMessageMetadata);   

7.  Delete messages:

Once a message is read and is processed, typically it needs to be deleted to avoid duplicate reads.

 msgReceiptHandle= receiveMessageResp.messages[1].receiptHandle;
 deleteMetadata= {                                        
                   "receiptHandle":"#msgReceiptHandle#"
                 };
deleteMsgReps= sqs.deleteMessage(stdQueueUrl,deleteMetadata);

8. Purge Queue:

You can delete all messages in an Amazon SQS message queue using the PurgeQueue action. When you purge a message queue, all the messages previously sent to the message queue are deleted.

The following example query request purges a queue.

purgeResp = stdQueue.purge();

9.  Delete Queue

If you don’t use an Amazon SQS queue in the near future, it is a best practice to delete it from Amazon SQS.

sqs.deleteQueue(stdQueueUrl);

Here is what else you can do with the queues in Amazon SQS:

  •      enable server-side encryption 
  •     manage queue permissions
  •      change message visibility
  •      use tags for a queue
  •      send batch messages
  •      send messages with attributes and with a timer, etc.

I hope you have learned how to manage queues and messages using ColdFusion.

I will be happy if you come with few queries and question on AWS SQS.

Also, if you can share type of scenario you are currently using with AWS SQS.

0 Comments
Add Comment