Логический идентификатор целевой группы AWS из ARN для задания измерения целевой группы в метрике cloudwatch CDK

#java #aws-cdk

#java #aws-cdk

Вопрос:

Согласно документации cloudwatch metrics [1] ApplicationELB, «измерение» целевой группы должно быть в формате:

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

Как мы можем получить конечную часть ARN целевой группы во время кода, поскольку логический идентификатор будет разрешен во время развертывания?

АРН в моем распоряжении, но мне не удалось получить последнюю порцию. Что я пробовал:

  1. stack.parseArn(…) не будет иметь логической идентификационной части.
  2. Получение логического идентификатора из конструкции IApplicationTargetGroup представляется невозможным.
  3. Fn.split(…, ‘:’), к сожалению, не разделяет arn.. (Это ошибка?).

Есть идеи о том, как разрешить targetgroup/[resourcename]/[logicalid] из ARN во время кода? Или создайте эту строку из вызовов метода ‘deploy time’.

Спасибо

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

Ответ №1:

Я не знаю, точно ли это соответствует вашему варианту использования. Вы можете использовать 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.Строка-java.lang.Строка —