Usuwanie wielu subskrypcji
Sam rozbudowuje swój system powiadomień i zaczyna dostrzegać, że niektóre rodzaje alertów nie są dobrze dopasowane do SMS-ów.
Powiadomienia SMS sprawdzają się, gdy użytkownik może natychmiast zareagować – ale wiadomość „Mamy 500 dziur w jezdni do załatania" to nie coś, na co radny miejski może od razu odpowiedzieć.
Sam postanawia usunąć wszystkich subskrybentów SMS z tematu streets_critical i zostawić wyłącznie subskrypcje e-mail.
Klient SNS z biblioteki boto3 jest dostępny w zmiennej sns, a ARN tematu streets_critical – w zmiennej str_critical_arn.
W tym ćwiczeniu pomożesz Sam usunąć wszystkich subskrybentów SMS i przekształcić system alertów w system oparty wyłącznie na e-mailach.
To ćwiczenie jest częścią kursu
Wprowadzenie do AWS Boto w Pythonie
Instrukcje do ćwiczenia
- Wylistuj subskrypcje dla tematu
'streets_critical'. - Dla każdej subskrypcji – jeśli protokół to
'sms'– anuluj subskrypcję. - Wylistuj subskrypcje dla tematu
'streets_critical'w jednej linii. - Wyświetl subskrypcje.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)