Я создал лямбда-функцию в Python 3.6, чтобы возвращать несколько записей на шлюз API. стандарт возврата согласно документации должно быть:
{
"isBase64Encoded" : "boolean",
"statusCode": "number",
"headers": { ... },
"body": "JSON string"
}
Однако мне нужно вернуть данные, кэшированные из списка и проанализированные в формате JSON, чтобы вернуть в требуемом формате, но этого не происходит, по-видимому, я не могу присвоить переменную body
:
def lambda_handler(event, context):
if event["httpMethod"] == "GET":
param1 = event["queryStringParameters"]["param1"]
param2 = event["queryStringParameters"]["param2"]
info = redshift_get_output(param1,param2)
payload = json.dumps(info)
print(payload)
outcome = {
"isBase64Encoded": 'false',
"statusCode": 200,
"headers": { "header": "headerValue" },
"body": payload
}
return outcome
Когда я запускаю его таким образом, я получаю сообщение об успешном выполнении в своем API-шлюзе, но тело ничего не содержит :(
Кто-то знает, как я могу это понять, пожалуйста. Спасибо
print(payload)
записывал ли что-нибудь в лямбда-журнал? - person Michael - sqlbot   schedule 07.07.2018print(payload)
, и вы сказали «нет», но теперь вы отвечаете «да». Это запись в журнал или нет? - person Michael - sqlbot   schedule 09.07.2018"isBase64Encoded": 'false',
на"isBase64Encoded": False,
. - person Michael - sqlbot   schedule 09.07.2018