你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

更新队列

重要

此 API 已 过时,自2021 年 1 月 1 日 起停用,不应再使用。

更新队列说明,并将更新状态发送到 FE/BE 以更新相应的 DB 条目。

请求

方法 请求 URI HTTP 版本
PUT https://management.core.windows.net/{subscription ID}/services/ServiceBus/Namespaces/{Namespace}/Queues/{Queue Path} HTTP/1.1

请求标头

下表介绍必需的和可选的请求标头。

请求标头 说明
Content-Type application/xml;type=entry;charset=utf-8
If-Match *
x-ms-version 2012-03-01

请注意,此请求还需要一个客户端证书。 此证书必须与你为特定订阅上载的证书匹配。

请求正文

下表介绍了请求正文中的主要元素。 这些是你可以更新的仅有属性。 即使仅更改一个属性,正文也必须包含完整的队列说明。 建议的流程如下所示:

  1. 获取队列说明。

  2. 更新所需的元素。

  3. 传入已更新的描述。

属性名称 类型 描述
authorizationRules AuthorizationRule[] 授权规则数组。
autoDeleteOnIdle String 指示在某个实体处于空闲状态时是否自动删除该实体。
deadLetteringOnMessageExpiration 布尔 只可以在创建队列时设置。

- 默认值:False。

此字段控制服务总线如何处理具有过期 TTL 的消息。 如果为 true 且消息过期,服务总线将消息从队列移动到队列的死信子队列中。 如果 为 false,则会从队列中永久删除该消息。
defaultMessageTtl XML Datetime 根据是否启用死信,如果消息已存储在队列中超过指定时间,则会自动将其移动到死信队列或删除。 如果消息 TTL 小于队列上设置的 TTL,则在消息上指定的 TTL 会覆盖此值。 此值在创建队列后不可变:

- 范围:1 秒 - 14 天。

- 默认值:14 天。
duplicateDetectionHistoryTimeWindow 时间跨度 一个属性,指定服务总线检测消息重复的时间跨度。

- 范围:1 秒-7 天。

- 默认值:10 分钟。
enableBatchedOperations 布尔 指示是否要启用批处理操作。
forwardDeadLetteredMessagesTo String 指定要转发死信邮件的位置。
forwardTo String 指定要转发消息的位置。
lockDuration XML Datetime 此设置确定应锁定消息以便接收者处理的时间(以秒为单位)。 此锁定期限过后,消息将解锁并可供下一个接收者使用。 只可以在创建队列时设置:

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

- 默认值:30 秒。
maxDeliveryCount 无符号整数 在死信或丢弃之前,服务总线尝试传递消息的最大次数。 默认值为 10。
maxSizeInMegabytes 无符号整数 最大大小(以兆字节为单位)。
status EntityStatus 实体的状态。
userMetadata String 用户元数据。

无法更新这些属性: requireSessionrequiresDuplicateDetectionenablePartitioningname

响应

响应包括 HTTP 状态代码和一组响应标头。

响应代码

注意

如果创建名称中包含特殊或编码字符的队列 (例如“测试?Name=value&“,将编码为”test%3FName%3Dvalue%26“) ,将生成 (401) 未经授权的异常。

代码 说明
200 已成功更新队列说明。
401 授权失败。
404 此命名空间下不存在实体。
500 内部错误。

有关状态代码的信息,请参阅 “状态”和“错误代码”。

响应标头

无。

响应正文

无。