本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

队列描述

 

队列描述是一种 XML AtomPub 文档,用于定义队列所需的语义。 队列描述包含以下属性。有关详细信息,请参阅 TechNet 上的QueueDescription 属性 主题。

MaxSizeInMegaBytes: Number

指定最大队列大小 (MB)。 尝试将消息加入队列时,如果该消息会导致队列超过此值,尝试将失败。 只能在创建队列时使用以下值设置此参数:

  • 范围:1 – 1024(有效值为 1024、2048、3072、4096、5120)

  • 默认值:1*1024(有效值为 1024、2048、3072、4096、5120)

SizeinBytes: Number

反映队列中消息当前占用的队列配额的实际字节数。

MessageCount: Number

显示队列中的当前消息数。

DefaultMessageTimeToLive: XML datetime

如果消息存储在队列中的时间长于此指定时间,则根据是否启用了 DeadLettering,将该消息自动移动到 DeadLetterQueue 或删除。 当且仅当消息 TTL 小于队列上设置的 TTL 时,在消息上指定的 TTL 才会覆盖此值。 此值在创建队列后不可变:

  • 范围:1 秒 - TimeSpan.MaxValue

  • 默认值:TimeSpan.MaxValue

LockDuration: XML datetime

确定将由接受者处理的消息的锁定时间(单位:秒)。 在此限期过后,消息由下一步的接收方为解锁并可供使用:

  • 范围:0 – 5 分钟。 0 表示消息未锁定

  • 默认值:30 秒

RequiresSession: True, False

只可以在创建队列时设置。 如果设置为 true,则队列将是会话感知队列,并且只支持 SessionReceiver 无法通过 REST 支持会话感知队列。

  • 持久队列的默认值: false

RequiresDuplicateDetection: True, False

只可以在创建队列时设置。

  • 持久队列的默认值: false

EnableDeadLetteringOnMessageExpiration: True, False

此字段控制 Service Bus 如何处理 TTL 已过期的消息。 如果启用了此字段且消息已过期,则 Service Bus 会将该消息从队列移动到队列的死信子队列。 如果禁用了此字段,则消息将从队列中永久删除。 只可以在创建队列时设置。

  • 默认值: false

DuplicateDetectionHistoryTimeWindow

指定 Service Bus 检测重复消息的时间跨度。

  • 范围:1 秒 - 7 天

  • 默认值:10 分钟

EnableBatchedOperations

对特定队列执行操作时,启用或禁用服务端批处理行为。 启用时,Service Bus 会将多个操作收集/批处理到后端,以使连接更高效。 如果需要较低的操作延迟,可以禁用此功能。

ForwardTo

消息转发到的接收器的路径。

MaxDeliveryCount

在消息成为死信或被丢弃之前,Service Bus 尝试传递的最大次数。

IsAnonymousAccessible

获取是否允许匿名访问。

AuthorizationRules

获取描述授权规则。

状态

获取或设置队列的当前状态(已启用或已禁用)。 禁用了某个队列时,该队列将无法发送或接收消息。

SupportOrdering

获取或设置队列是否支持排序。

请务必注意,在队列创建过程中,对描述进行的架构验证对子元素的顺序很敏感。 例如,以下描述不属有效的队列描述。

<QueueDescription xmlns=\"http://schemas.microsoft.com/netservices/2010/10/servicebus/connect\"> <MaxSizeInMegaBytes>10000</MaxSizeInMegaBytes> <DefaultMessageTimeToLive>PT5M</DefaultMessageTimeToLive> <LockDuration>PT2M</LockDuration> <RequiresGroupedReceives>False</RequiresGroupedReceives> <SupportsDuplicateDetection>False</SupportsDuplicateDetection> </QueueDescription>

不过,如果元素显示如下,则该描述属有效的队列描述:

<QueueDescription xmlns=\"http://schemas.microsoft.com/netservices/2010/10/servicebus/connect\"> <LockDuration>PT2M</LockDuration> <MaxSizeInMegaBytes>1024</MaxSizeInMegaBytes> <SupportsDuplicateDetection>false</SupportsDuplicateDetection> <RequiresGroupedReceives>false</RequiresGroupedReceives> <DefaultMessageTimeToLive>PT5M</DefaultMessageTimeToLive> </QueueDescription>

  • 列出给定路径下的所有队列:

    http://<serviceBusAddress>/$Resources/Queues?$filter=startswith(path, ‘/my/test’)
    
  • 列出过去 5 分钟内更新的所有队列:

    http://<serviceBusAddress>/$Resources/Queues?$filter=lastModifiedTime Gt  2011-08-09T21:44:36.2481552Z
    
  • 列出至少有一条消息的所有队列:

    http://<serviceBusAddress>/$Resources/Queues?$filter=MessageCount Gt 0
    
显示: