如何为使用云形成创建的 SNS 主题获取 ARN?

How to get ARN for SNS Topic created using cloud formation?

我已经创建了像这样使用云形成的 SNS -

  MYSNS:
    Type: AWS::SNS::Topic
    Properties:
      DisplayName: "MYSNS"
      TopicName: "MYSNS"

现在,我想使用 Java 向该主题发布消息,但是

snsClient.publish(snsARN, snsEvent);

sns 客户端需要 ARN 来发布事件。如何获取 SNS 主题 ARN?

编辑 1:Post 部署我们可以获得 ARN,但不希望这样。

Ex - 我们可以像这样使用 SQS 客户端通过其名称获取 SQS url - sqsClient.getQueueUrl(dlqName).getQueueUrl(); 我正在寻找 SNS 的类似方法。

您可以自己构建ARN:

arn:aws:sns:<region>:<account>:MYSNS

您可以在 cloudformation 模板中尝试此操作以获取创建的 SNS 的 ARN

!Ref MYSNS