通过 CLI 调用 lambda 函数时出错



我是lambda的新手,通过控制台成功创建了lambda函数并触发了它们。 但是当我尝试使用 AWS CLI 调用它们时,我遇到了问题。

我的 lambda 函数 (python( 很简单,只需打印输入参数并在控制台中成功测试。

我在 Windows 机器的 CLI 中像下面一样调用,

aws lambda invoke --function-name testfn --invocation-type RequestResponse --payload '{"a":"b"}' outfile.txt

错误显示 - 无效的 base64:"'{a:b}'">

但是如果我给出一个空的有效载荷,例如 -

aws lambda invoke --function-name testfn --invocation-type RequestResponse --payload '{}' outfile.txt

它正在被以下输出所吸引。

{
"StatusCode": 200,
"ExecutedVersion": "$LATEST"
}

那么我的有效载荷出了什么问题呢?请帮忙。

这个错误是什么意思?无效的 base64:"'{a:b}'">

我还尝试从 json 文件提供有效负载,并在命令中使用确切路径传递该文件,但仍然是相同的错误。

这意味着有效载荷应该是base64。

此要求是 AWS CLI v2 中的重大更改之一:

  • AWS CLI 版本 2 现在默认将二进制参数作为 base64 编码的字符串传递。

invoke有效负载的类型为blob。在 AWS CLI v2 中:

默认情况下,AWS CLI 版本 2 现在将所有二进制输入和二进制输出参数作为base64 编码的字符串传递。需要二进制输入的参数在文档中将其类型指定为blob(二进制大对象(。

相关内容

  • 没有找到相关文章

最新更新