node.js - 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
解决方案
我认为这不是 azure-sb 库的问题,它似乎在 Windows 中对我来说工作正常。但是,我建议使用基于 AMQP 的最新库,它性能更好。
我知道这是一个迟到的回复,但以防万一有人遇到旧服务总线库的问题并登陆这里,请参阅下面的链接。
@azure/service-bus
(基于 AMQP)的最新版本 7.0.0已经发布。
推荐阅读
- javascript - navigationOptions 奇怪的行为
- prolog - 包含列表(列表 1,列表 2)
- r - 计算给定时间点的待处理任务数(最好使用 dplyr)
- javascript - NextJS-ReferenceError:元素未定义
- java - 使用 TupleQuery 的 SELECT 子句中的 Java JPA 标准查询子查询
- javascript - 如何在右侧部分动态添加html?
- java - 如何过滤字符串以仅包含允许的字符?
- riscv - 代码位置在 RISC-V 代码模型中是否重要?
- echarts - echarts:条形图从值开始?
- java - Java 套接字输入流块