เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การลบหลาย 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)
แก้ไขและรันโค้ด