【问题标题】:AWS CDK Error: bucket policy already exists on bucketAWS CDK 错误:存储桶上已存在存储桶策略
【发布时间】:2020-07-18 19:33:05
【问题描述】:

我正在尝试在 java 中使用 CDK 创建一个 lambda 和一个 DynamoDB。当我尝试执行“CDK Deploy”时,我遇到以下错误:

11:20:30 AM | CREATE_FAILED        | AWS::S3::BucketPolicy | StagingBucketPolicy
The bucket policy already exists on bucket xyz-cdk-toolkit-stagingbucket-1hpv60vcdqk7s.

CDK Version: 1.48.0

【问题讨论】:

  • 您已经尝试过销毁堆栈并进行干净部署?

标签: amazon-web-services aws-lambda aws-cdk


【解决方案1】:

此错误直接来自 CloudFormation,正如它所说,您要向其中添加策略的存储桶已经有一个现有的。 CloudFormation不允许替换/修改在其控制之外创建的存储桶策略。

这是一项安全措施,可防止您意外更改现有政策。

如果您想使用 CDK(或 CloudFormation)控制存储桶策略,您必须在 CDK 中重新创建,删除原来的,然后使用 CDK 创建。

【讨论】:

【解决方案2】:

正如我在回复@Marcin 的回复时在上面的评论中提到的,this 博客帮助我解决了这个问题。以下是我遵循的步骤:

  1. 将云形成 yaml sn-p 复制到博客中提供的名为 s3-bucket.yml 的文件中。
  2. 使用 aws cli 命令首先创建此存储桶: aws cloudformation deploy --template-file resources/s3-bucket.yml --stack-name my-bucket-stack1
  3. 触发了这个 CDK 命令来部署我的堆栈:cdk deploy --toolkit-stack-name my-bucket-stack1

这些步骤创建了我的堆栈。

【讨论】:

    猜你喜欢
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-14
    • 2021-01-19
    • 2015-03-14
    • 2020-11-05
    相关资源
    最近更新 更多