閱讀156 返回首頁    go 魔獸


HTTP 協議規範__HTTP 接入(簡單)_消息隊列 MQ-阿裏雲

本文詳細介紹了 HTTP 協議相關的規範。具體的示例代碼請參考 HTTP 協議下不同開發語言的相關文檔。

域名

MQ 提供 HTTP 服務的域名(domain),詳見 HTTP 域名

消息發送-Request

字段 說明
URL https://domain/message/
Method POST
Header AccessKey : 阿裏雲身份驗證;
Signature 簽名 : (signString=[topic+”n”+pid+”n”+md5(Body)+”n”+time];
Producer ID : 消息發布組 ID
Param Topic  Time 時間戳(自1970-01-01, 00:00:00 GMT 經曆的毫秒數,如果 MQ 收到時間戳已經過了15s,那麼會返回403)
Body 消息體內容為 UTF-8 編碼

消息發送-Response

Status code 說明 Body(JSON 格式)
201 消息添加成功 {“msgId”:”0A021F7300002A9F0000000006531D6F”,”sendStatus”:”SEND_OK”}
400 請求失敗 {“code”:”BODY_TOO_BIG”,”info”:”Message body size exceeds the upper limit of 64KB”}
403 鑒權失敗
408 請求超時

消息接收-Request

字段 說明
URL https://domain/message/
Method GET
Header AccessKey : 阿裏雲 AccessKey  
Signature 簽名 : (signString=[topic+”n”+ cid+”n”+time]) 
Consumer ID : 消息訂閱組 ID
Param Topic  Time 時間戳(自1970-01-01, 00:00:00 GMT 經曆的毫秒數,如果 MQ 收到時間戳已經過了15s,那麼會返回403)

消息接收-Response

Status code 說明 Body(JSON 格式)
200 消息讀取成功,會返回至多32條消息,如果沒有消息會循環遍曆事件直到有消息到來(poll模式),持續時間 30s [{“body”:”HelloMQ”,”bornTime”:”1418973464204”,   “msgHandle”:”X1BFTkRJTkdNU0dfXyVSRVRSWSUkbG9uZ2ppJENJRF9sb25namlfdGxvbmdqaQ==”,   “msgId”:”0A021F7300002A9F000000000647076D”,”reconsumeTimes”:1}]
400 請求失敗 {“code”:”TOPIC_NOT_EXIST”,”info”:”topic not exist”}
403 鑒權失敗
408 請求超時

消息刪除-Request

字段 說明
URL https://domain/message/
Method DELETE
Header AccessKey : 阿裏雲 AccessKey  
Signature 簽名 : (signString=[topic+”n”+cid+”n”+msgHandle+”n”+time] 
Consumer ID : 消息訂閱組 ID
Param Topic Time 時間戳(自1970-01-01, 00:00:00 GMT 經曆的毫秒數,如果 MQ 收到時間戳已經過了15s,那麼會返回403) msgHandle 消息句柄

消息刪除-Response

Status code 說明 Body(JSON 格式)
204 消息刪除成功,無需返回內容
400 請求失敗 {“code”:”TOPIC_NOT_EXIST”,”info”:”topic not exist”}
403 鑒權失敗
408 請求超時

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

  上一篇:go HTTP 域名__HTTP 接入(簡單)_消息隊列 MQ-阿裏雲
  下一篇:go Java 收發消息__HTTP 接入(簡單)_消息隊列 MQ-阿裏雲