AWS SNS在删除端点期间从主题取消订阅端点

时间:2015-09-01 05:32:50

标签: amazon-sns

我需要在删除期间取消订阅主题中的端点。 我看到当我删除一个端点时,我仍然在主题订阅中有一个引用(只是删除了端点)。 我该如何删除它? 我看到java中的SnsClient有这个方法

fun getBar(...) -> [Bar]

但我不会在我的数据库中保留订阅号码。有没有办法避免保留这些arns?

1 个答案:

答案 0 :(得分:2)

我尝试通过以下python代码取消订阅端点(使用boto):

def _unsubscribe_from_topic(topic_arn, endpoint):

    conn = connect_to_region('your_region_name','AWS_ACCESS_KEY', 'AWS_SECRET_KEY')

    r = conn.get_all_subscriptions_by_topic(topic_arn)
    for i in r.get('ListSubscriptionsByTopicResponse')\
              .get('ListSubscriptionsByTopicResult')\
              .get('Subscriptions'):
        if i.get('Endpoint') == endpoint:
            subscription = i.get('SubscriptionArn')
            conn.unsubscribe(subscription)
            return True
    return False

参考:http://boto.readthedocs.org/en/latest/ref/sns.html