通过


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

创建队列

重要

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

创建新队列。 创建之后,队列资源清单不可变。 此操作是幂等的。 在成功创建具有相同名称的队列之后,重复创建调用,将产生“409 冲突”错误消息。

请求

方法 请求 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
x-ms-version 2012-03-01

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

请求正文

下表介绍了请求正文中的主要元素:

属性名称 类型 必需 说明
MaxQueueSizeInMegaBytes 无符号整数 必需 此参数指定最大队列大小 (MB)。 任何导致队列超过此值的消息的排队尝试都会失败。 仅用户内容计入此值。 可在队列创建时和运行时设置:

- 范围:1–5*1024。

- 默认值:1*1024。
QueueSizeinBytes 无符号整数 只读。 在创建时不需要。 此参数反映队列中的消息当前占用队列配额的实际字节数。

范围:0 –MaxTopicSizeinMegaBytes
QueueDepth 无符号整数 只读。 在创建时不需要。 此参数显示队列中的当前消息数。
DefaultMessageTimeToLive XML Datetime 可选,默认值为 14 天。 根据是否启用死信,如果消息在队列中存储的时间超过指定时间,则会自动将其移动到死信队列或删除。 如果消息 TTL 小于队列上设置的 TTL,则在消息上指定的 TTL 会覆盖此值。 此值在创建队列后不可变:

- 范围:1 秒 – 14 天。

- 默认值:14 天。
LockDuration XML Datetime 可选,默认值为 30 秒。 此设置确定应锁定消息以便接收者处理的时间(以秒为单位)。 此锁定期限过后,消息将解锁并可供下一个接收者使用。 只可以在创建队列时设置:

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

- 默认值:30 秒。
RequiresSession 布尔 可选 只可以在创建队列时设置。 如果设置为 true,则队列可识别会话, SessionReceiver 并且仅支持 。 REST 不支持会话感知队列。

- 默认值:False。
RequiresDuplicateDetection 布尔 可选 只可以在创建队列时设置。

- 持久队列的默认值: false
EnableDeadLetteringOnMessageExpiration 布尔 可选 只可以在创建队列时设置。

- 默认值: false

此字段确定服务总线如何处理 TTL 已过期的消息。 如果 为 true 且消息过期,则服务总线会将消息从队列移动到队列的死信子队列中。 如果为 false,则消息将从队列中永久删除。
DuplicateDetectionHistoryTimeWindow 时间跨度 可选。 一个 属性,指定服务总线检测消息重复的时间跨度。

- 范围:1 秒-7 天。

- 默认值:10 分钟。
Status String 只读。 在创建时不需要。 可以是以下其中一个值:

  • 活动
  • Creating
  • 正在删除
  • ReceiveDisabled
  • SendDisabled
  • 已禁用
  • 重命名
  • Restoring
  • 未知

响应

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

响应代码

注意

如果创建的队列名称包含特殊字符或编码字符(例如,“test?Name=value&”,编码为“test%3FName%3Dvalue%26”),则会生成“(400)无效请求”异常。

代码 说明
201 已创建队列。
400 请求正文无效。
401 授权失败。
403 已超出配额;未创建队列。
409 指定的队列已存在(或指定的路径已被占用)。
500 内部错误。

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

响应标头

无。

响应正文

返回队列描述。 如果 PUT 请求中缺少部分描述属性,则这些属性可能包含默认值。