对 Azure 服务总线消息进行死信处理的死信错误说明的最大长度是多少?



DeadLetterErrorDescriptio的最大接受长度是多少?

与 C# QueueClient.DeadLetterAsync 相关 https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.servicebus.queueclient.deadletterasync?view=azure-dotnet#Microsoft_Azure_ServiceBus_QueueClient_DeadLetterAsync_System_String_System_String_System_String_

基于这个论坛,没有太多细节,建议其 2^15-1 即 32,767 https://social.msdn.microsoft.com/Forums/en-US/653ac222-42d3-4ace-8425-3349f44ef001/exception-during-messagecomplete?forum=servbus

还是消息的这一部分最大包大小为 256KB(基本默认服务总线队列(?

最大值为 4096 个字符。

您可以对字符串进行切片,以确保永远不会超过此限制。发现这是由于超过该限制并获得一个明确说明 4096 限制的异常。

var errorDesc = error.Length > 4096 ? error.Substring(0, 4096) : text;

Azure 服务总线队列和主题订阅提供了一个辅助子队列,称为死信队列 (DLQ(,这只是我假设的另一个队列。由于死信队列的目的是保存无法传递给任何接收方的消息,或者无法处理的消息,因此它应该与另一个队列完全相同。

请注意,对于标准队列,大小为 256 KB,对于高级队列,大小为 1MB。

由于系统开销,此限制小于这些值。

最大标头大小:64 KB。

附加参考:

https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-quotas

https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-dead-letter-queues

希望对您有所帮助。

最新更新