Amazon web services 在没有输出文件的情况下调用aws lambda
我正在尝试使用CLI在AWS上调用lambda:Amazon web services 在没有输出文件的情况下调用aws lambda,amazon-web-services,aws-lambda,aws-cli,Amazon Web Services,Aws Lambda,Aws Cli,我正在尝试使用CLI在AWS上调用lambda: aws lambda invoke --function-name GetErrorLambda --payload '{"body":"{\"Id\":[\"321\",\"123\"]}"}' \output. 我想知道是否有办法在cli上打印输出,而不是创建文件 提前感谢。调用lambda函数后无法直接输出到终端。这在设计上是可能的,因为输出很容易大于窗口的缓冲区大小 一个简单的解决方法是简单地按照cli命令“cat”输出文件的内容,如下
aws lambda invoke --function-name GetErrorLambda --payload '{"body":"{\"Id\":[\"321\",\"123\"]}"}' \output.
我想知道是否有办法在cli上打印输出,而不是创建文件
提前感谢。调用lambda函数后无法直接输出到终端。这在设计上是可能的,因为输出很容易大于窗口的缓冲区大小 一个简单的解决方法是简单地按照cli命令“cat”输出文件的内容,如下所示:
aws lambda invoke--function name GetErrorLambda--payload'{“body”:“{\'Id\':[\'321\',\'123\']}”}\output.&&cat outputFileName.txt
stdout和stderr基本上都是文件,因此可以用于预期的参数
aws lambda invoke --function-name GetErrorLambda --payload '{"body":"{\"Id\":[\"321\",\"123\"]}"}' /dev/stdout
尽管在这种情况下,其余的命令输出将与之重叠,因此可能最好稍后再对其进行cat处理我使用以下命令:
aws lambda invoke --function-name name --payload '{...}' /dev/stdout 2>/dev/null
想法是将命令输出重定向到
stderr
,将函数结果重定向到stdout
,谢谢您的回答。我会尝试一下。这是一个确切的答案。这是一个更好的答案,但请注意,在返回调用“invoke”的同时,您将获得打印到stdout的lambda函数的返回值。您知道如何在版本2中接受不是base64且不是来自文件的有效负载吗?请参阅:cli\u binary\u format=raw-in-base64-out
~/.aws/config。