如何将DocumentDB绑定用于json的队列触发器?

时间:2016-04-22 06:46:25

标签: azure azure-functions azure-cosmosdb

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代码或对此有所了解吗?

安迪

1 个答案:

答案 0 :(得分:1)

您可以使用属性名作为输入参数,因此如果您的JSON队列消息中有id,请使用{id}

在C#中,您需要创建一个POCO(一个类)来公开该属性并将该类用作触发器参数类型(例如Run(MyType queueParam, ...)

相关问题