โปรโตคอลที่แตกต่างกันตามระดับ topic
หลังจากที่ Sam สร้าง topic ระดับ critical และ extreme แล้ว ขั้นตอนต่อไปคือการสมัคร (subscribe) เจ้าหน้าที่จากรายชื่อติดต่อเข้ากับ topic เหล่านั้น
Sam ตัดสินใจว่าผู้ที่สมัครรับ topic 'critical' จะรับการแจ้งเตือนทางอีเมลเท่านั้น ส่วนผู้ที่สมัครรับ topic 'extreme' จะรับทาง SMS เนื่องจากเป็นเรื่องเร่งด่วนมาก
Sam ได้สร้าง SNS client ของ boto3 ไว้ในตัวแปร sns แล้ว
ช่วย Sam สมัครให้ผู้ใช้ใน DataFrame contacts รับการแจ้งเตือนทางอีเมลหรือ SMS ตามแผนกที่สังกัด เพื่อให้การแจ้งเตือนถูกส่งไปยังคนที่เหมาะสม และช่วยให้เมือง San Diego ดำเนินงานได้รวดเร็วและมีประสิทธิภาพยิ่งขึ้น
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับ AWS Boto
คำแนะนำการฝึกหัด
- ดึงชื่อ topic โดยใช้ฟิลด์
'Department'ใน DataFramecontacts - ใช้ชื่อ topic เพื่อสร้าง TopicArn ระดับ
criticalและextremeสำหรับแผนกของผู้ใช้แต่ละคน - สมัครที่อยู่อีเมลของผู้ใช้เข้ากับ critical topic
- สมัครหมายเลขโทรศัพท์ของผู้ใช้เข้ากับ extreme topic
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
for index, user_row in contacts.iterrows():
# Get topic names for the users's dept
critical_tname = '{}_critical'.____(user_row['Department'])
extreme_tname = '{}_extreme'.format(user_row['Department'])
# Get or create the TopicArns for a user's department.
critical_arn = sns.create_topic(____=critical_tname)['TopicArn']
extreme_arn = sns.____(Name=extreme_tname)['____']
# Subscribe each users email to the critical Topic
sns.____(____ = critical_arn,
____='email', ____=user_row['Email'])
# Subscribe each users phone number for the extreme Topic
sns.____(____ = extreme_arn,
____='sms', ____=str(user_row['Phone']))