S3 存储桶已经存在错误 - 即使在从 aws 手动删除它之后

问题描述 投票:0回答:3

我对这个无服务器和 AWS 是全新的。我正在尝试使用无服务器创建 S3 存储桶

我的 serverless.yml 文件看起来像这样

service: s3-file-uploader 

provider:
  name: aws
  runtime: nodejs12.x
  stage: dev
  region: us-east-2

custom:
  fileUploadBucketName: ${self:service}-bucket-${self:provider.stage} 

resources:
  Resources:
    FileBucket:
      Type: AWS::S3::Bucket
      Properties:
        BucketName: ${self:custom.fileUploadBucketName}
        AccessControl: PublicRead 

我第一次运行

serverless deploy
它有效,但此后我从 aws 中手动删除了存储桶并尝试重新部署它。它告诉我这个错误

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

  An error occurred: FileBucket - s3-file-uploader-bucket-dev already exists.

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

  Your Environment Information ---------------------------
     Operating System:          win32
     Node Version:              14.18.0
     Framework Version:         2.72.1
     Plugin Version:            5.5.4
     SDK Version:               4.3.0
     Components Version:        3.18.2

它说带有

s3-file-uploader-bucket-dev
这个名字的桶已经存在但是在aws s3中没有这个名字的桶。 即使它给出了这个错误,也创建了一个名为
s3-file-uploader-dev-serverlessdeploymentbucket-1aucnojnjl618
的存储桶,但这不是我在 serverlesss.yml 文件中给出的名称它应该像
s3-file-uploader-bucket-dev
并且在
cloudFormation
中有一个堆栈以名称
s3-file-uploader-dev
创建,其状态为
UPDATE_ROLLBACK_COMPLETE
.

为什么在显示上述错误的同时创建了一个不同名称的bucket?给出错误并创建存储桶令人困惑。

amazon-web-services amazon-s3 serverless serverless-framework
3个回答
3
投票

存储桶名称可能需要几个小时才能再次可用。

因此,要么选择不同的存储桶名称,要么稍等片刻,直到它再次可用。


2
投票

桶名是全局唯一的。您可以在 here 阅读有关它的信息,并在 here 阅读有关删除存储桶的信息。如果该名称尚未被其他人使用,您需要等待“一段时间”才能重新使用相同的名称。花费的时间未知(afaik)。


0
投票

我因类似的错误而浪费了一些时间,但名称不是原因,原因是添加了一个由 s3 触发的事件并在同一个 serverless.yml 中定义了 s3 存储桶,如此处所示。

带详细解释的线程

© www.soinside.com 2019 - 2024. All rights reserved.