トピックごとに異なるプロトコルを使う
Sam はすでに「critical」と「extreme」のトピックを作成したので、連絡先リストのスタッフをこれらのトピックに購読させる必要があります。
Sam は、'critical' トピックに購読した人にはメールのみを送ることにしました。いっぽう、'extreme' トピックに購読した人には緊急性が高いため SMS を送ります。
sns 変数には、boto3 の SNS クライアントが作成済みです。
部署に応じて、contacts DataFrame にいるユーザーをメールまたは SMS 通知に購読させるよう、Sam を手伝ってください。
これにより、適切なアラートが適切な人に届き、サンディエゴ市の業務がより迅速かつ円滑に回るようになります。
この演習はコースの一部です
Python で始める AWS Boto 入門
演習の手順
contactsDataFrame の'Department'フィールドを使ってトピック名を取得します。- そのトピック名を使い、ユーザーの部署向けに
criticalとextremeの TopicArn を作成します。 - クリティカルなトピックにユーザーのメールアドレスを購読させます。
- エクストリームなトピックにユーザーの電話番号を購読させます。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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']))