使用无服务器在 lambda 上部署代码失败

Deploying code on lambda failed using serverless

我尝试使用 serverless deploy 在 lambda 上部署代码,但遇到以下错误,尝试了多种在线可用的解决方案,但没有奏效。

错误 -

Serverless: Packaging service...

  Serverless Error ---------------------------------------

  The specified bucket does not exist

  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com

  Your Environment Information -----------------------------
     OS:                     darwin
     Node Version:           8.12.0
     Serverless Version:     1.31.0

当您部署无服务器应用程序时,它使用服务属性(在您的 serverless.yaml 中定义)作为您的应用程序在 CloudFormation 中的唯一标识符。

这么说吧,如果你在不移除堆栈的情况下更改存储桶的名称,可能会产生一些冲突。例如:

  • 您使用名为 myBucket 的存储桶部署应用程序。
  • 将根据此信息创建 CloudFormation。
  • 您将此名称更改为 myBucketPlus 并尝试部署。
  • Serverless 将在推送新部署之前用最后一次部署清理 mybucketPlus。
  • 但是等等! myBucketPlus 不存在。

由于你没有具体描述你做了什么,我试着举了一个例子,但它可能是别的东西。

您也可以尝试删除并再次部署。

解决此问题的最佳方法是 -

  1. 执行以下命令查看 lambda 信息,该信息还将提供 S3 存储桶名称、区域、端点信息等,但在这种情况下您只需要存储桶名称和区域。

sls info -v

  1. 在预期区域创建存储桶。

完成。