여러 구독 삭제하기
Sam의 알림 시스템이 점차 자리를 잡으면서, 보내는 경보 유형이 문자 메시지에는 적합하지 않다는 점을 알게 되었어요.
SMS 알림은 사용자가 바로 반응할 수 있을 때는 좋지만, "포트홀이 500건 밀려 있습니다" 같은 메시지는 시의원이 당장 해결할 수 있는 일이 아니죠.
그래서 Sam은 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)