通过CLI调用lambda函数时出错

2024-09-28 21:51:29 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

我在windows机器上通过cli进行如下调用

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

错误为-Invalid base64:“{a:b}”

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

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

它正以低于预期的产量获得成功

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

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

这个错误意味着什么?base64无效:“{a:b}”

我还尝试从一个json文件中提供有效负载,并在命令中以精确路径传递该文件,仍然是相同的错误


Tags: lambda函数nametxtawstype错误function
1条回答
网友
1楼 · 发布于 2024-09-28 21:51:29

这意味着有效负载应该是base64

此要求是AWS CLI v2中的一项突破性更改:

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

By default, the AWS CLI version 2 now passes all binary input and binary output parameters as base64-encoded strings. A parameter that requires binary input has its type specified as blob (binary large object) in the documentation.

相关问题 更多 >