我正在使用Amazon SNS和Cognito来订阅和取消订阅某些设备的主题。
*请注意,可能存在类似的主题,但亚马逊不再使用该条款。
到目前为止,非常好......
但是为了从主题中取消订阅设备,我需要传递我无法在应用程序中找到的订阅ARN。
订阅ARN由主题ARN(我知道)和亚马逊生成的字母数字字符串(我不知道)制作。
此代码:
AWSSNSUnsubscribeInput *input = [[AWSSNSUnsubscribeInput alloc] init];
input.subscriptionArn = @"arn:aws:sns:XXXXXXXX-YYYYYYYYYYYYYYYYYYYY-ZZZZZZZZZZZZZ";
NSLog(@"Input subscription: %@", input.subscriptionArn);
[sns unsubscribe: input completionHandler:^(NSError * _Nullable error) {
if (error) {
NSLog(@"Error occurred: [%ld]", error.code);
}
else {
NSLog(@"Success");
}
}];
如果我从AWS控制台获得订阅ARN,它可以正常工作,但在App中我无法查询或生成该字段。
我想有一个随处可见,但到目前为止我无法获得任何成功的方法。我该如何着手完成这项工作?
非常感谢你。
答案 0 :(得分:1)
主题ARN呼叫[sns listSubscriptionsByTopic: input]
。响应将包含该主题的所有订阅的列表,包括订阅ARN。您必须在响应中使用owner
属性才能找到要传递给unsubscribe
的特定订阅。
答案 1 :(得分:0)
我最终带来的东西:
" ListSubscriptions"或" ListSubscriptionsByTopic" API操作应该返回订阅ARN:
http://docs.aws.amazon.com/sns/latest/api/API_ListSubscriptions.html http://docs.aws.amazon.com/sns/latest/api/API_ListSubscriptionsByTopic.html