我有一个带有队列触发器的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
??
谢谢!
答案 0 :(得分:1)
这是一个已知问题,PR已被合并,当Microsoft.Azure.WebJobs.Extensions.Storage
的下一版本于10月中旬发布时,此更新将可用。请参见Azure团队的related comment。
目前,解决方法是忽略此第一次机会异常,因为它不会引起真正的问题。在“抛出时除外”下,选中Mircrosoft.Azure.WebJobs.Host.dll
。
更新
自Microsoft.Azure.WebJobs.Extensions.Storage
v3.0.1版本起应该予以修复