API-шлюз возвращает дополнительную ошибку данных - PullRequest
0 голосов
/ 12 марта 2019

Ниже моя лямбда-функция Python

import sys
import logging
import pymysql
import json
import boto3
rds_host="rds.amazonaws.com"
name="name"
password="pass"
db_name="DB"
port = 3306
def save_events(event):
result = []
conn = pymysql.connect(rds_host, user=name, passwd=password, db=db_name, 
connect_timeout=30)
with conn.cursor(pymysql.cursors.DictCursor) as cur:
cur.execute("select exid,exercise_name,image from exercise where bid = event['params']['querystring']['Bid']")
result = cur.fetchall()
cur.close()
print ("Data from RDS...")
print (result)
workout = json.dumps(result)
workouts=(workout.replace("\"", "'"))

def lambda_handler(event, context):
save_events(event)
return workouts

Я создал метод get в API-шлюзе и интегрировал его с вышеуказанной лямбда-функцией. В запросе метода я дал строку запроса как «Bid», а в запросе интеграции я добавил шаблон отображения как «Bid»: «$ input.params ( 'bid') ", когда я тестирую API, задающий параметры запроса как" Bid = 1 ", он возвращает приведенную ниже ошибку

{"errorMessage": "Extra data: line 1 column 6 (char 5)", "errorType": "JSONDecodeError", "stackTrace": [["/var/lang/lib/python3.6/json/__init__.py", 354, "loads", "return _default_decoder.decode(s)"], ["/var/lang/lib/python3.6/json/decoder.py", 342, "decode", "raise JSONDecodeError(\"Extra data\", s, end)"]]}

Я также использовал интеграцию лямбда-прокси и получаю ту же ошибку, что и выше. Пожалуйста, помогите мне здесь, Спасибо заранее.

...