2016-04-22 84 views
1

Azure Functions我可以有一个“队列”类型的触发器,然后输入“documentdb”类型的输入。我可以通过陈述{queueTrigger}来控制从Azure DocumentDB加载并提供给该函数的文档。如何为json的队列触发器使用DocumentDB绑定?

This works如果我的队列中的消息是纯文本,并且存在于我配置的文档中的文档的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

您可以使用属性名作为输入参数,所以,如果你在你的JSON队列消息有一个ID,只需使用{id}

在C#中,你则需要创建暴露了物业的POCO(A类)和使用该类作为触发参数类型(例如Run(MyType queueParam, ...)

+0

如果我使用(编号)按照你的建议是警告我没有可用的值: 执行函数时出现异常:Functions.sagaReady_queueMessage_updatedSaga。 Microsoft.Azure.WebJobs.Host:没有名称参数'id'的值。 – AndyElastacloud

+0

这是C#还是Node? –

+0

当前节点;但我在Azure函数和多边形足以不介意开发它。 – AndyElastacloud