You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CloudFormation语法移除ARN末尾的通配符部分?

如何移除CloudFormation日志组ARN末尾的:*部分?

嘿,很高兴看到你已经找到了解决方案!我把这个方法梳理得更清楚些,方便其他碰到同样问题的小伙伴参考:

当我们通过Fn::GetAtt: [LogsGroup, Arn]获取日志组ARN时,返回的结果会自带末尾的:*通配符,比如:

arn:aws:logs:us-east-1:123456789012:log-group:/log-group-1234:*

而我们需要的是不带这个通配符的纯净ARN,最精准的做法就是用Fn::Split配合Fn::Select来实现:

Fn::Select:
  - '0'
  - Fn::Split:
      - ":*"
      - Fn::GetAtt: [LogsGroup, Arn]

简单解释下逻辑:

  1. Fn::Split: [":*", ...]:把返回的ARN字符串以:*为分隔符拆分成两个部分,拆分后第一部分就是我们需要的不带通配符的ARN,第二部分是空字符串;
  2. Fn::Select: ['0', ...]:选择拆分后的第一个片段(索引从0开始),直接得到目标ARN。

对比你之前尝试用:拆分再选第8个片段的方法,这个方案更可靠——毕竟如果日志组名称里包含冒号的话,按冒号拆分的索引就会乱掉,而用:*作为分隔符是精准定位到要移除的末尾部分,不会受日志组名称结构影响。

内容的提问来源于stack exchange,提问作者Bill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:45:24