我有一个非常简单的基于nodejs的AWS函数,它有一个事件变量,在Mac上调用函数时,我试图通过slack/AWS传递该变量。下面是代码
exports.handler = async (event) => {
const a = event["domain"];
return a;
};在AWS控制台中的测试功能,如果我以下面的方式提供设置,它可以很好地工作。

它工作良好,并显示了预期的结果。但是,当我试图使用AWS或ChatOps运行它时,它并不是传递事件数据。下面是我使用的lambda调用命令,
@aws lambda invoke --invocation-type RequestResponse --function-name manrill-test
--region us-east-1 --payload "{ \"domain\": \"xyz.com\" }"这显示了下面的消息,看起来负载/事件数据没有被正确传递。
ExecutedVersion: $LATEST
StatusCode: 200
Payload:
null知道我做错了什么吗?理想情况下,它应该显示我传递的事件数据的值(xyz.com)。
发布于 2022-01-02 17:25:31
如果您使用的是V2,则需要添加“-cli-二进制格式原始-in 64-out”标志来传递原始json。
aws lambda invoke --invocation-type RequestResponse --function-name manrill-test --region us-east-1 --payload "{ \"domain\": \"xyz.com\" }" --cli-binary-format raw-in-base64-out response.json发布于 2022-01-02 18:19:43
这个问题不是松懈的,也不是lambda,它的mac os键盘设置。您必须取消选中“使用智能引号和破折号”键盘设置下的文本选项卡。请查看下面链接上的答案。
https://stackoverflow.com/questions/70557924
复制相似问题