我正在尝试从azure函数将消息添加到azure消息队列中。为此,我正在关注本文,其中为我添加了对Microsoft.Azure.ServiceBus的引用。
当尝试添加此引用时,Visual Studio 2017中的Azure函数项目抱怨Newtonsoft.Json(= 9.0.1)的受限版本相对于Microsoft.NET.Sdk.Functions参考。
针对Newtonsoft.Json检测到版本冲突。安装/参考 Newtonsoft.Json 10.0.1直接到项目IHA。功能解析 这个问题。 IHA。功能-> Microsoft.Azure.ServiceBus 3.1.0-> System.IdentityModel.Tokens.Jwt 5.2.2-> Newtonsoft.Json(> = 10.0.1)
IHA.Functions-> Microsoft.NET.Sdk.Functions 1.0.14-> Newtonsoft.Json (= 9.0.1)。 IHA.Functions C:\ TFS \ IHA \ Misc \ IHA.CSL \ IHA.Functions \ IHA.Functions.csproj 1
据我了解,Microsoft.Azure.ServiceBus需要Newtonsoft.Json 10.0.1。如果删除9.0版本并添加10.0版本,则可以成功添加Microsoft.Azure.ServiceBus程序包,但是Azure Functions项目抱怨Microsoft.NET.Sdk.Functions需要9.0的Newtonsoft。
基于这些理解,我似乎无法从Azure函数写入Azure消息队列。这是正确的还是我做错了什么?
答案 0 :(得分:1)
Azure函数以扩展形式对Service Bus进行了明确支持。
您需要安装扩展程序,请参见Azure Service Bus bindings for Azure Functions。请注意您所使用的Function App版本:1.x(带有完整的.NET Framework)或beta 2.x(带有.NET Standard),并遵循相应的指南。
然后,您将定义并写入output binding。而不是直接使用Service Bus SDK。