Azure Function Service Bus输出绑定:无法设置自定义属性及消息属性
Azure Functions Service Bus输出绑定无法设置自定义属性和消息属性的问题
我使用Azure Functions输出绑定向带有一个订阅的Service Bus Topic发送消息,现有代码能完成消息发送,但无法设置以下内容:
- 自定义属性
- 消息属性(contentType、messageId等)
[Function(nameof(Function1))] [ServiceBusOutput("test-topic", Connection = "CONN")] public async Task<OutputData> Run( [ServiceBusTrigger("test-queue", Connection = "CONN")] ServiceBusReceivedMessage message, ServiceBusMessageActions messageActions, ICollector<BrokeredMessage> collector ) { // 有没有办法设置此消息的自定义属性? // 同时我还希望将messageProperty的contentType设置为application/json OutputData outputData = new OutputData { ID = 123, Name = "Test" }; // 完成消息处理 await messageActions.CompleteMessageAsync(message); return outputData; /* 尝试过用ICollector<BrokeredMessage>设置自定义属性,但collector始终为null */ BrokeredMessage brokeredMessage = new(); brokeredMessage.ContentType = "application/json"; brokeredMessage.Properties.Add("ID", 123); brokeredMessage.Properties.Add("Name", "Test"); // 注入ICollector<BrokeredMessage>无效,collector始终为null //collector.Add(brokeredMessage); }
我能看到outputData已到达目标Topic,但contentType为text/plain,且无法添加任何自定义属性。
我的环境:
-.NET 9
-Azure Service Bus(标准层)
有没有解决思路?
更新1
尝试使用ServiceBusMessage,但问题依旧:
#region ServiceBusMessage not working ServiceBusMessage serviceBusMessage = new ServiceBusMessage(); serviceBusMessage.ContentType = "application/json"; serviceBusMessage.ApplicationProperties.Add("ID", 123); serviceBusMessage.ApplicationProperties.Add("Name", "Test"); serviceBusMessage.Body = BinaryData.FromString("Test"); #endregion // 完成消息处理 await messageActions.CompleteMessageAsync(message); return serviceBusMessage;

内容的提问来源于stack exchange,提问作者user2243747
相关产品推荐
相关产品推荐

