amazon-web-services - CloudFormation:是否可以 Fn::Join CommaDelimitedList 和字符串?

标签 amazon-web-services aws-cloudformation

我目前很难正确地表达此陈述。我一直在尝试许多变体,并且很困惑为什么在部署时,由于此语句而出现错误(如果我没有此行,则部署成功)

假设我有一个名为 Fruits 的 CommaDelimitedList 和一个名为 Banana 的字符串

我的 Cloudformation 目前有这一行:

   "aws:PrincipalArn":{
   "Fn::Join":[",",[{"Ref":"Fruits"},"Ref":"Banana"}]]
   }

我也尝试了此代码的多种变体。我尝试在 Fruits 上执行内部 Fn::Join 使其成为字符串。我还尝试将“Banana”的类型更改为 CommaDelimitedList。

总而言之,我现在迷失了方向。有谁知道执行此操作的正确语法或任何想法?

最佳答案

由于有两个不同的元素具有两种不同的数据类型,因此您应该分两步进行:

  • 在 Fruits 列表上执行 !Join 以获取逗号分隔的字符串。
  • 用“,”将两个字符串连接在一起

示例:

"aws:PrincipalArn":{
    "Fn::Join":  [ "," , [ "Fn::Join":[",",[{"Ref":"Fruits"}] ], {"Ref":"Banana"}]]
    }

关于amazon-web-services - CloudFormation:是否可以 Fn::Join CommaDelimitedList 和字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70838686/

相关文章:

database - Dynamo DB 中的多个属性作为哈希键

java - AWS mysql 多查询语法错误

amazon-web-services - 云形成: Environment failed to launch as it entered Terminated state

amazon-web-services - AWS WaitCondition 等待配置

amazon-web-services - 在 AWS ECS : HardLimit cannot be empty 中设置 ulimit

linux - 如何管理具有不同计划的多个 AWS 账户的修补

node.js - DynamoDB 应用程序架构

javascript - 文件名未用作 AWS S3 名称

amazon-web-services - AWS IoT 策略仍然允许其他主题通过 mqtt 访问

amazon-web-services - CloudFormation - 是否可以为通用且重用的资源定义定义映射?