class aliyun_mns_api(object): def __init__(self): """客户端初始化""" cf = ConfigParser.ConfigParser() cf.read("aliyun.conf") host = cf.get('AccessKey_mns',"Host") accessid = cf.get('AccessKey_mns',"Access_ID") accesskey = cf.get('AccessKey_mns',"Access_Key") self.cli = Account(host,accessid,accesskey) def sendmessagerequest(self,queue_name): """向指定mns发送message""" with open('SendMessage.txt','r') as f: for line in f: message = Message(line) re_msg = self.cli.get_queue(queue_name).send_message(message) print "Send Message Succeed! MessageBody:%s MessageID:%s" % (line,re_msg.message_id) def getlistqueuenames(self): """查询消息列队名字""" result = self.cli.list_queue() name_list = [] for name in result[0]: real_name = str(name).split('/')[-1] name_list.append(real_name) #print name_list return name_list
queue_meta.create_time, queue_meta.last_modify_time)) except MNSExceptionBase as e: sys.stderr.write("Get Queue Attributes Fail!\nException:%s\n\n" % e) sys.exit(1) #列出所有队列 ## prefix 指定queue name前缀 ## ret_number 单次list_queue最大返回队列个数 ## marker list_queue的开始位置; 当一次list queue不能列出所有队列时,返回的next_marker作为下一次list queue的marker参数 try: prefix = "" ret_number = 10 marker = "" total_qcount = 0 while (True): queue_url_list, next_marker = my_account.list_queue( prefix, ret_number, marker) total_qcount += len(queue_url_list) for queue_url in queue_url_list: sys.stdout.write("QueueURL:%s\n" % queue_url) if (next_marker == ""): break marker = next_marker sys.stdout.write("List Queue Succeed! Total Queue Count:%s!\n\n" % total_qcount) except MNSExceptionBase as e: sys.stderr.write("List Queue Fail!\nException:%s\n\n" % e) sys.exit(1) #发送消息 ## set_delayseconds 设置消息的延迟时间,单位:秒 ## set_priority 设置消息的优先级
queue_meta.create_time, queue_meta.last_modify_time)) except MNSExceptionBase, e: sys.stderr.write("Get Queue Attributes Fail!\nException:%s\n\n" % e) sys.exit(1) #列出所有队列 ## prefix 指定queue name前缀 ## ret_number 单次list_queue最大返回队列个数 ## marker list_queue的开始位置; 当一次list queue不能列出所有队列时,返回的next_marker作为下一次list queue的marker参数 try: prefix = "" ret_number = 10 marker = "" total_qcount = 0 while(True): queue_url_list, next_marker = my_account.list_queue(prefix, ret_number, marker) total_qcount += len(queue_url_list) for queue_url in queue_url_list: sys.stdout.write("QueueURL:%s\n" % queue_url) if(next_marker == ""): break marker = next_marker sys.stdout.write("List Queue Succeed! Total Queue Count:%s!\n\n" % total_qcount) except MNSExceptionBase, e: sys.stderr.write("List Queue Fail!\nException:%s\n\n" % e) sys.exit(1) #发送消息 ## set_delayseconds 设置消息的延迟时间,单位:秒 ## set_priority 设置消息的优先级 ## 返回如下属性: