【发布时间】:2020-08-18 16:30:05
【问题描述】:
我正在从新的 nodejs 服务器读取来自现有 Azure ServiceBus 的消息。
这是消息从 .NET 服务器发送到 ServiceBus 的方式:
var topicClient = TopicClient.CreateFromConnectionString(serviceBusConnectionString, routingKey);
var brokeredMessage = new BrokeredMessage(message.ToJson());
topicClient.Send(brokeredMessage);
其中 topicClient 是 Microsoft.ServiceBus.Messaging.TopicClient
我正在使用以下方法使用 azure-sb 包读取 nodejs 服务器上的消息:
sbClient = ServiceBusClient.createFromConnectionString(connectionString)
subscriptionClient = this.sbClient.createSubscriptionClient(topicName, subscriptionName);
receiver = this.subscriptionClient.createReceiver(ReceiveMode.receiveAndDelete);
messages = await this.receiver.receiveMessages(10,10);
console.log(messages.map(message => { message.body }));
message.body 是一个缓冲区,当我执行 message.body.toString('utf-8') 时,我得到类似:
@string3http://schemas.microsoft.com/2003/10/Serialization/��{VALID JSON}
我当然对介于两者之间的有效 JSON 感兴趣。 在 .net 服务器中,我们只需执行 brokeredMessage.GetBody() 并获取对象,那么在 nodejs 上是否有一种简单的方法来做同样的事情?
【问题讨论】:
-
您能告诉我您是如何发送消息的吗?
-
@JimXu - 我已经用相关信息更新了问题,谢谢
标签: node.js azure azureservicebus