1

我想向我现有的 s3 存储桶(使用无服务器)添加一个生命周期策略,该策略会删除我的 s3 存储桶中的所有文件夹。我已经在 serverless.yml 中编写了代码。当我尝试部署我的代码时,我得到 -

其他堆栈资源更新失败 (UPDATE_ROLLBACK_COMPLETE)。

所以我检查了 cloudformation 堆栈,我收到消息说我的存储桶已经存在 -

my_bucket_name 已存在

资源更新取消

未能创建以下资源:[my_bucket_name]

我不知道为什么我会得到这个,我的 s3_bucket 代码看起来像这样 -

custom:
    additionalStacks:
      ressources:
        Resources:
          MyS3TBucket:
            Type: AWS::S3::Bucket
            Properties:
              BucketName: my_bucket
              LifecycleConfiguration:
                Rules:
                  - Status: Enabled 
                    ExpirationInDays: 30

这不是我的全部 s3 代码,而是本文所需的一小部分。在添加生命周期配置之前,一切正常。任何帮助将不胜感激,谢谢

4

1 回答 1

0

正如错误所暗示的:

my_bucket_name already exists

您要创建的存储桶已存在。如果它是您的,则必须先将其删除,然后才能重新创建它。如果不是,存储桶名称必须是全局唯一的。这意味着可能其他一些 AWS 用户已经创建了一个与您的名称相同的备份。在这种情况下,您必须确保后面的名称是绝对唯一的,这通常通过添加一些随机后缀来完成,例如:

MyS3TBucket:
      Type: AWS::S3::Bucket
      Properties:
        BucketName: my_bucket-489d939239dd3
        LifecycleConfiguration:
          Rules:
            - Status: Enabled 
              ExpirationInDays: 30
于 2021-10-21T05:24:03.330 回答