UNPKG

btrz-sqs

Version:

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

69 lines (43 loc) 1.72 kB
# btrz-sqs 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 ## Usage 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: "email@example.com"}; // 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"); #### .createMessage The static `.createMessage` method takes an id and some object or primitive to use as the message. Objects will be serialize with `JSON.stringify` #### .send The instance `.send` method takes an array of messages to send to the queue. It returns a native Promise