from flask import Flask, jsonify, request from flask_restful import reqparse, abort, Api, Resource from kinesis.producer import KinesisProducer import json import boto3 import logging import logging.handlers import os server = Flask(__name__) api = Api(server) session = boto3.Session( aws_access_key_id='AKIAUSTWEOGGEJICFGIP', aws_secret_access_key='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', region_name='ap-northeast-2') logger = logging.getLogger(__name__) formatter = logging.Formatter('%(message)s') fileHandler = logging.FileHandler('./logs/log') fileHandler.setFormatter(formatter) logger.addHandler(fileHandler) logger.setLevel(level=logging.INFO) class LogWallpad(Resource): def post(self): producer = KinesisProducer(stream_name='ambt-preden-test',boto3_session=session) request.json['site']=os.environ['SITE'] logger.info(json.dumps(request.json)) producer.put(json.dumps(request.json)+'\n') return request.json, 201 api.add_resource(LogWallpad, '/wallpad/log')