全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
消息服务

Topic操作

更新时间:2017-06-07 13:26:11

CreateTopic

描述

该接口用于创建一个新的主题。

主题名称是一个不超过256个字符的字符串,必须以字母或数字为首字符,剩余部分可以包含字母、数字和横划线(-)。

Request

Request的构造主要由以下几个部分组成:

  • 请求行

    PUT /topics/$TopicName HTTP/1.1

  • 特有Request Header

    无,请参考 调用方式/公共参数

  • Request Body

    Request Body为XML格式,XML中包含创建Topic的属性。

参数名称 说明 参数值 选项
MaximumMessageSize 发送到该 Topic 的消息体最大长度,单位为Byte 1024(1KB) - 65536(64KB)范围内的某个整数值,默认值为65536(64KB) Optional
LoggingEnabled 是否开启日志管理功能,True表示启用,False表示停用 True/False,默认为False Optional

Response

返回消息由返回状态行,HTTP头和消息体三部分组成。

  • HTTP Status Code

    HTTP/1.1 201 Created
    同一个所有者在同一个地域的主题不能重名,当出现创建重名的主题时,如果创建主题的属性与已经存在的主题属性相同,返回204(No Content);否则返回409(Conflict)。

  • 特有Response Header

参数名称 说明
Location 返回创建的TopicURL,格式如下:http://$AccountId.mns.<Region>.aliyuncs.com/topics/$TopicName

其余返回 Header 请参考 调用方式/公共参数

  • Response Body

Special Error

错误代码 错误消息 状态码
TopicAlreadyExist The topic you want to create is already exists. 409
TopicNameLengthError Topic name length is out of range, should be between 1 and 256. 400

请求示例:

  1. PUT /topics/$TopicName HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Tue, 08 Dec 2015 05:57:57 GMT
  4. x-mns-version: 2015-06-06
  5. Authorization:MNS 15B4D3461F177624206A:eCtaUwfGS0oEfznzJEhWFxpf2yk=
  6. <?xml version="1.0" encoding="utf-8"?>
  7. <Topic xmlns="http://mns.aliyuncs.com/doc/v1/">
  8. <MaximumMessageSize>10240</MaximumMessageSize>
  9. <LoggingEnabled>True</LoggingEnabled>
  10. </Topic>

返回示例:

  1. HTTP/1.1 201 Created
  2. x-mns-request-id:56667165B2B71C9C16000013
  3. x-mns-version: 2015-06-06
  4. Location: http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName

SetTopicAttributes

描述

该接口用于修改主题的属性。

Request

Request的构造主要由以下几个部分组成:

  • 请求行

    PUT /topics/$TopicName?metaoverride=true HTTP/1.1

  • 特有URI参数

    metaoverride=true 将会修改主题的属性

  • 特有Request Header

    无,请参考 调用方式/公共参数

  • Request Body

    Request Body 为 XML 格式,XML 格式中包含设置主题的属性。

参数名称 说明 参数值 选项
MaximumMessageSize 发送到该 Topic 的消息体最大长度,单位为Byte 1024(1KB) - 65536(64KB)范围内的某个整数值 Optional
LoggingEnabled 是否开启日志管理功能,True表示启用,False表示停用 True/False Optional

Response

返回消息由返回状态行、HTTP 头和消息体三部分组成

  • HTTP Status Code

    HTTP/1.1 204 No Content

  • 特有Response Header

    无,请参考 调用方式/公共参数

  • Response Body

Special Error

错误代码 错误消息 状态码
TopicNotExist The topic you provided does not exist. 404

请求示例:

  1. PUT /topics/$TopicName?metaoverride=true HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. x-mns-version: 2015-06-06
  4. Date: Tue, 08 Dec 2015 06:01:00 GMT
  5. Authorization:MNS 15B4D3461F177624206A:SeIRcZk3lKiP7bl19WB9Uz07bI8=
  6. <?xml version="1.0" encoding="utf-8"?>
  7. <Topic xmlns="http://mns.aliyuncs.com/doc/v1/">
  8. <MaximumMessageSize>65536</MaximumMessageSize>
  9. <LoggingEnabled>True</LoggingEnabled>
  10. </Topic>

*返回示例:

  1. HTTP/1.1 204 No Content
  2. x-mns-request-id:5666721CB2B71C9C1600001B
  3. x-mns-version: 2015-06-06

GetTopicAttributes

描述

该接口用于获取某个已创建主题的属性,返回属性除创建主题时的可设置属性外,还可以获取主题的消息最长存活时间、主题创建时间等。

Request

Request 的构造主要由以下几个部分组成:

  • 请求行

    GET /topics/$TopicName HTTP/1.1

  • 特有 Request Header

    无,请参考 调用方式/公共参数

  • Request Body

Response

返回消息由返回状态行、HTTP 头和消息体三部分组成

  • HTTP Status Code

    HTTP/1.1 200 OK

  • 特有 Response Header

    无,请参考 调用方式/公共参数

  • Response Body

    返回的结果为 XML 格式,格式为:<TopicAttributes>Attribute Element List</TopicAttributes>

属性元素列表包括:

参数名称 说明
TopicName 主题名称
CreateTime 主题的创建时间,从 1970-1-1 00:00:00到现在的秒值
LastModifyTime 修改主题属性信息的最近时间,从 1970-1-1 00:00:00 到现在的秒值
MaximumMessageSize 发送到该主题的消息体最大长度,单位为 Byte
MessageRetentionPeriod 消息在主题中最长存活时间,从发送到该主题开始经过此参数指定的时间后,不论消息是否被成功推送给用户都将被删除,单位为秒
MessageCount 当前该主题中消息数目
LoggingEnabled 是否开启日志管理功能,True表示启用,False表示停用

Special Error

错误代码 错误消息 状态码
TopicNotExist The topic you provided does not exist. 404

请求示例:

  1. GET /topics/$TopicName HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Tue, 08 Dec 2015 06:02:33 GMT
  4. x-mns-version: 2015-06-06
  5. Authorization:MNS 15B4D3461F177624206A:aVZgLZzVchjOtM1aecDQYFuj4Bo=

返回示例:

  1. HTTP/1.1 200 OK
  2. Content-Type=text/xml;utf-8
  3. Content-Length:145
  4. x-mns-request-id:56667279B2B71C9C1600001D
  5. x-mns-version: 2015-06-06
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. <Topic xmlns=http://mns.aliyuncs.com/doc/v1/”>
  8. <TopicName>$TopicName</TopicName>
  9. <CreateTime>1449554277</CreateTime >
  10. <LastModifyTime>1449554460</LastModifyTime>
  11. <MaximumMessageSize>65536</MaximumMessageSize>
  12. <MessageRetentionPeriod>86400</MessageRetentionPeriod>
  13. <MessageCount>0</MessageCount>
  14. <LoggingEnabled>True</LoggingEnabled>
  15. </Topic>

DeleteTopic

描述

该接口用于删除一个已创建的主题

Note:

  1. 使用者必须谨慎使用此接口,一旦删除成功,主题内所有消息也一并删除,不可恢复;所有订阅该主题的 Subscription 也一并被删除,不可恢复。

Request

Request 的构造主要由以下几个部分组成:

  • 请求行

    DELETE /topics/$TopicName HTTP/1.1

  • 特有Request Header

    无,请参考 调用方式/公共参数

  • Request Body

Response

返回消息由返回状态行、HTTP头和消息体三部分组成

  • HTTP Status Code

    HTTP/1.1 204 No Content
    如果主题不存在,返回 204,删除操作成功

  • 特有 Response Header

    无,请参考 调用方式/公共参数

  • Response Body

请求示例:

  1. DELETE /topics/$TopicName HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Tue, 08 Dec 2015 06:05:08 GMT
  4. Authorization: MNS 15B4D3461F177624206A:xit63dyKs83PTJF0hx3fd04CWog=
  5. x-mns-version: 2015-06-06

返回示例:

  1. HTTP/1.1 204 No Content
  2. x-mns-request-id: 56667314B2B71C9C16000021
  3. x-mns-version: 2015-06-06

ListTopic

描述

该接口用于列出帐号下的主题列表,可分页获取数据。如果只是要获取特定的主题列表,在调用接口时指定 x-mns-prefix 参数,服务端将返回主题名称与前缀匹配的主题列表。

Tips:

如果本次请求结果返回的主题总数超过本次请求的 x-mns-ret-number 参数值,返回的 XML 结果中包含的 NextMarker 表示下一页开始位置,在下一次请求时将该值赋予 x-mns-marker 参数以返回下一页的结果。

Request

Request 的构造主要由以下几个部分组成:

  • 请求行

    GET /topics HTTP/1.1

  • 特有 Request Header

参数名称 说明 选项
x-mns-marker 请求下一个分页的开始位置,从上次分页结果返回的 NextMarker 获取 Optional
x-mns-ret-number 单次请求结果的最大返回个数,1 - 1000 范围内的整数值,默认值为 1000 Optional
x-mns-prefix 按照该前缀开头的主题名称进行查找 Optional

其它参数请参考 调用方式/公共参数

  • Request Body

Response

返回消息由返回状态行、HTTP头和消息体三部分组成

  • HTTP Status Code

    HTTP/1.1 200 OK

  • 特有 Response Header

    无,请参考 调用方式/公共参数

  • Response Body

    返回 XML 形式的结果,顶层 Topics 元素下包含多个 Topic 元素,Topic 元素中包含 TopicURL 元素,TopicURL 表示Topic 的 URL 访问地址。如果返回结果超过 x-mns-ret-number 的参数值,包含 NextMarker 元素表示下个分页的起始位置。

请求示例:

  1. GET /topics HTTP/1.1
  2. x-mns-ret-number:2
  3. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  4. Date: Tue, 08 Dec 2015 05:59:22 GMT
  5. Authorization: NS15B4D3461F177624206A:ytChIeJt2klpvFxGCgVsPNI015k=
  6. x-mns-version: 2015-06-06

返回示例:

  1. HTTP/1.1 200 OK
  2. x-mns-request-id:566671BAB2B71C9C16000019
  3. x-mns-version: 2015-06-06
  4. <?xml version="1.0" encoding="utf-8"?>
  5. <Topics xmlns="http://mns.aliyuncs.com/doc/v1/">
  6. <Topic>
  7. <TopicURL>http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName1</TopicURL>
  8. </Topic>
  9. <Topic>
  10. <TopicURL>http://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName2</TopicURL>
  11. </Topic>
  12. <NextMarker>OTczNjU4MTcvYmRwejd6NXluby8yNjg0Mi9UZXN0VG9waWMtMy8w</NextMarker>
  13. </Topics>
本文导读目录