我正在尝试向aws部署一个简单的lambda函数,但出现错误在参数中缺少所需的键“ Bucket” 。 我创建的用户具有完全的Lambda,S3,Cloudformation和Cloudwatch访问权限。
JS
“严格使用”;
module.exports.hello = (event, context, callback) => {
const response = {
statusCode: 200,
body: JSON.stringify({
message: 'Go Serverless v1.0! Your function executed successfully!',
input: event,
}),
};
callback(null, response);
// Use this code if you don't use the http event with the LAMBDA-PROXY integration
// callback(null, { message: 'Go Serverless v1.0! Your function executed successfully!', event });
};
YAML
service: lambda-demo
provider:
name: aws
runtime: nodejs6.10
functions:
hello:
handler: handler.hello
答案 0 :(得分:4)
在“ sls deploy”的运行之间更改IAM用户权限或开始时不正确时,通常会遇到此错误。
最佳做法是转到AWS控制台-> CloudFormation并检查CloudFormation事件日志以查看发生了什么。如果日志显示权限错误,请修复权限,删除从控制台创建的堆栈Serverless,然后再次运行“ sls deploy”。
答案 1 :(得分:3)