在无服务器框架命令行中使用输入参数运行lambda函数

时间:2016-04-11 14:21:11

标签: aws-lambda serverless-framework

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

如何使用输入参数运行lambda函数?我可以通过amazon控制台,lambda测试配置 - >测试事件来做到这一点。但我无法在无服务器中找到相应的功能,有人知道吗?

由于

1 个答案:

答案 0 :(得分:3)

对于lambda部分

您可以使用event.json文件:

{
  "principalId": "1234",
  "inputVar": "foo"
}

然后运行sls function run

根据docs,如果没有指定任何阶段,函数将在本地运行,如果你指定了一个阶段,函数将在相应的阶段运行已部署的代码。但是文档似乎已过时,您还需要传递-d标记,如:

sls function run myFunction -s dev -d

此命令将使用本地event.json文件

中的参数调用已部署的lambda函数

以下是函数运行选项的source code

对于APIG集成

documentation中有一些示例。

如果您不想使用模板,只需在端点描述中的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 doc。

中所述