你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
此 API 已 过时且自2021 年 11 月 1 日 停用,不应再使用。
创建新订阅。 创建后,订阅资源清单是不可变的。 此操作不是幂等的。 在成功创建同一主题和命名空间) 下同名 (订阅后重复创建调用,会导致 409 冲突错误消息。
如果创建的名称包含特殊或编码字符的订阅, (例如“test?Name=value&“,编码为”test%3FName%3Dvalue%26“) ,生成 (401) 未授权异常。
请注意以下订阅名称限制:
只能包含字母、数字、句点 (.) 、连字符 ( ) 和下划线 (_) 。
不允许多个段。
不允许将正斜杠 (/) 作为订阅名称的前缀或后缀。
最大字符数为 50。
请求
| 方法 | 请求 URI | HTTP 版本 |
|---|---|---|
| PUT | https://management.core.windows.net/{subscription ID}/services/ServiceBus/Namespaces/Topics/Subscriptions/{Subscription Name} | HTTP/1.1 |
请求标头
下表介绍必需的和可选的请求标头。
| 请求标头 | 说明 |
|---|---|
| Content-Type | application/xml;type=entry;charset=utf-8 |
| 命名空间 | 管理终结点 URL |
| x-ms-version | 2012-03-01 |
请求还需要客户端证书。 此证书必须与你为特定订阅上载的证书匹配。
请求正文
下表介绍了请求正文中的主要元素:
| 属性名称 | 类型 | 说明 |
|---|---|---|
| DefaultMessageTimeToLive | XML Datetime | 根据是否启用死信,如果消息在主题中存储的时间超过指定时间,则会自动将其移动到死信队列或删除。 如果消息 TTL 小于主题上设置的 TTL,则在消息上指定的 TTL 会覆盖此值。 此值在创建主题后不可变: - 范围:1 秒 - 14 天。 - 默认值:14 天。 |
| LockDuration | XML Datetime | 此设置确定应锁定消息以供接收方处理的时间(以秒为单位)。 此锁定期限过后,消息将解锁并可供下一个接收者使用。 只能在创建主题时设置: - 范围:0-5 分钟 0 表示消息未锁定。 - 默认值:30s。 |
| RequiresSession | 布尔 | 只可以在创建主题时设置。 如果设置为 true,则主题是会话感知主题,并且仅 SessionReceiver 受支持。 REST 不支持会话感知主题。- 默认值:False。 |
| EnableDeadLetteringOnMessageExpiration | 布尔 | 只可以在创建订阅时设置。 - 默认值:False。 此字段确定服务总线如何处理 TTL 已过期的消息。 如果 true 和 消息过期,服务总线会将消息从主题移到该主题的死信子队列中。 如果 false为 ,则会从主题中永久删除该消息。 |
| DeadLetteringOnFilterEvaluationExceptions | 确定服务总线如何处理在订阅筛选器评估期间导致异常的消息。 如果 true为 ,则导致异常的消息将移动到订阅的死信队列中。 否则,会丢弃它。 默认情况下,此参数设置为 true,允许你调查引发异常的原因。 它可能来自格式不正确的消息,或者在筛选器中对消息形式的错误假设。 只可以在创建主题时设置。- 默认值:true |
|
| EnableBatchedOperations | 对特定队列执行操作时,启用或禁用服务端批处理行为。 启用后,服务总线会将多个操作收集/批处理到后端,以便提高连接效率。 如果需要较低的操作延迟,可以禁用此功能。 默认值: false |
|
| MaxDeliveryCount | 无符号整数 | 在消息死信或丢弃之前,服务总线尝试传递消息的最大次数。 - 默认值: 10 |
| MessageCount | 无符号整数 | 报告订阅中尚未取消排队的消息数,如监视系统报告的那样。 |
响应
响应包括 HTTP 状态代码和一组响应标头。
响应代码
注意
如果创建名称中包含特殊或编码字符的命名空间,例如 test?Name=value&, (编码为 test%3FName%3Dvalue%26) ,则会生成 (401) “未授权”异常。
| 代码 | 说明 |
|---|---|
| 201 | 已成功创建订阅。 |
| 400 | 请求正文无效。 |
| 401 | 授权失败。 |
| 403 | 已超出配额;未创建订阅。 |
| 409 | 指定的订阅已存在(或指定的路径已被占用)。 |
| 500 | 内部错误。 |
有关状态代码的信息,请参阅 状态和错误代码。
响应标头
无。
响应正文
返回订阅说明,因为当 PUT 请求未指定订阅的所有属性的值时,某些说明属性可以包含默认值。