在 Azure 函数中,我可以有一个类型为"队列"的触发器,然后是一个类型为"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
,但我无法得到我期望的结果。
这是开源包的一部分,其中包含正则表达式。我可以看到它支持 {blah} 和 {{blah}},但不知道参数列表,我无法连接它。
任何人都可以指出我的任何其他 OSS 代码或对此有所了解吗?
安 迪
属性名称作为输入参数,因此,如果您的 JSON 队列消息中有 id,只需使用 {id}
.
在 C# 中,您需要创建一个公开该属性的 POCO(类),并将该类用作触发器参数类型(例如 Run(MyType queueParam, ...)
)