amazon-s3 - 已解决 : S3 Object Lock with Cloudformation

标签 amazon-s3 aws-cloudformation

带有 Cloudformation 模板的 ObjectLock 是否可能尚未实现,或者此模板中是否存在错误?

我尝试应用以下堆栈:

---
Resources:
 TestBucketBucketProd:
  Type: 'AWS::S3::Bucket'
  Properties:
   BucketName: testbucket-prod
   VersioningConfiguration:
    Status: Enabled
   AccessControl: Private
   Tags:
    - Key: org 
     Value: prod
   PublicAccessBlockConfiguration:
    BlockPublicAcls: true
    BlockPublicPolicy: true
    IgnorePublicAcls: true
    RestrictPublicBuckets: true
   ObjectLockConfiguration:
    ObjectLockEnabled: true
    Rule:
     DefaultRetention:
      Mode: GOVERNANCE
      Days: 2
Outputs:
 TestBucketBucketName:
  Value: !Ref TestBucketBucketProd
  Description: The name of the TestBucket S3 bucket.

应用堆栈导致创建失败: 无法在现有存储桶上启用对象锁定配置(服务:Amazon S3;状态代码:409;错误代码:InvalidBucketState;请求 ID:0AF2GTWV4W9P4X1C;S3

应用堆栈之前该存储桶不存在。 有什么想法吗?

最佳答案

在 AWS 支持人员的帮助下,我找到了解决方案。
我会写在这里,因为我认为,它很直观。
您需要两次移交“ObjectLockEnabled”。

   ObjectLockEnabled: true
   ObjectLockConfiguration:
     ObjectLockEnabled: "Enabled"
     Rule:
       DefaultRetention:
       Mode: "GOVERNANCE"
       Days: 2

ChatGPT 帮助我找到了 CLI 的解决方案:

aws s3api create-bucket --bucket zentrada-dev-testbucket \ 
 --region eu-central-1 \ 
 --create-bucket-configuration \ 
 LocationConstraint=eu-central-1 --object-lock-enabled-for-bucket 

aws s3api put-object-lock-configuration \ 
 --bucket zentrada--dev-testbucket --object-lock-configuration \ 
'{"ObjectLockEnabled":"Enabled","Rule":{"DefaultRetention":{"Mode":"GOVERNANCE","Days":1}}}'

关于amazon-s3 - 已解决 : S3 Object Lock with Cloudformation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76193501/

相关文章:

python-3.x - 如何使用 Boto3 创建预签名 URL 以从 S3 存储桶下载文件?

python - 如何使用 Lambda 将 AWS CodeCommit 推送到 S3?

amazon-web-services - 将 Cloudformation 中 Elastic Beanstalk 中的应用程序负载均衡器的 HTTP 重定向到 HTTPS

python-3.x - 警告 - 部署后未设置 cfnRole 且创建了不必要的文件

amazon-web-services - 创建向 SNS 主题发送通知的 S3 存储桶

java - S3-读取: process file in secure manner

mysql - Amazon Data Pipeline "Load S3 Data to RDS MySQL"查询格式?

amazon-s3 - 如何从 Trino 读取 S3 中的数据分区

amazon-s3 - 无法将通知配置添加到 s3 存储桶

amazon-web-services - 如何在 cdk 堆栈之间传递变量而不会出现交叉引用错误?