批量删除订阅
如今 Sam 的通知系统日趋成熟,她发现自己发送的提醒类型并不适合短信。
如果用户能立刻响应,SMS 提醒很有用;但"我们落后 500 个坑洞修补"并不是市议员能马上解决的事。
她决定从 streets_critical 主题中移除所有 SMS 订阅者,但保留所有电子邮件订阅。
她已将 boto3 的 SNS 客户端创建在变量 sns 中,streets_critical 主题的 ARN 存在变量 str_critical_arn 中。
在本练习中,您将帮助 Sam 移除所有 SMS 订阅者,把它改造成仅通过电子邮件提醒的系统。
本练习是课程的一部分
Python 中的 AWS Boto 入门
练习说明
- 列出
'streets_critical'主题的订阅。 - 遍历每个订阅,若协议为
'sms',则退订。 - 用一行代码再次列出
'streets_critical'主题的订阅。 - 打印这些订阅
交互式实操练习
通过完成这段示例代码来试试这个练习。
# List subscriptions for streets_critical topic.
response = sns.____(
____ = str_critical_arn)
# For each subscription, if the protocol is SMS, unsubscribe
for sub in response['____']:
if sub['Protocol'] == 'sms':
sns.____(____=sub['SubscriptionArn'])
# List subscriptions for streets_critical topic in one line
subs = sns.list_subscriptions_by_topic(
____=str_critical_arn)['____']
# Print the subscriptions
print(subs)