使用java

时间:2015-12-17 11:45:37

标签: java amazon-web-services amazon-sns

有人可以告诉我如何在java中使用AmazonSNSClient从SNS获取确切的主题吗?

我想在下面的PutMetricAlarmRequest

中使用它
.withAlarmActions(awsClient.getAmazonSNSClient(). ?)

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码获取所有SNS主题的列表。您可以调用Topic::getTopicArn()将ARN作为字符串。

    AmazonSNSClient snsClient = new AmazonSNSClient(new DefaultAWSCredentialsProviderChain());
    snsClient.setRegion(Region.getRegion(Regions.US_WEST_2));

    List<Topic> topicArns = new ArrayList<>();

    ListTopicsResult result = snsClient.listTopics();
    topicArns.addAll(result.getTopics());

    while (result.getNextToken() != null) {
        result = snsClient.listTopics(result.getNextToken());
        topicArns.addAll(result.getTopics());
    }

    for (Topic topic : topicArns) {
        System.out.println(topic.getTopicArn());
    }

    snsClient.shutdown();

更改凭据提供程序和区域以匹配您的帐户,并确保您在IAM中为您的用户设置了相应的权限。