18
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

1.はじめに

どうも、ARIの名古屋支社に勤務している愛知県民こと、
新藏(にいくら)と申します♪
(/・ω・)/

以前、AmazonConnectでNGワードが検知された際にアラートメールを送信する方法
について記事にしました。

デフォルトだと以下の様なメールが届き、内容が少々分かりにくいです。

400_メールが届く.png

AmazonConnect → EvetBridge → SNS
という順番で連携していましたが、SNS送信用のLambdaを作成し

AmazonConnect → EvetBridge → Lambda → SNS
という順番で連携させることでメールの本文をカスタマイズできました。

そこで今回はEvetBridgeとSNSを連携する際にメール本文をカスタマイズする方法
について記事にしたいと思います!

AWS、AmazonConnectについて勉強中の方の参考になれば幸いです。
(*^^)v

ちなみに、12月はARIのアドベントカレンダもやっていますので、
もしよろしければ、こちらも応援お願いします♪

2.前提条件

まず初めに、前提条件を記載します。

  • EventBridgeとSNSを連携し、EvetBridgeをトリガーとしてメールが送信される設定が完了していること

3.Lambda関数の作成

まずは、SNS送信用のLambdaを作成します。

3.1.事前準備として、SNSのトピックのARN、AmazonConnectのインスタンス名をメモ帳などに貼り付けます。

3.2.以下の内容で、Pythonで書かれたLambda関数を作成します。

subjectに送信したいメールの件名、messageに送信したいメールの本文を入力します。
今回はメール本文にAmazonConnectの録音を聞く画面へのリンクが表示されるようにしています。

例として、AmazonConnectとEvetBridgeが連携された場合の内容が記載されていますが、
本質的な内容を考えると、AmazonConnectを使うことは必須ではないため、メールの内容等はアレンジが可能です。

lambda.py
import json
import boto3
import logging
import os

#ロガーの生成
logger = logging.getLogger('log')
#出力レベルの設定
logger.setLevel(os.environ['LOGGINGLEVEL'])

def lambda_handler(event, context):
  try:
    logger.info("メールを送信します")
    
    sns = boto3.client("sns")
    topicArn = "★SNSトピックのARN★"
    contactId = event["detail"]["contactArn"][-36:]
    subject = "アラートメール_コンプライアンス違反の通話_"+contactId
    message = "コンプライアンス違反の通話が検知されました。\n以下のURLから確認してください。\n\nhttps://★AmazonConnectのインスタンス名★.my.connect.aws/contact-trace-records/details/"+contactId+"?tz=Asia/Tokyo"
    
    result = sns.publish(
      TopicArn = topicArn,
      Subject = subject,
      Message = message
    )
    
    logger.info("メールを送信しました")
    return {
        "Result":"OK"
    }
  
  except Exception as e:
    logger.info("エラー:%s",e)

messageは「\n」で改行ができます。

また、ContactID=event["detail"]["contactArn"][-36:]の部分は以下のURLを参考に、
イベントからContactIDを抜き出しています。

4.EventBridgeの設定

Lambda関数を作成したので、EvetBridgeの設定を変更します。

4.1.EventBridgeの管理画面にて、「ルール」を選択し、設定変更するルール名を選択します。

010_ルールを選択し、ルール名を選択する.png

4.2.「編集」を選択します。

020_編集を選択する.png

4.3.「次へ」を選択します。

030_次へを選択する.png

4.4.「次へ」を選択します。

040_次へを選択する.png

4.5.ターゲットの選択にて、3章で作成したLambda関数を選択し、「次へ」を選択します。

050_ターゲットを編集する.png

4.6.「次へ」を選択します。

060_次へを選択する.png

4.7.以上で設定は完了です。

5.動作確認

以下が実際に送信されたメールとなります。

100_送信されるメール.png

件名、本文が分かりやすくなり、1クリックでAmazonConnectの録音を聞く画面にアクセスできます。

110_録音を確認できる画面.png

6.おわりに

ここまで読んで下さり、ありがとうございます!!!
(^^)

以前の内容ではメールの内容が少々分かりにくかったですが、
今回の様にLambda関数をはさむことで、何が原因でメールが送信されたのか等が分かりやすくなりました!

次回も何かしら記事を書いていきたいと思います♪
(:3_ヽ)_

18
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?