app.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. from flask import Flask, jsonify, request
  2. from flask_restful import reqparse, abort, Api, Resource
  3. from kinesis.producer import KinesisProducer
  4. import json
  5. import boto3
  6. import logging
  7. import logging.handlers
  8. import os
  9. server = Flask(__name__)
  10. api = Api(server)
  11. session = boto3.Session(
  12. aws_access_key_id='AKIAUSTWEOGGEJICFGIP',
  13. aws_secret_access_key='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',
  14. region_name='ap-northeast-2')
  15. logger = logging.getLogger(__name__)
  16. formatter = logging.Formatter('%(message)s')
  17. fileHandler = logging.FileHandler('./logs/log')
  18. fileHandler.setFormatter(formatter)
  19. logger.addHandler(fileHandler)
  20. logger.setLevel(level=logging.INFO)
  21. class LogWallpad(Resource):
  22. def post(self):
  23. producer = KinesisProducer(stream_name='ambt-preden-test',boto3_session=session)
  24. request.json['site']=os.environ['SITE']
  25. logger.info(json.dumps(request.json))
  26. producer.put(json.dumps(request.json)+'\n')
  27. return request.json, 201
  28. api.add_resource(LogWallpad, '/wallpad/log')