在Aws控制台创建API Gateway服务,我们这里创建HTTP的Api Gateway。

集成选择lamda函数

lambda_apigateway的代码比较简单,只是返回一个’Hello from Lambda!’
export const handler = async(event) => { // TODO implement const response = { statusCode: 200, body: JSON.stringify('Hello from Lambda!'), }; return response; };

配置一个路由/abc1

用RESTClient测试一下。

我们可以给Api Gateway附加授权,就是在Api Gateway调用lambda函数之前,加一个权限的验证。这个权限验证可以是JWT,也可以是另外一个lambda函数。


我们使用lambda函数来做授权


授权lambda函数的例子
export const handler = async(event) => { let response = { "isAuthorized": false, "context": { "stringKey": "value", "numberKey": 1, "booleanKey": true, "arrayKey": ["value1", "value2"], "mapKey": {"value1": "value2"} } }; if (event.headers.authorization === "secretToken") { response = { "isAuthorized": true, "context": { "stringKey": "value", "numberKey": 1, "booleanKey": true, "arrayKey": ["value1", "value2"], "mapKey": {"value1": "value2"} } }; } return response; };
创建成功

我们再次测试一下,发现调用失败了。

在Header中加入authorization:secretToken, 调用成功!
