服务总线触发 Azure 函数

Posted

技术标签:

【中文标题】服务总线触发 Azure 函数【英文标题】:Service Bus Trigger Azure Function 【发布时间】:2021-09-28 13:50:30 【问题描述】:

我正在尝试从下面的服务总线消息中读取 messageid。

using Microsoft.Azure.ServiceBus;
namespace DemoProject

    public class ServiceBusRequest : ILoggingInformation
    
        private LoggingInformation _loggingInformation;
        private Message _eventMessage;

        public ServiceBusRequest(Message eventMessage)
        
            _eventMessage = eventMessage;
            InitializeMethod();
        

        private void InitializeMethod()
        
            _loggingInformation= new LoggingInformation();
            _loggingInformation.CID= _eventMessage.MessageId;
        
    

但是 _eventMessage.MessageId 的值为 null 以及 _eventMessage 的值为 null 。 任何人都可以帮我解决这个问题。

【问题讨论】:

考虑到_eventMessagenull,您可能需要检查初始化此类的方式/位置。您将不得不分享更多代码来解决这个问题。 【参考方案1】:

MessageId 是一个用户定义的值,如果启用,服务总线可以使用它来识别重复消息。您可以在发送消息之前生成MessageID 并接收它。

参考:MessageID property,SO

【讨论】:

以上是关于服务总线触发 Azure 函数的主要内容,如果未能解决你的问题,请参考以下文章

Azure 服务总线触发函数 - 绑定到 MessageReceiver

如何使用自定义 INameResolver 配置由服务总线触发的 Azure 函数?

失败的消息不会从 Azure 服务总线触发函数移动到 DLQ

如何编写将部分传入消息传递给服务总线队列的 Azure HTTP 触发器函数?

Azure 服务总线触发队列在本地调试中未命中代码

集成 Azure 服务总线主题和 Azure 函数