Retrieve records from Azure Service Bus queue but not deleting data
I followed below sample from "https://github.com/noodlefrenzy/node-amqp10" to retrieve records from Azure Service Bus queue. However, all data were deleted after run the code.
Updated the "client.createReceiver" function to
Execute the code and it works! All records are still there after processing.
To learn more about "Azure Solution Development", see this course"70-534 Architecting Microsoft Azure Solutions Certification"
const AMQPClient = require('amqp10').Client;
const Policy = require('amqp10').Policy;
const protocol = 'amqps';
const keyName = 'RootManageSharedAccessKey';
const sasKey = 'your_key_goes_here';
const serviceBusHost = 'namespace.servicebus.windows.net';
const uri = `${protocol}://${encodeURIComponent(keyName)}:${encodeURIComponent(sasKey)}@${serviceBusHost}`;
const queueName = 'partitionedQueueName';
const client = new AMQPClient(Policy.ServiceBusQueue);
client.connect(uri)
.then(() => Promise.all([client.createReceiver(queueName)]))
.spread((receiver) => {
console.log('--------------------------------------------------------------------------');
receiver.on('errorReceived', (err) => {
// check for errors
console.log(err);
});
receiver.on('message', (message) => {
console.log('Received message');
console.log(message);
console.log('----------------------------------------------------------------------------');
});
})
.error((e) => {
console.warn('connection error: ', e);
});
I did a research and found out that I need to add "
const { Constants }= require('amqp10');
receiverSettleMode
" to the value "Constants.receiverSettleMode.settleOnDisposition
" within"client.createReceiver" function. So added following code before "client.connect(uri)":const { Constants }= require('amqp10');
Updated the "client.createReceiver" function to
client.createReceiver(queueName, {
attach: {
rcvSettleMode: Constants.receiverSettleMode.settleOnDisposition
}
})
Execute the code and it works! All records are still there after processing.
To learn more about "Azure Solution Development", see this course"70-534 Architecting Microsoft Azure Solutions Certification"
Comments
Post a Comment