Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 在没有输出文件的情况下调用aws lambda_Amazon Web Services_Aws Lambda_Aws Cli - Fatal编程技术网

Amazon web services 在没有输出文件的情况下调用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”输出文件的内容,如下

我正在尝试使用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.&&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。