【问题标题】:How to get Subscription ARN from Amazon SNS in order to unsubscribe from it如何从 Amazon SNS 获取订阅 ARN 以取消订阅
【发布时间】:2016-07-23 21:46:35
【问题描述】:

我正在使用 Amazon SNS 和 Cognito 订阅和取消订阅某些设备的主题。

*请注意,可能有类似的主题,但亚马逊不再使用该类。

到目前为止,一切都很好......

但为了从主题中取消订阅设备,我需要传递我无法在应用程序中确定的订阅 ARN。

订阅 ARN 由主题 ARN(我知道)和 Amazon 生成的字母数字字符串(我不知道)组成。

这段代码:

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,它可以正常工作,但在应用程序中我无法查询或生成该字段。

我想有一个四处走走,但到目前为止我无法获得任何成功的方法。我应该如何着手完成这项工作?

非常感谢大家。

【问题讨论】:

标签: ios objective-c amazon-web-services amazon-sns


【解决方案1】:

主题 ARN 调用 [sns listSubscriptionsByTopic: input]。响应将包含该主题的所有订阅列表,包括订阅 ARN。您必须使用响应中的owner 属性来查找要传递给unsubscribe 的特定订阅。

【讨论】:

  • 如果您认为某些主题可能有大量订阅者,看起来会很贵吗?
【解决方案2】:

我终于得到了一些东西:

“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

【讨论】:

    猜你喜欢
    • 2018-03-25
    • 1970-01-01
    • 2022-01-19
    • 2012-03-14
    • 2015-09-26
    • 2015-08-24
    • 2019-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多