在Azure Functions中我可以触发类型"队列"然后输入类型" documentdb"。我可以通过声明{queueTrigger}
来控制从Azure DocumentDB加载哪个文档并将其提供给该函数。
如果我的队列中的邮件是纯文本,并且我配置的文档中存在文档的ID,则此可以。
但是,如果我在触发队列上的消息是JSON并且包含文档的ID作为属性,我该如何陈述:
{queueTrigger.id}
尝试此操作会产生无效的模板:
2016-04-22T06:39:03.044执行功能时出现异常: Functions.sagaReady_queueMessage_updatedSaga。 Microsoft.Azure.WebJobs.Host:无效的模板' {queueTrigger.id}'。 参数名称' queueTrigger.id'无效。
我尝试了一些变种{{queueTrigger.id}}
,{queueTrigger}.id
,但我还没有达到预期的结果。
这是open source package的一部分,其中包含正则表达式。我可以看到它支持{blah}和{{blah}}但不知道参数列表我可以将其连接起来。
可以指出任何其他OSS代码或对此有所了解吗?
安迪
答案 0 :(得分:1)
您可以使用属性名作为输入参数,因此如果您的JSON队列消息中有id,请使用{id}
。
在C#中,您需要创建一个POCO(一个类)来公开该属性并将该类用作触发器参数类型(例如Run(MyType queueParam, ...)
)