Azure Function v2队列触发器仅接收Json消息

时间:2018-10-11 15:04:49

标签: azure azure-functions azure-queues json-serialization

我有一个带有队列触发器的azure函数项目;该项目是azure函数v2。

当我将非JSON类型的消息添加到队列时,在JsonSerialization.cs内的JObject parsed = JObject.Load(jsonReader);行出现异常。

例外是:Newtonsoft.Json.JsonReaderException: 'Unexpected end when reading JSON. Path '', line 1, position 3.'

然后,代码正常进入队列触发器。

在运行azure函数v1时,我没有遇到此异常。

有人可以解释为什么azure函数v2强制您使用JSON类型的队列消息吗?并且有一种避免进入JsonSerialization.cs ??

的方法。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是一个已知问题,PR已被合并,当Microsoft.Azure.WebJobs.Extensions.Storage的下一版本于10月中旬发布时,此更新将可用。请参见Azure团队的related comment

目前,解决方法是忽略此第一次机会异常,因为它不会引起真正的问题。在“抛出时除外”下,选中Mircrosoft.Azure.WebJobs.Host.dll

enter image description here

更新

Microsoft.Azure.WebJobs.Extensions.Storage v3.0.1版本起应该予以修复