azure-sb
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/azure-sb package

0.11.2 • Public • Published

Microsoft Azure SDK for Node.js - Service Bus & Notification Hubs

This project provides a Node.js package azure-sb for accessing the below two Azure services:

  • Azure Service Bus
  • Azure Notification Hubs

Please note, a newer package @azure/service-bus for Azure Service Bus is available as of May 2019. The azure-sb package will continue to receive critical bug fixes for features around accessing Azure Notification Hubs, but we strongly encourage you to upgrade to the new package for your Service Bus needs.

How to Install

npm install azure-sb

How to Use

var azure = require('azure-sb');

function checkForMessages(sbService, queueName, callback) {
  sbService.receiveQueueMessage(queueName, { isPeekLock: true }, function (err, lockedMessage) {
    if (err) {
      if (err == 'No messages to receive') {
        console.log('No messages');
      } else {
        callback(err);
      }
    } else {
      callback(null, lockedMessage);
    }
  });
}

function processMessage(sbService, err, lockedMsg) {
  if (err) {
    console.log('Error on Rx: ', err);
  } else {
    console.log('Rx: ', lockedMsg);
    sbService.deleteMessage(lockedMsg, function(err2) {
      if (err2) {
        console.log('Failed to delete message: ', err2);
      } else {
        console.log('Deleted message.');
      }
    })
  }
}

var idx = 0;
function sendMessages(sbService, queueName) {
  var msg = 'Message # ' + (++idx);
  sbService.sendQueueMessage(queueName, msg, function (err) {
   if (err) {
     console.log('Failed Tx: ', err);
   } else {
     console.log('Sent ' + msg);
   }
  });
}

var connStr = process.argv[2] || process.env.CONNECTION_STRING;
if (!connStr) throw new Error('Must provide connection string');
var queueName = 'sbqtest';

console.log('Connecting to ' + connStr + ' queue ' + queueName);
var sbService = azure.createServiceBusService(connStr);
sbService.createQueueIfNotExists(queueName, function (err) {
  if (err) {
   console.log('Failed to create queue: ', err);
  } else {
   setInterval(checkForMessages.bind(null, sbService, queueName, processMessage.bind(null, sbService)), 5000);
   setInterval(sendMessages.bind(null, sbService, queueName), 15000);
  }
});

Thanks to @noodlefrenzy for the great example. The original is here.

Related projects

Impressions

Keywords

Install

npm i azure-sb

DownloadsWeekly Downloads

17,506

Version

0.11.2

License

Apache-2.0

Unpacked Size

306 kB

Total Files

26

Last publish

Collaborators

  • windowsazure