【发布时间】:2020-07-04 06:47:15
【问题描述】:
我正在尝试创建用于创建 S3 存储桶的 Cloudformation 模板。我想对其进行配置,以便使用传递给模板的参数之一来命名存储桶。我可以在模板中的其他位置替换参数,但是当我尝试将它分到这里时,存储桶创建失败。
Resources:
S3Bucket:
Type: 'AWS::S3::Bucket'
Properties:
BucketName: !Sub '${STRING_PARAM}-example-bucketname'
这会在创建 cloudformation 堆栈时提供Bad Request (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request。我已经尝试在有效的名称中进行硬编码,所以我很确定它是一个有效的 S3 存储桶名称。
根据S3 Creation CloudFormation results in 400 Bad Request 引用(! Ref 而不是! Sub)到参数/资源直接有效,但我想我应该能够像其他任何地方一样在这里子参数。
【问题讨论】:
-
嗨!请发布完整的模板,以便我们重现错误。另外,您的问题标题是“如何使用通配符存储桶名称”,但您没有在问题中提及通配符?
-
失败怎么办?您确定这是一个有效的存储桶名称吗?
-
@kichik 查看编辑
-
堆栈事件选项卡中是否存在更具描述性的错误?
-
您能否在您的模板中提供
STRING_PARAM定义?
标签: amazon-web-services amazon-s3 yaml amazon-cloudformation