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

Python AWS CDK中如何获取CfnTopic的Topic ARN属性

Python AWS CDK中通过CfnTopic获取SNS Topic ARN的方法

Cfn开头的低级(L1)构造是CloudFormation资源的直接映射,属性命名规则和高阶(L2)构造不同,你无法直接用topic_arn获取ARN,需要使用L1构造专属的属性名:

  • 针对CfnTopic实例,直接调用attr_topic_arn属性即可获取ARN值,该属性和L2构造的topic_arn一样,都是支持部署时解析的令牌(Token),可直接传入其他资源的属性中使用。

修正后的示例代码如下:

from aws_cdk.aws_sns import CfnTopic, Topic
from constructs import Construct

class TopicConstruct(Construct):
    def __init__(self, scope: Construct, id: str):
        topic = CfnTopic(self, id="Topic")
        # 正确获取CfnTopic的ARN
        topic_arn = topic.attr_topic_arn
        
        topic_construct = Topic(self, id="OtherTopic")
        topic_construct_arn = topic_construct.topic_arn

补充规则:所有AWS CDK的L1 Cfn*构造的资源返回属性,都遵循attr_+CloudFormation返回字段蛇形命名的规则,比如CfnBucket的BucketName返回值对应attr_bucket_name,可以对照CloudFormation对应资源的返回值文档查询。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:36:05