【发布时间】:2020-02-12 20:07:17
【问题描述】:
我使用部署到 AWS Lambda 的无服务器框架编写了一个简单的服务,它调用外部 Http 服务并返回结果。
目前该服务在本地运行良好,但在部署到 AWS 时无法运行。
异步调用解析响应似乎存在一些问题。如果我删除外部 http 调用,简单的 hello 函数可以在远程正常工作。
这里有一些代码供审查:
https://github.com/kevbaker/serverless-typescript-call-mock-api
这是处理程序的 sn-p:
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,查看日志还没有运气。
【问题讨论】:
标签: async-await axios serverless-framework serverless