Skip to content

cokia/nodejs-sqs-example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

const exampleProducerFunctionForStandardQueue = async () => {
  const producer = Producer.create({
  queueUrl: config.queueUrl,
  region: config.region
});

// send simple messages to the queue
await producer.send(['msg1', 'msg2']);
}

Example for FIFO Queue

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

Example (Consumer)

const app = 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: new AWS.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

Watchers

Forks

Releases

No releases published

Packages

No packages published