我正在使用AWS SNS服务将警报消息发送到用户手机。但是,用户取消订阅该主题仍然可以从该主题获取消息。停止让消息用户发送消息STOP .Following code snippet for creating and订阅主题。
CreateTopicRequest createTopicRequest = new CreateTopicRequest(topicName);
CreateTopicResult createTopicResult = snsClient.createTopic(createTopicRequest);
//Topic display name
SetTopicAttributesRequest setTopicAttributesRequest = new SetTopicAttributesRequest();
setTopicAttributesRequest.withTopicArn(createTopicResult.getTopicArn());
setTopicAttributesRequest.setAttributeName(topicAttributeName);
setTopicAttributesRequest.setAttributeValue(topicAttributeValue);
snsClient.setTopicAttributes(setTopicAttributesRequest);
SubscribeRequest subRequest = new SubscribeRequest(createTopicResult.getTopicArn(), "sms","12712438216");
snsClient.subscribe(subRequest);
答案 0 :(得分:0)
这个怎么样?
执行unsubscribe()函数。
ListSubscriptionsResult listResult = snsClient.listSubscriptions();
List<Subscription> subscriptions = listResult.getSubscriptions();
String arn="";
for (Subscription subs : subscriptions) {
if(subs.getProtocol().equals("sms") && subs.getEndpoint().equals("12712438216")) {
arn = subs.getTopicArn();
break;
}
}
if(!arn.equals("")) {
snsClient.unsubscribe(arn);
}
答案 1 :(得分:0)
问这个问题时,这是AWS SNS的错误。