Как установить запрос интеграции для лямбда-функции в API-шлюзе? - PullRequest
0 голосов
/ 07 марта 2019

У меня есть ниже лямбда-функция, которая вызывается API-шлюзом

import sys
import logging
import pymysql
import json
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)
Bid=pymysql.escape_string("3")
with conn.cursor(pymysql.cursors.DictCursor) as cur:
 cur.execute("select exid,exercise_name,image from exercise where bid = 3")
 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-шлюзе, что я должен добавить в шаблон отображения, чтобы получить данные в формате json от пользователя иКак я могу передать это пользовательское значение в запросе (например: выберите exid, имя упражнения, изображение из упражнения, где bid = "предоставленное пользователем значение").Я новичок в AWS и бэкэнд-разработке.Заранее спасибо

1 Ответ

0 голосов
/ 08 марта 2019

Вы можете передать аргумент запроса. для этого необходимо указать параметр запроса строки в запросе на интеграцию и в шаблоне отображения добавить json / application к параметру map в лямбда-коде. cur.execute ("выберите exid, имя упражнения, изображение из упражнения, где bid = 3") замените эту строку на

cur.execute("select exid,exercise_name,image from exercise where bid = event['params']['querystring']['parameter_name']")

для получения дополнительной информации проверьте это передать параметр в лямбду из шлюза API

...