-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.py
More file actions
39 lines (33 loc) · 1007 Bytes
/
app.py
File metadata and controls
39 lines (33 loc) · 1007 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import boto3
import os
from flask import Flask, render_template, request
from dotenv import load_dotenv
load_dotenv()
app = Flask(__name__)
boto3 = boto3.Session(
aws_access_key_id=os.getenv("ACC_KEY"),
aws_secret_access_key=os.getenv("SEC_KEY"),
aws_session_token=os.getenv("SES_TOK"),
region_name="us-east-1",
)
@app.route("/")
def home():
return render_template('index.html')
lambda_function = boto3.client("lambda")
@app.route("/lambda", methods=["POST"])
def apiroute():
body = request.data
response = None
try:
response = lambda_function.invoke(
FunctionName="FinalProject",
InvocationType="RequestResponse",
Payload=body
)
response = response['Payload'].read()
except Exception as e:
response = {'response': 'fail',
'error': e.__dict__['response']['Error']['Message'] if 'response' in e.__dict__ else str(e)}
return response
if __name__ == "__main__":
app.run()