-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpredict.py
More file actions
39 lines (26 loc) · 1017 Bytes
/
Copy pathpredict.py
File metadata and controls
39 lines (26 loc) · 1017 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
import json
def lambda_handler(event, context):
runtime_client = boto3.Session().client('sagemaker-runtime')
payload = event['body']
# If the API is called by other program, like postman, the variable event has no some attributes.
try:
s = event['headers']['content-type']
if s.find("text/plain") != -1:
payload = '{"text":"'+payload+'"}'
except Exception as e:
print("Error: {}".format(e))
response = runtime_client.invoke_endpoint(EndpointName=os.environ.get("ENDPOINT_NAME"),
ContentType='application/json',
Body=payload)
result = response['Body'].read()
jsonStr = result.decode('utf8').replace("'", '"')
print(jsonStr)
result = {
"statusCode" : 200,
"headers" : { "Content-Type" : "application/json", "Access-Control-Allow-Origin" : "*" },
"body" : jsonStr
}
print(result)
return result