Я написал простую службу с Serverless Framework, развернутую на AWS Lambda, которая выполняет вызов к внешней службе Http и возвращает результаты.
В настоящее время служба работает нормально локально, но не работает при развертывании в AWS.
Возможно, возникла проблема с разрешением асинхронного вызова при ответе. Если я удалю внешний вызов http, простая функция hello будет работать нормально удаленно.
Вот код для проверки:
https://github.com/kevbaker/serverless-typescript-call-mock-api
Вот фрагмент кода обработчика:
import { APIGatewayEvent, Callback, Context, Handler } from 'aws-lambda';
import axios from 'axios';
export const hello: Handler = async (event: APIGatewayEvent, context: Context, cb: Callback) => {
// External Http call with Axios
let URL:string = "https://demo8946897.mockable.io";
let mockResponse = await axios.get(URL,{});
// Send response
const response = {
statusCode: 200,
body: {
message: 'Go Serverless Webpack (Typescript) v1.0! Your function executed successfully!',
mockResponse: mockResponse.data
},
};
cb(null, response);
}
Есть мысли? Я сделал кучу возни по этому вопросу. Сменить на Fetch-node, просмотренные логи пока не повезло.