def main(): parser = ArgumentParser( description="Simple AMS example of subscription pull/consume") parser.add_argument('--host', type=str, default='messaging-devel.argo.grnet.gr', help='FQDN of AMS Service') parser.add_argument('--token', type=str, required=True, help='Given token') parser.add_argument('--project', type=str, required=True, help='Project registered in AMS Service') parser.add_argument('--subscription', type=str, required=True, help='Subscription name') parser.add_argument('--topic', type=str, required=True, help='Topic name') args = parser.parse_args() # initialize service with given token and project try: ams = ArgoMessagingService(endpoint=args.host, token=args.token, project=args.project) if not ams.has_topic(args.topic): ams.create_topic(args.topic) topic = ams.get_topic(args.topic, retobj=True) sub = topic.subscription(args.subscription) msg = sub.pullack(3, timeout=5) if msg: print(msg[0].get_msgid()) except AmsException as e: print e raise SystemExit(1)
def main(): parser = ArgumentParser( description="Simple AMS example of subscription pull/consume") parser.add_argument('--host', type=str, default='messaging-devel.argo.grnet.gr', help='FQDN of AMS Service') parser.add_argument('--token', type=str, required=True, help='Given token') parser.add_argument('--project', type=str, required=True, help='Project registered in AMS Service') parser.add_argument('--topic', type=str, default=None, required=False, help='Given topic') args = parser.parse_args() # initialize service with given token and project ams = ArgoMessagingService(endpoint=args.host, token=args.token, project=args.project) try: topic = ams.get_topic(args.topic, retobj=True) for s in topic.iter_subs(): print s.name, s.fullname, s.topic.name except AmsException as e: print e raise SystemExit(1)
def main(): parser = ArgumentParser(description="Simple AMS message publish example") parser.add_argument('--host', type=str, default='messaging-devel.argo.grnet.gr', help='FQDN of AMS Service') parser.add_argument('--token', type=str, required=True, help='Given token') parser.add_argument('--project', type=str, required=True, help='Project registered in AMS Service') parser.add_argument('--topic', type=str, required=True, help='Given topic') args = parser.parse_args() # initialize service with given token and project ams = ArgoMessagingService(endpoint=args.host, token=args.token, project=args.project) # ensure that topic is created in first run try: if not ams.has_topic(args.topic): ams.create_topic(args.topic) topic = ams.get_topic(args.topic, retobj=True) except AmsException as e: print e raise SystemExit(1) # publish one message to given topic. message is constructed with # help of AmsMessage which accepts data and attributes keys. # data is Base64 encoded, attributes is dictionary of arbitrary # key/value pairs msg = AmsMessage(data='foo1', attributes={'bar1': 'baz1'}).dict() try: ret = topic.publish(msg) print ret except AmsException as e: print e # publish a list of two messages to given topic. AmsMessage can also be # used as a callable. publish() method accepts either one messages or # list of messages msg = AmsMessage() msglist = [ msg(data='foo2', attributes={'bar2': 'baz2'}), msg(data='foo3', attributes={'bar3': 'baz3'}) ] try: ret = topic.publish(msglist) print ret except AmsException as e: print e
def main(): parser = ArgumentParser(description="Simple AMS example of subscription pull/consume") parser.add_argument('--host', type=str, default='messaging-devel.argo.grnet.gr', help='FQDN of AMS Service') parser.add_argument('--token', type=str, required=True, help='Given token') parser.add_argument('--project', type=str, required=True, help='Project registered in AMS Service') parser.add_argument('--topic', type=str, required=True, help='Given topic') args = parser.parse_args() # initialize service with given token and project try: ams = ArgoMessagingService(endpoint=args.host, token=args.token, project=args.project) ams.create_topic(args.topic) except AmsException as e: print(ams.get_topic(args.topic)) print(e) raise SystemExit(1)