การลบหลาย subscription พร้อมกัน
ตอนนี้ Sam มีระบบการแจ้งเตือนที่พัฒนาขึ้นมาก แต่เธอก็เริ่มพบว่าการแจ้งเตือนบางประเภทไม่เหมาะกับการส่งข้อความ SMS
การแจ้งเตือนทาง SMS เหมาะสำหรับกรณีที่ผู้ใช้สามารถตอบสนองได้ทันที แต่ข้อความอย่าง "เรามีหลุมบ่อค้างอยู่อีก 500 จุด" ไม่ใช่สิ่งที่สมาชิกสภาจะลุกขึ้นมาแก้ไขได้ในทันที
เธอจึงตัดสินใจลบ subscriber ทาง SMS ทั้งหมดออกจาก topic streets_critical แต่คงการแจ้งเตือนทางอีเมลไว้
เธอสร้าง SNS client ของ boto3 ไว้ในตัวแปร sns และ topic ARN ของ streets_critical อยู่ในตัวแปร str_critical_arn
ในแบบฝึกหัดนี้ ให้ช่วย Sam ลบ subscriber ทาง SMS ทั้งหมด เพื่อให้ระบบแจ้งเตือนนี้ใช้อีเมลเพียงอย่างเดียว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับ AWS Boto
คำแนะนำการฝึกหัด
- ดูรายการ subscription ของ topic
'streets_critical' - สำหรับแต่ละ subscription ถ้า protocol เป็น
'sms'ให้ยกเลิก subscription นั้น - ดูรายการ subscription ของ topic
'streets_critical'ในบรรทัดเดียว - แสดงผล subscription
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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)