有人可以告诉我如何在java中使用AmazonSNSClient从SNS获取确切的主题吗?
我想在下面的PutMetricAlarmRequest
中使用它.withAlarmActions(awsClient.getAmazonSNSClient(). ?)
答案 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中为您的用户设置了相应的权限。