首页 > 解决方案 > 来自 ARN 的 AWS 目标组逻辑 ID,用于在 cloudwatch CDK 指标中设置 TargetGroup 维度

问题描述

根据 ApplicationELB 的 cloudwatch 指标文档 [1],TargetGroup 的“维度”应采用以下格式:

Specify the target group as follows: targetgroup/target-group-name/1234567890123456 (the final portion of the target group ARN).

我们如何在代码时间内获得 ARN 的目标组最后部分,因为逻辑 id 将在部署时间得到解决?

ARN 可供我使用,但我没有设法获得最后一部分。我试过的:

  1. stack.parseArn(...) 将没有逻辑 id 部分。

  2. 从 Construct IApplicationTargetGroup 获取逻辑 id 似乎是不可能的。

  3. 不幸的是,Fn.split(..., ':') 没有拆分 arn .. (这是一个错误吗?)。

关于如何在代码时间内从 ARN 解析 targetgroup/[resourcename]/[logicalid] 的任何想法?或者从“部署时间”方法调用构造这个字符串。

谢谢你

[1] https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html

标签: javaaws-cdk

解决方案


我不知道这是否准确地回答了您的用例。您可以使用GetAtt内部函数从资源中获取TargetGroupFullName属性。

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-targetgroup.html#aws-resource-elasticloadbalancingv2-targetgroup-return-values

我认为从您的问题来看,您正在使用 Java CDK?如果是这样,这可能是您正在寻找的家伙 - https://docs.aws.amazon.com/cdk/api/latest/java/software/amazon/awscdk/core/Fn.html#getAtt-java.lang .String-java.lang.String-


推荐阅读