У меня есть шлюз AWS API, в котором он интегрируется с лямбда-функцией через шаблон отображения тела - PullRequest
0 голосов
/ 27 февраля 2019

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

{
 "bid":"$input.params('bid')"
}

Теперь мне нужно перенести переменную "bid" в нижнюю часть лямбда-функции Python и использовать в качествеquery

import sys
import logging
import pymysql
import json
rds_host="rds.amazonaws.com"
name="name"
password="pass"
db_name=""
port = 3306
def save_events(event):
result = []
conn = pymysql.connect(rds_host, user=, passwd=, db=, connect_timeout=30)
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

Теперь, как мне добавить «bid» из API к этой лямбде и динамически изменять запрос, используя «bid»

1 Ответ

0 голосов
/ 27 февраля 2019

Просто используйте

bid = event["bid"]

Ваш код станет:

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

def lambda_handler(event, context):
  workouts = save_events(event["bid"])
  return workouts
...