Skip to content

Repository files navigation

nodejs-sqs-example

aws-sqs example with sqs-producer

Run scripts

Install dependencies

yarn

Run producer

  1. Create a .env file in the root directory and add the following variables (example at .env.example)
  • aws_access_key_id
  • aws_secret_access_key
  • region
  • queue_url
  1. edit producer.ts according to the type of queue you are using. (FIFO / Standard)

  2. Run producer

yarn producer

Run consumer

  1. Create a .env file in the root directory and add the following variables (example at .env.example)
  • aws_access_key_id
  • aws_secret_access_key
  • region
  • queue_url
  1. Run Consumer
yarn consumer

Example Code Snippet (Producer)

Simple Example for Standard Queue

constexampleProducerFunctionForStandardQueue=async()=>{constproducer=Producer.create({queueUrl: config.queueUrl,region: config.region});// send simple messages to the queueawaitproducer.send(['msg1','msg2']);}

Example for FIFO Queue

constexampleProducerFunctionForFIFOQueue=async()=>{constproducer=Producer.create({queueUrl: config.queueUrl,region: config.region});awaitproducer.send({id: "testId",body: 'Hello world from our FIFO queue!'+newDate().toISOString(),groupId: 'group1234',// generate md5 hash of body (for deduplication)deduplicationId: crypto.createHash('md5').update(body).digest('hex')});}

Example (Consumer)

constapp=Consumer.create({queueUrl: config.queueUrl,region: config.region,handleMessage: async(message: {MessageId: string,ReceiptHandle: string,Body: string})=>{console.log(`{${message.MessageId}} ${message.Body} is received!`)// Super Awesome Messaging handling logic 🚀},sqs: newAWS.SQS()});app.on('error',(err)=>{console.error(err.message);});app.on('processing_error',(err)=>{console.error(err.message);});app.on('timeout_error',(err)=>{console.error(err.message);});app.start();

About

aws-sqs example with sqs-producer

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages