amazon-web-services - 如何在存储桶名称中使用变量 AWS Cloudformation

标签 amazon-web-services amazon-s3 yaml aws-cloudformation

我正在尝试创建一个用于创建 S3 存储桶的 Cloudformation 模板。我想对其进行配置,以便使用传递到模板的参数之一来命名存储桶。我可以在模板中的其他位置替换该参数,但是当我尝试将其子到此处时,存储桶创建失败。

Resources:
  S3Bucket:
    Type: 'AWS::S3::Bucket'
    Properties:
      BucketName: !Sub '${STRING_PARAM}-example-bucketname'

当创建cloudformation堆栈时,这会给出一个错误请求(服务:Amazon S3;状态代码:400;错误代码:400错误请求)。我尝试过以具有以下内容的名称进行硬编码:有效,所以我很确定这是一个有效的 S3 存储桶名称。

S3 Creation CloudFormation results in 400 Bad Request直接引用(!Ref而不是!Sub)到参数/资源是可行的,但我想我应该能够像其他地方一样在这里子参数。

最佳答案

您的 BucketName 值很好。这是使用 !Sub 的正确语法,应该可以工作。

问题是参数名称必须是字母数字,因此 STRING_PARAM 无效,因为其中包含下划线字符。

将您的参数名称更新为 StringParam 之类的内容,这样您就可以跳过Parameter name STRING_PARAM is non alphanumeric. 错误消息。

关于amazon-web-services - 如何在存储桶名称中使用变量 AWS Cloudformation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60819770/

相关文章:

ruby-on-rails - 如何通过yaml将 secret 数据设置为kubernetes secret ?

amazon-web-services - 尝试使用 SQLWorkbench 连接到 Amazon Redshift 时出现操作超时错误

php - Elastic Beanstalk 在启用 ZipArchive 的情况下编译 php

amazon-web-services - 如何使用 golang 从 AWS S3 下载

php - 如何在blade laravel 5.2中显示来自aws s3的图像

php - yaml/symfony2 : Override configurations

javascript - 保证将 AWS Lambda 函数限制在指定预算内

ruby-on-rails - 使用 Rails 应用程序下载 S3 文件

amazon-web-services - 是否可以向第三方提供一个 URL,让他们下载我们存储在 aws 3s 存储桶中的软件

azure - 如何在 Kubernetes Yaml 文件中将 pod 限制取消设置为无限制?