1

我目前正在研究一个从服务总线队列中读取消息的天蓝色函数。我处于测试阶段,我的服务总线队列每分钟收到大约 50 条消息。(在生产环境中,每分钟会有数千个数据点进入)。当我运行我的函数时,我收到以下错误(请参阅代码中的错误注释)

[FunctionName("ReadServiceBusMessage")]
        public static void ProcessMessagesAsync([ServiceBusTrigger("modbusdata", Connection = "test_RootManageSharedAccessKey_SERVICEBUS")]Message message, ILogger log)
        {
            try
            {
                log.LogInformation("Reading the message from queue");
                log.LogInformation("======================================================");

                string itemRaw;

                var data = new MemoryStream(message.Body);

                using (var istr = new InflaterInputStream(data))
                using (var rdr = new StreamReader(istr))
                {
                    itemRaw = rdr.ReadToEnd();//ERROR:ICSharpCode.SharpZipLib.SharpZipBaseException: 'Header checksum illegal'
                }

                log.LogInformation("Message encoding is completed.");
                log.LogInformation("========================================");

老实说,我找不到太多有用的信息来说明这个错误可能发生的情况。我最接近找到解决方案的是,也许我应该缩小消息而不是膨胀,或者在我的代码中膨胀它不起作用,因为我在模拟环境中没有使用足够的数据。提前感谢您提供的任何指导。

4

0 回答 0