下面是一个使用AWS Lambda和API Gateway进行API代理的示例代码:
首先,在AWS Lambda中创建一个新的函数。选择适当的运行时环境(例如Node.js、Python等)。
在函数代码编辑器中,编写Lambda函数的代码。以下是一个简单的例子,它将请求代理到另一个API端点,并返回响应:
const axios = require('axios');
exports.handler = async (event) => {
// 获取传入的API请求
const request = event.Records[0].cf.request;
// 代理请求到另一个API端点
const response = await axios({
method: request.method,
url: 'https://api.example.com' + request.uri,
headers: request.headers,
data: request.body,
});
// 返回代理响应
return {
status: response.status,
statusDescription: response.statusText,
headers: response.headers,
body: response.data,
};
};
点击保存并部署Lambda函数。
在AWS API Gateway中创建一个新的API。
在API的资源中创建一个新的方法。选择适当的HTTP方法(例如GET、POST等)和集成类型(AWS Service)。
配置集成请求将API请求代理到Lambda函数。选择刚刚创建的Lambda函数作为目标。
部署API以使更改生效。
现在,当访问API Gateway的端点时,它将代理请求到Lambda函数,并将响应返回给调用者。