Guest User

Untitled

a guest
Mar 20th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import argparse
  4. import pika
  5. import pprint
  6. import requests
  7. import sys
  8. import logging
  9. import logging.handlers
  10.  
  11. # YOU NEED TO CREATE AN auth.py FILE WITH CLIENT_ID AND API_KEY STRINGS
  12. from auth import CLIENT_ID, API_KEY
  13.  
  14. parser = argparse.ArgumentParser()
  15. parser.add_argument('event_stream_name', metavar='event_stream_name',
  16. nargs=1, help='event stream name')
  17. parser.parse_args()
  18. event_stream_name = parser.parse_args().event_stream_name[0]
  19.  
  20. api_endpoint = 'https://api.amp.cisco.com/v1/event_streams'
  21.  
  22. session = requests.Session()
  23. session.auth = (CLIENT_ID, API_KEY)
  24.  
  25. event_streams = session.get(api_endpoint).json()['data']
  26.  
  27. event_stream = {}
  28.  
  29. for e in event_streams:
  30. if e['name'] is event_stream_name:
  31. event_stream = e
  32.  
  33. amqp_url = 'amqps://{user_name}:{password}@{host}:{port}'.format(
  34. **e['amqp_credentials'])
  35. queue = e['amqp_credentials']['queue_name']
  36. parameters = pika.URLParameters(amqp_url)
  37. connection = pika.BlockingConnection(parameters)
  38. channel = connection.channel()
  39.  
  40.  
  41. parameters = pika.URLParameters(amqp_url)
  42. connection = pika.BlockingConnection(parameters)
  43. channel = connection.channel()
  44.  
  45. my_logger = logging.getLogger('MyLogger')
  46. my_logger.setLevel(logging.INFO)
  47. handler = logging.handlers.SysLogHandler(address = '/dev/log')
  48. my_logger.addHandler(handler)
  49.  
  50. def callback(ch, method, properties, body):
  51. # print(" [x] Received meth:t%r" % method)
  52. # print(" [x] Received prop:t%r" % properties)
  53. # print(" [x] Received body:t%r" % body)
  54. # print(body)
  55. my_logger.info('Fireamp: ' + body)
  56.  
  57.  
  58. channel.basic_consume(callback, queue, no_ack=True)
  59.  
  60. print(" [*] Connecting to:t%r" % amqp_url)
  61. print(" [*] Waiting for messages. To exit press CTRL+C")
  62. channel.start_consuming()
Add Comment
Please, Sign In to add comment