问题描述
我一直试图在Azure Service Bus主题中添加一条消息。我的天蓝色功能测试说该消息已被接受(202)。但是订阅方面没有任何消息,请您帮助我这个POC。这是我的代码段。这是从VS代码生成的示例,我正在使用serviceBusTrigger。
const { ServiceBusClient,ReceiveMode } = require("@azure/service-bus");
module.exports = async function(context,mySbMsg) {
context.log('JavaScript ServiceBus topic trigger function processed message',mySbMsg);
context.done();
};
解决方法
我没有看到连接字符串和与代码关联的绑定,为了将消息保存到队列,您需要在设置文件中包含队列连接字符串。遵循docs
,
{
"bindings": [
{
"schedule": "0/15 * * * * *","name": "myTimer","runsOnStartup": true,"type": "timerTrigger","direction": "in"
},{
"name": "outputSbQueue","type": "serviceBus","queueName": "testqueue","connection": "MyServiceBusConnection","direction": "out"
}
],"disabled": false
}
,
好吧,事实是,在将消息推送到主题之后,我尝试调用该函数。但是ServiceBusTriger的目的是相反的。当队列中有消息时,带有此触发器的功能将处理消息。无需单独调用该函数。是的,如此简单,只需使用可用的主题和订阅创建函数,然后尝试将消息放入主题。您可以在函数的日志中看到该消息。