始める無料で始める

トピックごとに異なるプロトコルを使う

Sam はすでに「critical」と「extreme」のトピックを作成したので、連絡先リストのスタッフをこれらのトピックに購読させる必要があります。

Sam は、'critical' トピックに購読した人にはメールのみを送ることにしました。いっぽう、'extreme' トピックに購読した人には緊急性が高いため SMS を送ります。

sns 変数には、boto3 の SNS クライアントが作成済みです。

部署に応じて、contacts DataFrame にいるユーザーをメールまたは SMS 通知に購読させるよう、Sam を手伝ってください。 これにより、適切なアラートが適切な人に届き、サンディエゴ市の業務がより迅速かつ円滑に回るようになります。

この演習はコースの一部です

Python で始める AWS Boto 入門

コースを見る

演習の手順

  • contacts DataFrame の 'Department' フィールドを使ってトピック名を取得します。
  • そのトピック名を使い、ユーザーの部署向けに criticalextreme の 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']))
コードを編集して実行