按主题级别使用不同协议
现在 Sam 已经创建了 critical 和 extreme 两个主题,她需要把通讯录中的工作人员订阅到这些主题中。
Sam 决定,订阅到 'critical' 主题的人只接收电子邮件。另一方面,订阅到 'extreme' 主题的人将接收短信(SMS)——因为这些通知非常紧急。
她已经在变量 sns 中创建了 boto3 的 SNS 客户端。
请帮助 Sam 根据部门,将 contacts DataFrame 中的用户订阅到电子邮件或短信通知。
这将把合适的警报发送给合适的人,让圣迭戈市运转得更好、更高效!
本练习是课程的一部分
Python 中的 AWS Boto 入门
练习说明
- 使用
contactsDataFrame 中的'Department'字段获取主题名称。 - 使用该主题名称为用户所在部门构建
critical和extreme的 TopicArn。 - 将用户的电子邮箱订阅到 critical 主题。
- 将用户的电话号码订阅到 extreme 主题。
交互式实操练习
通过完成这段示例代码来试试这个练习。
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']))