Amazon web services Can';t从cloudl创建多个S3 bucket

Amazon web services Can';t从cloudl创建多个S3 bucket,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我有一个yaml文件来创建带有CloudFormation的堆栈。但是,当创建一些S3存储桶时,脚本失败,控制台中出现400个错误请求错误。我尝试运行一个脚本,它只执行此操作,但结果相同。这是我正在使用的yaml文件 AWSTemplateFormatVersion: 2010-09-09 Parameters: ArtifactsBucket: Type: String Default: artifacts.bucket Descript

我有一个yaml文件来创建带有CloudFormation的堆栈。但是,当创建一些S3存储桶时,脚本失败,控制台中出现400个错误请求错误。我尝试运行一个脚本,它只执行此操作,但结果相同。这是我正在使用的yaml文件

AWSTemplateFormatVersion: 2010-09-09
Parameters:
    ArtifactsBucket:
        Type: String
        Default: artifacts.bucket
        Description: S3 Bucket Name for CodeBuild Artifacts
    DevBucket:
        Type: String
        Default: dev.bucket
        Description: S3 Bucket Name for Dev environment.
    StagingBucket:
        Type: String
        Default: staging.bucket
        Description: S3 Bucket Name for Staging environment
    ProductionBucket:
        Type: String
        Default: production.bucket
        Description: S3 Bucket Name for Production environment

Resources:

    # S3 Bucket for build artifacts
    BuildArtifactsBucket:
        Type: AWS::S3::Bucket
        Properties:
          AccessControl: Private
          BucketName: !Sub '${ArtifactsBucket}'

    # S3 Bucket for Dev environment
    DevS3Bucket:
        Type: AWS::S3::Bucket
        Properties:
          AccessControl: Private
          BucketName: !Sub '${DevBucket}'

    # S3 Bucket for Staging environment
    StagingS3Bucket:
        Type: AWS::S3::Bucket
        Properties:
          AccessControl: Private
          BucketName: !Sub '${StagingBucket}'

    # S3 Bucket for Production environment
    ProductionS3Bucket:
        Type: AWS::S3::Bucket
        Properties:
          AccessControl: Private
          BucketName: !Sub '${ProductionBucket}'

我真的不明白这是怎么回事,因为如果我只留下一个S3 Bucket资源,它就可以工作了

,这完全有可能是S3控制api遇到了瓶颈

为了避免过多的并行请求,您可以添加
DependsOn
参数来强制按顺序创建存储桶:

AWSTemplateFormatVersion: 2010-09-09
Parameters:
    ArtifactsBucket:
        Type: String
        Default: artifacts.bucket
        Description: S3 Bucket Name for CodeBuild Artifacts
    DevBucket:
        Type: String
        Default: dev.bucket
        Description: S3 Bucket Name for Dev environment.
    StagingBucket:
        Type: String
        Default: staging.bucket
        Description: S3 Bucket Name for Staging environment
    ProductionBucket:
        Type: String
        Default: production.bucket
        Description: S3 Bucket Name for Production environment

Resources:

    # S3 Bucket for build artifacts
    BuildArtifactsBucket:
        Type: AWS::S3::Bucket
        Properties:
          AccessControl: Private
          BucketName: !Sub '${ArtifactsBucket}'

    # S3 Bucket for Dev environment
    DevS3Bucket:
        Type: AWS::S3::Bucket
        Properties:
          AccessControl: Private
          BucketName: !Sub '${DevBucket}'
        DependsOn: "BuildArtifactsBucket"

    # S3 Bucket for Staging environment
    StagingS3Bucket:
        Type: AWS::S3::Bucket
        Properties:
          AccessControl: Private
          BucketName: !Sub '${StagingBucket}'
        DependsOn: "DevS3Bucket"

    # S3 Bucket for Production environment
    ProductionS3Bucket:
        Type: AWS::S3::Bucket
        Properties:
          AccessControl: Private
          BucketName: !Sub '${ProductionBucket}'
        DependsOn: "StagingS3Bucket"
在这里,将按顺序创建所有存储桶。你可以把他们分成几个小组,而不是严格的一次一组;进行实验,看看什么是有效的