Amazon s3 S3创建云信息导致400个错误请求

Amazon s3 S3创建云信息导致400个错误请求,amazon-s3,amazon-cloudformation,Amazon S3,Amazon Cloudformation,我在使用CloudFormation创建S3 bucket时遇到了这个问题。我收到了一个错误的请求。如果有人能帮忙,我将不胜感激 aws cloudformation部署--概要文件开发--堆栈名称testBucket--模板文件create_bucket.yml--区域us-east-1--能力能力_IAM能力_命名_IAM--参数覆盖BucketName=myBucket 模板: AWST模板格式版本:2010-09-09 参数: BucketName: 描述:为每个表配置的读取吞吐量 类型

我在使用CloudFormation创建S3 bucket时遇到了这个问题。我收到了一个错误的请求。如果有人能帮忙,我将不胜感激

aws cloudformation部署--概要文件开发--堆栈名称testBucket--模板文件create_bucket.yml--区域us-east-1--能力能力_IAM能力_命名_IAM--参数覆盖BucketName=myBucket

模板:

AWST模板格式版本:2010-09-09
参数:
BucketName:
描述:为每个表配置的读取吞吐量
类型:字符串
资源:
我的桶:
类型:AWS::S3::Bucket
特性:
BucketName:${BucketName}
MYBUCKETPOLICY:
类型:AWS::S3::BucketPolicy
特性:
桶:!参考MYBUCKET
政策文件:
Id:ReportPolicy
版本:“2012-10-17”
声明:
-Sid:ReportBucketPolicyDoc
效果:允许
行动:“s3:*”
负责人:
AWS:!加入[“”,[“arn:aws:iam::”,!Ref“aws::AccountId”,“:root”]]
资源:!加入['',['arn:aws:s3::',!Ref MYBUCKET,'/*']
错误

错误请求(服务:Amazon S3;状态代码:400;错误代码:400错误) 请求;请求ID:B4AEAA3C454B7868;S3扩展请求ID: ATFscTA4dQw8J8AYUfkIARYhiT4/BPVWRCD17WNR75UZM+I5DLHOTC2CHCB9DRKO16DZYIELJZC=)


您应该使用
!参考BucketName
而不是
${BucketName}

MYBUCKET:
类型:AWS::S3::Bucket
特性:
BucketName:!参考BucketName

您没有正确引用
BucketName
参数:

MYBUCKET:
  Type: AWS::S3::Bucket
    Properties:
    BucketName: !Sub ${BucketName}  # Or !Ref BucketName

以下线程适用于在删除另一个区域中的存储桶后,试图更改S3存储桶区域的任何人

实际上,在一个区域中删除一个bucket和在所有其他区域中使用该名称之间存在延迟。因此,如果您在
ap-southerast-2
中删除了一个bucket,然后尝试创建一个同名的bucket,即
us-east-1
,您应该会收到此类错误


你是怎么得到这个的?我的意思是,有没有办法获得有关此类错误的信息,例如cloudtrail或类似的smthg?这个答案帮助我找到了我的一个错误,在
Fn::Sub:${BucketName}”
中缺少美元符号,导致
Fn::Sub:“{BucketName}”
和类似的400错误。遗憾的是,即使是cfn lint工具也只将此报告为警告。这是错误的,BucketName是一个变量,应该与一起使用!Sub${BucketName}@Baris这没有错。您可以通过以下任一方式访问参数:
!参考BucketName
!Sub“${BucketName}”
Fn::Ref:BucketName
Fn::Sub“${BucketName}”
,以及其他取决于您希望内部函数和引号的详细程度……您是救命恩人,谢谢!亚马逊真的需要改进他们关于这个错误的信息。