使用CloudFormation,我想在现有的存储桶中设置AWS :: S3 :: Bucket中的一些属性。 换句话说,我不想创build桶,我只是想强制执行一些设置。 这里是我的云形成JSON的一个例子:
"websitePreviewBucket": { "Type": "AWS::S3::Bucket", "Properties": { "AccessControl": "PublicRead", "VersioningConfiguration": { "Status": "Suspended" }, "BucketName": "preview.website.com", "WebsiteConfiguration": { "IndexDocument": "index.html", "ErrorDocument": "error.html" } } },
毫不奇怪,这在云端控制台中失败了:
The following resource(s) failed to create: [websitePreviewBucket]. preview.website.com already exists
我已经创build了bucket preview.website.com。 我的意思是,这个账户“拥有”那个桶。 我如何使用WebsiteConfiguration在现有存储桶上设置AccessControl和WebsiteConfiguration类的东西?
我看到另外一个问题提出类似的问题 ,但是没有合适的答案。
我相信你错误地使用CloudFormation来修改你的AWS基础架构。 CloudFormation的目标是以模板化的方式创buildAWS基础架构。 它已经扩展到允许对其创build的资源进行一些pipe理,但是pipe理现有的基础设施不是它的目标。 从欢迎页面 :
AWS CloudFormation使您能够预测并重复地创build和部署AWS基础架构部署。
我相信最接近你将能够使用AWS :: S3 :: BucketPolicy在现有存储桶上设置存储桶策略。 除此之外,您可以使用AWS CLI S3 API来修改您的存储桶: