使用版本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/