【发布时间】:2022-01-03 02:19:43
【问题描述】:
我有一个非常简单的基于 nodejs 的 AWS Lambda 函数,它有一个事件变量,我在 Mac OS 上调用该函数时尝试通过 slack/AWS Cli。下面是代码
exports.handler = async (event) => {
const a = event["domain"];
return a;
};
在 AWS Lambda 控制台中测试功能,如果我提供以下方式设置它可以正常工作。
它工作正常并按预期显示结果。但是当我尝试使用 AWS Cli 或 Slack(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)。
【问题讨论】:
-
可能无法正确解释您使用此
--payload "{ \"domain\": \"xyz.com\" }"的shell(windows cmd、powershell、bash...)。您可以尝试将有效负载作为 jsonfile--payload file://payload.json传递,就像这里描述的 docs.aws.amazon.com/lambda/latest/dg/… -
@derpirscher 我正在使用 MacOS。抱歉,我刚刚更新了我的问题。
标签: javascript node.js amazon-web-services aws-lambda