2

我在无服务器框架的帮助下开始了一个 aws 项目,但我有一个关于运行 lambda 函数的问题。

如何使用输入参数运行 lambda 函数?我可以通过亚马逊控制台、lambda 测试配置-> 测试事件来完成。但是我在无服务器中找不到相应的功能,有人知道吗?

谢谢

4

1 回答 1

3

对于 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')"
      }
    }
  ...
  ]

语法如API Gateway Accessing the $input Variable文档中所述。

于 2016-04-11T17:52:56.090 回答