AWS Lambda上的无Payload属性调用CLI响应

时间:2017-11-04 20:45:06

标签: amazon-web-services aws-lambda aws-cli

我正在调用AWS Lambda CLI to invoke我的函数。我想将函数响应(Payload)作为我的返回对象的一部分,所以我传递--invocation-type RequestResponse。有了它,我仍然只在我的输出文件中获取函数输出(我实际上并不关心)。我希望它作为从这个CLI调用返回的对象的一部分,但我只获得LogR​​esult和StatusCode。

{
    "LogResult": "encoded blah blah blah", 
    "StatusCode": 200
}

我是在做我的命令错字还是我错过了什么?如何将函数输出(Payload)作为此CLI调用返回的对象的一部分?

aws lambda invoke --function-name myFunction --invocation-type RequestResponse --log-type Tail --payload {} --region us-east-1 testoutput.txt

1 个答案:

答案 0 :(得分:2)

  

我希望将函数响应(Payload)作为返回对象的一部分,以便我通过--invocation-type RequestResponse

这不是该选项的作用。此外,指定它本质上是一个无操作,因为RequestResponse已经是默认值。替代方法(Event)告诉Lambda异步运行该函数(从您的角度来看),而无需等待它完成。它不是关于如何收集或返回响应,而是响应是否被完全丢弃,因为您的调用请求已从正在运行的函数中分离并立即返回。

  

我仍然只在输出文件中输出功能

它到底应该如何运作。那个为什么你必须指定一个输出文件。函数输出仅写入该文件。