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

如何通过AWS SDK从ARN字符串提取资源标识符(Ruby实现)

如何用Ruby提取AWS ARN中的资源路径部分?

你要提取的是ARN最后一个冒号之后的资源路径部分,用Ruby可以直接通过字符串操作或正则表达式实现,完全不需要依赖AWS SDK,下面是两种实用方法:

方法一:字符串分割(最简单高效)

AWS ARN的结构固定为arn:aws:<service>:<region>:<account-id>:<resource-path>,直接按冒号分割后取最后一个元素即可:

# 你的ARN列表
arns = [
  "arn:aws:elasticloadbalancing:us-east-1:1234567890:app/cmy-app/b473fda15a743462",
  "arn:aws:elasticloadbalancing:us-east-1:1234567890:targetgroup/my-app/1234567890"
]

# 提取资源路径
resource_paths = arns.map { |arn| arn.split(':').last }

# 输出结果
puts resource_paths.inspect
# => ["app/cmy-app/b473fda15a743462", "targetgroup/my-app/1234567890"]

方法二:正则表达式(更严谨,适配特殊场景)

如果担心ARN格式有特殊情况(不过AWS ARN的资源路径部分不会包含冒号),可以用正则匹配最后一个冒号之后的所有内容:

resource_paths = arns.map do |arn|
  match_result = arn.match(/:(?<resource>.+)$/)
  match_result[:resource] if match_result
end

puts resource_paths.inspect
# => ["app/cmy-app/b473fda15a743462", "targetgroup/my-app/1234567890"]

至于AWS SDK,确实没有专门提供解析ARN资源路径的方法——因为这个逻辑太简单,直接用Ruby原生字符串操作就足够解决问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:00:59