代码之家  ›  专栏  ›  技术社区  ›  squeekyDave

参数中缺少必需的键“Bucket”

  •  1
  • squeekyDave  · 技术社区  · 8 年前

    我试图将一个简单的lambda函数部署到aws,但是我得到了错误 参数中缺少必需的键“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 });
    };
    

    山药

    service: lambda-demo
    
    provider:
      name: aws
      runtime: nodejs6.10
    
    functions:
      hello:
        handler: handler.hello
    
    2 回复  |  直到 8 年前
        1
  •  3
  •   Ula    7 年前

    在控制台中删除堆栈并再次部署堆栈通常会有帮助。

    如果无法尝试使用新名称部署堆栈(如果在“service:”之后使用无服务器框架更改名称)。

    讨论 here .

        2
  •  4
  •   Juha Kervinen    8 年前

    大多数情况下,当IAM用户权限在“sls部署”运行之间发生更改或开始时不正确时,我都会遇到此错误。

    最好的做法是转到AWS控制台->CloudFormation并检查CloudFormation事件日志以了解发生了什么。如果日志显示权限错误,请修复权限,删除从控制台创建的堆栈无服务器,然后再次运行“sls deploy”。