从Azure函数将消息写入Azure Service Bus队列

时间:2018-08-16 15:19:39

标签: azure-functions azureservicebus

我正在尝试从azure函数将消息添加到azure消息队列中。为此,我正在关注本文,其中为我添加了对Microsoft.Azure.ServiceBus的引用。

https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dotnet-get-started-with-queues

当尝试添加此引用时,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消息队列。这是正确的还是我做错了什么?

1 个答案:

答案 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。