首页 > 解决方案 > NodeJS:Windows 无法从 Azure ServiceBus 接收消息

问题描述

我之前使用 Linux docker 和可以成功处理 Azure ServiceBus 消息的 NodeJS 脚本。

但是,现在我使用相同代码在 Windows 上运行 Windows docker/simple,即使我检查了队列中有消息,也会出现以下错误消息:

没有可接收的消息

参考代码:

let azureSb = require('azure-sb'), 
connectionString = 'xxxxx',
serviceBusService = azureSb.createServiceBusService(connectionString);

serviceBusService.receiveQueueMessage(PDF_PRINT_QUEUE, {isPeekLock: true}, (error, message) => {
    if (error) {
        console.log(error);
    }
    console.log('OK');
    ......
}

以下是我使用的主要 NodeJS 包:

# npm list --depth=0
+-- adal-node@0.2.1
+-- azure-keyvault@3.0.5
+-- azure-sb@0.11.1
+-- azure-storage@2.10.3
+-- http@0.0.0
+-- puppeteer@1.20.0
`-- puppeteer-core@1.20.0

标签: node.jswindowsmessageazureservicebusservicebus

解决方案


我认为这不是 azure-sb 库的问题,它似乎在 Windows 中对我来说工作正常。但是,我建议使用基于 AMQP 的最新库,它性能更好。

我知道这是一个迟到的回复,但以防万一有人遇到旧服务总线库的问题并登陆这里,请参阅下面的链接。

@azure/service-bus(基于 AMQP)的最新版本 7.0.0已经发布。


推荐阅读