参数中缺少必需的键 'Bucket'
Missing required key 'Bucket' in params
我正在尝试将一个简单的 lambda 函数部署到 aws,但我收到错误 参数 中缺少必需的密钥 'Bucket'。
我创建的用户具有完整的 Lambda、S3、Cloudformation 和 Cloudwatch 访问权限。
JS
'use strict';
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
当 IAM 用户权限在 "sls deploy" 的 运行 之间更改或一开始不正确时,我经常遇到此错误。
最好的做法是转到 AWS 控制台 -> CloudFormation 并检查 CloudFormation 事件日志以了解发生了什么。如果日志显示权限错误,修复权限,从控制台删除无服务器创建的堆栈,然后再次 运行 "sls deploy"。
在控制台中删除堆栈并再次部署堆栈通常会有帮助。
如果没有帮助,请尝试使用新名称部署堆栈(如果使用无服务器框架,请在 'service:' 之后更改名称)。
已讨论 here。
我正在尝试将一个简单的 lambda 函数部署到 aws,但我收到错误 参数 中缺少必需的密钥 'Bucket'。 我创建的用户具有完整的 Lambda、S3、Cloudformation 和 Cloudwatch 访问权限。
JS
'use strict';
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
当 IAM 用户权限在 "sls deploy" 的 运行 之间更改或一开始不正确时,我经常遇到此错误。
最好的做法是转到 AWS 控制台 -> CloudFormation 并检查 CloudFormation 事件日志以了解发生了什么。如果日志显示权限错误,修复权限,从控制台删除无服务器创建的堆栈,然后再次 运行 "sls deploy"。
在控制台中删除堆栈并再次部署堆栈通常会有帮助。
如果没有帮助,请尝试使用新名称部署堆栈(如果使用无服务器框架,请在 'service:' 之后更改名称)。
已讨论 here。