閱讀271 返回首頁    go 小米 go 小米5


Topic操作__主題接口規範_API使用手冊_消息服務-阿裏雲

描述

該接口用於創建一個新的主題。

主題名稱是一個不超過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,格式如下:https://$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

請求示例:

    PUT /topics/$TopicName HTTP/1.1
    Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
    Date: Tue, 08 Dec 2015 05:57:57 GMT
    x-mns-version: 2015-06-06
    Authorization:MNS 15B4D3461F177624206A:eCtaUwfGS0oEfznzJEhWFxpf2yk=

    <?xml version="1.0" encoding="utf-8"?>
    <Topic xmlns="https://mns.aliyuncs.com/doc/v1/">
        <MaximumMessageSize>10240</MaximumMessageSize>
        <LoggingEnabled>True</LoggingEnabled>
    </Topic>

返回示例:

    HTTP/1.1 201 Created
    x-mns-request-id:56667165B2B71C9C16000013
    x-mns-version: 2015-06-06
    Location: https://$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

請求示例:

    PUT /topics/$TopicName?metaoverride=true HTTP/1.1
    Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
    x-mns-version: 2015-06-06
    Date: Tue, 08 Dec 2015 06:01:00 GMT
    Authorization:MNS 15B4D3461F177624206A:SeIRcZk3lKiP7bl19WB9Uz07bI8=

    <?xml version="1.0" encoding="utf-8"?>
    <Topic xmlns="https://mns.aliyuncs.com/doc/v1/">
          <MaximumMessageSize>65536</MaximumMessageSize>
        <LoggingEnabled>True</LoggingEnabled>
    </Topic>

*返回示例:

    HTTP/1.1 204 No Content
    x-mns-request-id:5666721CB2B71C9C1600001B
    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

請求示例:

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

返回示例:

    HTTP/1.1 200 OK
    Content-Type=text/xml;utf-8
    Content-Length:145
    x-mns-request-id:56667279B2B71C9C1600001D
    x-mns-version: 2015-06-06

    <?xml version="1.0" encoding="UTF-8"?>
    <Topic xmlns=https://mns.aliyuncs.com/doc/v1/”>
        <TopicName>$TopicName</TopicName>
        <CreateTime>1449554277</CreateTime >
        <LastModifyTime>1449554460</LastModifyTime>
        <MaximumMessageSize>65536</MaximumMessageSize>
        <MessageRetentionPeriod>86400</MessageRetentionPeriod>
        <MessageCount>0</MessageCount>
        <LoggingEnabled>True</LoggingEnabled>
    </Topic>

DeleteTopic

描述

該接口用於刪除一個已創建的主題

Note:

使用者必須謹慎使用此接口,一旦刪除成功,主題內所有消息也一並刪除,不可恢複;所有訂閱該主題的 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

請求示例:

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

返回示例:

    HTTP/1.1 204 No Content
    x-mns-request-id: 56667314B2B71C9C16000021
    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 元素表示下個分頁的起始位置。

請求示例:

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

返回示例:

    HTTP/1.1 200 OK
    x-mns-request-id:566671BAB2B71C9C16000019 
    x-mns-version: 2015-06-06

    <?xml version="1.0" encoding="utf-8"?>
    <Topics xmlns="https://mns.aliyuncs.com/doc/v1/">
        <Topic>
            <TopicURL>https://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName1</TopicURL>
        </Topic>
        <Topic>
            <TopicURL>https://$AccountId.mns.cn-hangzhou.aliyuncs.com/topics/$TopicName2</TopicURL>
        </Topic>
        <NextMarker>OTczNjU4MTcvYmRwejd6NXluby8yNjg0Mi9UZXN0VG9waWMtMy8w</NextMarker>
    </Topics>

最後更新:2016-11-23 17:16:04

  上一篇:go 修改消息可見時間__隊列接口規範_API使用手冊_消息服務-阿裏雲
  下一篇:go Subscription操作__主題接口規範_API使用手冊_消息服務-阿裏雲