HTTP 定时消息__HTTP 接入(简单)_消息队列 MQ-阿里云
MQ 的定时消息是指在规定的时间发给消费者进行消费的消息。相比于普通消息,定时消息多了消费时间戳属性,该属性主要用于定义消息正式发送给消费者进行消费的时间。下面会简要介绍 HTTP 定时消息的主要用法。
属性说明
需要在发送消息里面添加时间戳,该时间戳用于标记当前消息消费的时间,参数名称为:startdelivertime。
HTTP 定时消息示例代码
下面的示例程序是用 Python 语言编写的,其它类语言只需在相应的 URL 上添加定时消费的时间戳即可。具体添加方法,请参考如下示例。
class HttpProducer(object):def __init__(self):"""签名值"""self.signature = "Signature""""生产者组ID"""self.producerid = "ProducerId""""消息主题"""self.topic = "topic""""访问码"""self.ak = "AccessKey""""配置文件解析器"""self.cf = ConfigParser.ConfigParser()"""MD5对象"""self.md5 = hashlib.md5()"""发送Topic主流程"""def process(self):"""读取配置文件"""self.cf.read("user.properties")"""读取消息主题"""topic = self.cf.get("property","topic")"""存储消息URL路径"""url = self.cf.get("property","url")"""访问码"""ak = self.cf.get("property","user_accesskey")"""密钥"""sk = self.cf.get("property","user_secretkey")"""生产者组ID"""pid = self.cf.get("property","producer_group")"""HTTP请求主体内容"""content = U"中文".encode('utf-8')"""分隔符"""newline = "n""""获取URL域名地址"""urlname = urlparse(url).hostname"""根据HTTP主体内容计算MD5值"""self.md5.update(content)"""建立HTTP连接对象"""conn = httplib.HTTPConnection(parseURL(urlname))try:for index in range(0,10):"""时间戳"""date = repr(int(time.time())*1000)[0:13]"""构造签名字符串"""signString = str(topic + newline + pid + newline + self.md5.hexdigest() + newline + date)"""计算签名"""sign = calSignature(signString,sk)"""内容类型"""contentFlag ="Content-type""""HTTP请求头部对象"""headers = {self.signature : sign,self.ak : ak,self.producerid : pid,contentFlag : "text/html;charset=UTF-8"}"""定时消息时间戳,5秒之后该消息开始消费"""timeStamp = str(int(time.time()*1000) + 5000);"""开始发送HTTP定时消息"""conn.request(method="POST",url="/message/?topic="+topic+"&time="+date+"&startdelivertime="+timeStamp+"&tag=http&key=http",body=content,headers=headers)"""获取HTTP应答消息"""response = conn.getresponse()"""读取HTTP应答内容"""msg = response.read()print "response:"+msgexcept Exception,e:print efinally:conn.close()"""流程入口"""if __name__ == '__main__':"""创建消息生产者"""producer = HttpProducer()"""开启生产者流程"""producer.process()
最后更新:2016-11-23 16:04:20
上一篇:
Python 收发消息__HTTP 接入(简单)_消息队列 MQ-阿里云
下一篇:
HTTP 消息查询__HTTP 接入(简单)_消息队列 MQ-阿里云
SDK示例代码运行简介__数据订阅_用户指南_数据传输-阿里云
组__身份管理_用户指南_访问控制-阿里云
BandwidthPackagePublicIpMonitorDataSetType__数据类型_API参考_专有网络 VPC-阿里云
仿冒检测示例代码__Java-SDK_SDK手册_移动安全-阿里云
监控项说明__主机监控_用户指南_云监控-阿里云
怎样为一个子用户授予只读访问RDS的权限___云数据库(RDS)授权问题_授权常见问题_访问控制-阿里云
查看BINLOG日志__日志管理_API 参考_云数据库 RDS 版-阿里云
停机说明__购买指导_加密服务-阿里云
Spark + MNS__Spark_开发人员指南_E-MapReduce-阿里云
步骤一: 实验环境准备__快速入门_推荐引擎-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云