Я делаю базовый набор TDD на AWS Lambda и замечаю, что если я создаю простую тестовую функцию:
exports.handler = async (event) => {
// Will always fail
throw "Failed to execute - this is a failure function that will always fail";
};
Это когда я вызываю его через SDK с com.amazonaws.services.lambda.model.InvokeRequest Код ответа для этой функции всегда возвращается как 200, а журнал ошибок пуст!
Мне интересно, что я делаю что-то не так с точки зрения вызова и запроса ошибок здесь;потому что кажется сумасшедшим, что функция JavaScript, которая генерирует исключение, и, когда я тестирую ее, сообщает о сбое выполнения в консоли AWS Lambda, возвращает 200?
, я заметил, что здесь я использую асинхронный вариант;поэтому я попытался также с вариантом синхронизации и вызовом context.fail ():
exports.handler = (event, context, callback) => {
// Will always fail
try {
throw "Failed to execute - this is a failure function that will always fail";
}
catch(e) {
context.fail(e);
}
};
Я бы определенно ожидал, что это вернет 500 или что-то еще, но снова я получу 200!