Betterez simple client to send messages to an AWS SQS queue with a very convenient interface

Downloads in past


2.1.07 months ago9 years agoMinified + gzip package size for btrz-sqs in KB


A simple client to send messages to an AWS SQS queue with a very convenient interface.
It uses native Promises

Runtimes supported

io.js >= 1.0.3 node v0.11.x with the --harmony flag


Add the module to your package.json directly or just run
npm install btrz-sqs --save
Require and use the Queue object to create and send messages to a queue.
let Queue = require("btrz-sqs").Queue;
let q = new Queue(config, queueName);

let obj = {text: "An object to send as a message", email: ""};

// This creates a message that SQS will be able to work with.
let msg = Queue.createMessage("theId", obj);

// Now we can send the message
var promise = q.send([msg]);

// Send returns a Promise so we can work with it normally.
promise.then(function (result) {
    // Do something with the result
.catch(function (err) {
    // Do something with the error

Config object

config =  {
  key: process.env.AWS_KEY,
  secret: process.env.AWS_SECRET,
  sqs: {
    dataImport: {
      queueUrl: process.env.AWS_SQS_URL,
      region: "us-east-1"
The sqs object in the config can have multiple queues, in the constructor you indicate what queue to use given a string that is the key in the config.sqs object. In this case is dataImport
new Queue(config, "dataImport");


The static .createMessage method takes an id and some object or primitive to use as the message. Objects will be serialize with JSON.stringify


The instance .send method takes an array of messages to send to the queue. It returns a native Promise