阅读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-阿里云