如何设置消息时间以无限期地在天蓝色服务总线队列中生存?

Avi*_*ani 3 servicebus azure azure-queues

我正在尝试使用azure-sdk-for-node创建azure服务总线队列,但无法找到资源来设置无限制生存时间。

这是我的示例代码:

var queueOptions = {MaxSizeInMegabytes:'5120',DefaultMessageTimeToLive:'PT1M'};

serviceBusService.createQueueIfNotExists('myqueue',queueOptions,function(error){if(!error){//队列存在}});

无限时间在DefaultMessageTimeToLive中会有什么?

Sea*_*man 7

您的代码将消息TTL设置为仅1分钟。您无法将TTL设置为无限制,因为它需要一个TimeSpan值,因此您必须分配一些内容。这可能是一个相当大的价值,但出于以下几个原因,我建议避免这种做法:

  1. 这是一项托管服务。如今,TTL不受限制,但可以。
  2. 对于消息传递,TTL值很长表示不应该执行某些操作(消息应该很小并且要快速处理)。

说,从今天开始,您可以将TTL设置为TimeSpan.MaxValue,即

  • 10675199天
  • 2小时
  • 48分钟
  • 5秒
  • 477毫秒

或iso8601格式为P10675199DT2H48M5.4775807S

实际上,365天(P365D)甚至30天(P30D)对于消息传递来说实在太多了。