AWS Academy Learner Lab 是提供一个帐号让学生可以自行使用 AWS 的服务,让学生可以在 100 USD的金额下,自行练习所要使用的 AWS 服务,如何进入 Learner Lab 请参考 使用 Learner Lab - 学生,以下示范如何使用 API Gateway 触发 AWS Lambda,并取得 post 上传的内容。
在 AWS 网页控制台 上方的搜寻图示中输入 Lambda ,单击 Lambda 服务,如下图所示。

图 1. AWS 网页控制台中找寻 Lambda 服务
单击 创建函数 服务,如下图所示。

图 2. 创建 Lambda 函数
设定 Lambda 函数如下

图 3. 设定 Lambda 函数
因为这次代码的目的是读取 API Gateway 所传递过来的参数,所以将代码修改如下:
import json
def lambda_handler(event, context):
return {
'statusCode': 200,
'body': json.dumps(event, indent=4, default=str, ensure_ascii=False)
}
修改完毕后单击 Deploy (布署),必须要先布署才算是将代码布署到云计算中,如下图所示。

图 4. Deploy (布署) Lambda 函数
接著单击上图中的 Test 按钮,会出现配置测试事件弹窗,配置如下:

图 5. 配置测试事件
接著再单击 Test 按钮即可运行,运行结果会出现在 Execution result 视窗,可以看到将模拟 API Gateway 请求的信息透过 event 这个参数取得内容。

图 6. 进行测试事件,检验代码执行结果
在 Lambda 主画面上方找到添加触发器按钮,如下图所示。

图 7. 在 Lambda 主画面中进行添加触发器
进入添加触发器画面,配置如下:
添加触发器

图 8. 在添加触发器画面中进行 API Gateway 配置
添加触发器后可以在配置中查看触发器的结果,如下图所示。

图 9. 在配置中查看触发器
接著使用常见的 API 测试软件来进行测试,在本机端打开 Postman,并输入相关的配置。
{
"key": "Value"
}
接著点击送出Send就得到完整的请求信息回应 (Response),在第 89 行中可以看到请求的内容,表示可以在 Lambda 中,透过 event 参数取得完整请求信息,使用 body 属性,就可以取得请求内容。

图 10. 在postman进行 API 测试
感谢亚马逊云科技王向炜 Alan Wang 提供的协助。