微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获得 ALB 的 ARN

如何解决如何获得 ALB 的 ARN

我尝试在 TypeScript 中通过 CDK 创建一个 alb。但是当执行 'cdk deploy' 时,我遇到了以下代码错误。我如何获得 ALB 的 ARN?

AlbStack Failed: Error [ValidationError]: Template error: resource alb does not support attribute type Arn in Fn::GetAtt
constructor(scope: cdk.Construct,id: string,props?: cdk.StackProps) {
    super(scope,id,props);

    const target_group = new elbv2.CfnTargetGroup(this,'targetgroup',{
    ~
    });
    
    const alb = new elbv2.CfnLoadBalancer(this,'alb',{
    ~
    });

    new elbv2.CfnListener(this,'alblistener80',{
      defaultActions: xxx,loadBalancerArn: cdk.Fn.getAtt(alb.logicalId,'Arn').toString(),// <----- Here
      port: 80,protocol: 'HTTP',});
  }

解决方法

基于 CloudFormation docs{!! $message->message !!} 返回 Arn,而不是 GetAtt。因此,如果您想使用 Ref,您应该使用 CDK 的 ref

Ref 内在函数返回指定参数或资源的值。

因此,您可以尝试:

cdk.Fn

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。