gpt4 book ai didi

amazon-web-services - Cloudformation 从参数中删除破折号

转载 作者:行者123 更新时间:2023-12-05 08:52:31 24 4
gpt4 key购买 nike

我正在尝试使用根堆栈运行嵌套堆栈,该堆栈创建多个资源,包括 S3 存储桶和 Cognito 用户池。问题是:

  • S3 存储桶名称不允许使用大写字母。
  • Cognito 身份池名称不允许使用破折号 -

我想使用相同/相似的名称 ${AWS::StackName}-then-some-string 命名我的资源,以便将它们识别为一个应用程序的一部分。

有没有办法从cloudformation内的参数中删除破折号?我知道我可以使用 Fn::Split- 分割字符串,然后使用 Fn::Select 选择特定元素,然后 Fn::Join 但这仅适用于具有一定数量的破折号 - 的堆栈名称。

我在任何地方都找不到任何关于如何使用某种函数或正则表达式将 - 更改为空字符串或其他内容的资源。

最佳答案

您就快到了 - 使用 Fn::SplitFn::Join,无需选择。

SomeKey:
Fn::Join:
- ''
- Fn::Split:
- '-'
- !Ref YourParam

Split 返回一个数组。 Join 接受一个连接字符串和一个要连接的项目数组。因此,只需在连字符/破折号上拆分,然后用空字符串将各个部分重新连接在一起,从而消除连字符。

关于amazon-web-services - Cloudformation 从参数中删除破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56670535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com