我在无服务器框架的帮助下开始了一个 aws 项目,但我有一个关于运行 lambda 函数的问题。
如何使用输入参数运行 lambda 函数?我可以通过亚马逊控制台、lambda 测试配置-> 测试事件来完成。但是我在无服务器中找不到相应的功能,有人知道吗?
谢谢
我在无服务器框架的帮助下开始了一个 aws 项目,但我有一个关于运行 lambda 函数的问题。
如何使用输入参数运行 lambda 函数?我可以通过亚马逊控制台、lambda 测试配置-> 测试事件来完成。但是我在无服务器中找不到相应的功能,有人知道吗?
谢谢
对于 lambda 部分
您可以使用event.json
文件:
{
"principalId": "1234",
"inputVar": "foo"
}
然后运行sls function run
。
根据文档,如果不指定任何阶段,函数将在本地运行,如果您指定阶段,函数将在相应阶段运行部署的代码。但是文档似乎已经过时了,您还需要传递-d
如下标志:
sls function run myFunction -s dev -d
event.json
此命令将使用本地文件中的参数调用您部署的 lambda 函数
这是函数运行选项的源代码。
对于 APIG 集成
文档中有一些示例。
如果您不想使用模板,只需s-function.json
在端点描述中插入相关代码即可。
"endpoints": [
...
"requestTemplates": {
"application/json": {
"principalId": "$context.authorizer.principalId",
"apiKey": "$context.identity.apiKey",
"inputVar": "$input.json('inputVar')"
}
}
...
]