使用版本1的Azure函数,可以将消息作为BrokeredMessage接受。

public static void Run([ServiceBusTrigger("MySServiceBus", "MySubscriptionName", AccessRights.Listen, Connection = "MyConnectionString")]BrokeredMessage message, TraceWriter log)


然后使用类似于以下的代码检索属性:

var MyProperty = message.Properties["MyMessageProperty"] as string


使用功能SDK的2.0版,我无法在没有得到反序列化错误消息的情况下将传入对象转换为BrokeredMessage。


  将类型的对象反序列化时发生错误
  Microsoft.ServiceBus.Messaging.BrokeredMessage。输入源是
  格式不正确。 System.Private.DataContractSerialization:
  输入源的格式不正确。


是否可以使用功能2.0获取消息属性

最佳答案

运行时的2.0版切换为new Service Bus client library based on .NET Standard

BrokeredMessage类不是该库的一部分,而是具有Message类,该类具有可比的功能,但API不同。

您应该能够将输入参数绑定到此类,然后通过Message.UserProperties词典访问自定义属性。

关于c# - 如何在Azure函数2中访问Azure Service Bus消息属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49860852/

10-13 08:01