AWS Lambda новичок здесь.Я проводил некоторые тесты с функциями AWS Lambda, и есть кое-что, что не работает для меня правильно.С учетом этой лямбда-функции:
exports.handler = async (event, context, callback) => {
var response = {
statusCode: 200,
headers: {'Content-Type': 'application/json'},
response: event.talk
};
callback(null, response);
};
Когда я нажимаю кнопку тестирования с этим содержимым ( здесь - скриншот):
{
"talk": "Hello World"
}
Я получаю этот ответ ( здесь - скриншот):
{
"statusCode": 200,
"headers": {
"Content-Type": "application/json"
},
"response": "Hello World"
}
Но когда я делаю POST-запрос (я добавил открытый API-шлюз, вижу его здесь ), он просто возвращает пустые данные, а иногда и внутреннюю ошибку сервера ( здесь - скриншот):
no data
Если я изменю свою функцию Lambda на JSON-разбор тела, она будет работать
exports.handler = async (event, context, callback) => {
var body = JSON.parse(event.body);
var talk = body.talk;
var response = {
statusCode: 200,
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(talk)
};
callback(null, response);
};
Что это происходит?Почему кнопка теста работает не так, как POST-запрос?Я хочу, чтобы оба работали, особенно тест, потому что я хочу "отладить" "без сервера"