【发布时间】:2015-12-28 18:49:16
【问题描述】:
有人可以告诉我如何在 java 中使用 AmazonSNSClient 从 SNS 获取确切的主题 arn 吗?
我想在下面的 PutMetricAlarmRequest 中使用它
.withAlarmActions(awsClient.getAmazonSNSClient(). ?)
【问题讨论】:
标签: java amazon-web-services amazon-sns
有人可以告诉我如何在 java 中使用 AmazonSNSClient 从 SNS 获取确切的主题 arn 吗?
我想在下面的 PutMetricAlarmRequest 中使用它
.withAlarmActions(awsClient.getAmazonSNSClient(). ?)
【问题讨论】:
标签: java amazon-web-services amazon-sns
您可以使用以下代码获取所有 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 中为您的用户设置了适当的权限。
【讨论】: