首先创建一个Lambda函数
利用现有模板,创建一个叫做test-hello的Lambda函数
选择之后,点击Configure按钮进入下一步配置lambda函数的信息:
点击Create Function按钮,Lambda函数创建完成。
编辑Lambda的代码:
这里我们保持hello-world模板的代码不变。
console.log('Loading function');
exports.handler = async (event, context) => {
//console.log('Received event:', JSON.stringify(event, null, 2));
console.log('value1 =', event.key1);
console.log('value2 =', event.key2);
console.log('value3 =', event.key3);
return event.key1; // Echo back the first key value
// throw new Error('Something went wrong');
};
至此,Lambda函数创建完毕。
下一步问题:怎样通过一个URL来调用我们的Lambda函数呢?
步骤:
1. 创建一个Trigger
在Lambda中添加Trigger,指向一个URL来调用这个Lambda函数
点击add后,即可添加一个API Gateway的Trigger,
2. 配置Lambda的Trigger,指向API Gateway的Http Get方法
点击对应的链接,可以对这个API Gateway进行配置
默认生成的http method为any, 如果直接进行Test,则会出现错误:
{
"message": "Internal server error"
}
我们给这个资源添加另一个http方法:
选择Get
这里输入刚才创建的Lambda函数名test-hello:
点击save创建
在下面的mapping模板中输入:
{
"key1":$input.params('key1')
}
保存后,再Deploy一次
在页面的右边得到调用URL:
在浏览器中输入带参数的URL:(注意,主URL要与上面的URL一样)
https://kulcoceqnl.execute-api.ap-southeast-1.amazonaws.com/default/test-hello?key1="abc"
即可看到输出结果: