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-阿裏雲