完成消息时出现Azure服务总线异常:服务总线错误:未在“amqp:disposition:list”中设置必填字段“first”。错误条件:amqp:无效字段。
所以本质上,我试图做的是从服务总线读取一批消息,迭代这些消息以收集有效负载,合并它们,并将其全部写入存储,然后返回再次迭代这批消息以逐个完成它们。
代码在将有效载荷放入存储方面工作正常,但是一旦消息被完成,我就得到了这个错误,我找不到太多关于它的信息,并且不太清楚丢失的部分是什么意思或者为什么它不在那里。但底层异常是“AMQPLinkError”
Code block
代码与文档中的内容非常相似,只是做了一些小的更改。
到目前为止,我已经尝试了同步和异步版本,尝试了批量大小和定时参数,但仍然遇到了同样的问题。
最奇怪的是,有些运行完全正常,但在其他时候,这个异常是提出没有明确的理由,为什么。
所有这些代码都在数据块中运行。
1条答案
按热度按时间i7uaboj41#
Hi @Andrius Vitkauskas,
我在那个团队工作,我们现在正在修复那个bug。有两种方法可以做到这一点:
1.通过在连接期间传入
uamqp_transport=True
来使用uamqp传输。您将不得不pip安装uamqp1.返回到服务总线的前一个版本,它实际上将您移回到UAMQP。
关于这些问题我很抱歉。我们希望尽快解决这个问题。