我有一个用node.js编写的Azure函数,它使用输出绑定成功地将消息发送到Azure Service Bus Queue。
如何使用绑定语法将预定消息发送到同一个队列?如果可能的话,我宁愿在没有安装node.js sdk的情况下这样做。
binding documentation未提及预定消息。但是,有趣的是this comment已经在函数github问题库中做了几次:
至少使用C#& Node.js(以及为什么不在F#中)Service Bus队列 输出已经支持这个例子如果你创建并放置多个 消息例如到IAsyncCollector或创建BrokeredMessage。内 您可以控制预定入队时间的外发留言:
outgoingMessage.ScheduledEnqueueTimeUtc = DateTimeOffset.UtcNow.AddSeconds(10)
无论如何,这是我当前的代码,可以立即发送消息:
function.json
{
"disabled": false,
"bindings": [
{
"authLevel": "function",
"type": "httpTrigger",
"direction": "in",
"name": "req"
},
{
"type": "http",
"direction": "out",
"name": "res"
},
{
"name" : "queueOutput",
"queueName" : "scheduler",
"connection" : "AZURE_SERVICEBUS_CONNECTION_STRING",
"type" : "serviceBus",
"direction" : "out"
}
]
}
index.js
module.exports = function (context, req) {
context.log('Scheduler function processed a request.');
context.bindings.queueOutput = req.body;
context.res = {
"status": 200,
"body": {
"message": "Successfully sent message to Queue"
}
};
context.done();
};
答案 0 :(得分:0)
使用基于时间的触发器语法(CRON调度)怎么样...假设我没有误解这个问题
{
"name": "function",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 */5 * * * *"
},