在我的应用程序中,我需要将消息发送到给定的主题名称.该主题已由其他人创建,在配置文件中,它们仅提供主题名称.我的工作是推送给定主题名称中的消息.有没有办法在java中通过主题NAME获取主题ARN?
我已经完成了以下两种方式之一.ARN始终是相同的模式.所以,你可以订阅"arn:aws:sns :::"其中:
region来自Regions.getCurrentRegion().请注意这一点,因为它有点贵,而且您需要处理不在EC2/Elastic Beanstalk实例上.
帐户来自AmazonIdentityManagementClient.getUser().getUser().getArn().您必须从中解析帐号.关于不在EC2环境中的相同警告.
名字就是你拥有的.
一种更简单的方法是遍历主题并在ARN中查找所需的名称.您将使用AmazonSNSClient listTopics方法执行此操作.请记住,该方法仅返回前100个主题 - 您需要正确遍历整个主题列表.