hogehogeプログラマ

PHPer。趣味ではServerless Frameworkをメインで触ってます

Serverless で手軽にAWS SNSを利用する

作ってみた

github.com

インストール

  • Githubからserverless-snsを取得します
git clone https://github.com/hogehoge0604/serverless-sns.git
  • npm installを実行して必要なパッケージを取得します
cd serverless-sns
npm install
  • 設定ファイルを編集します
module.exports = () => {
  return {
    region: 'ap-northeast-1',

    sns: {
      displayname: '<DISPLAY_NAME>',
      subscription: [{
          Endpoint: '<MAIL_ADDRESS>',
          Protocol: 'email',
      }]
    }
  }
}

<DISPLAY_NAME> = SNSトピックを識別するための文字列を設定
<MAIL_ADDRESS> = メール送信先のメールアドレスを設定

  • デプロイする
serverless deploy

正常にデプロイ処理が完了したら設定したメールアドレスあてに
購読確認のメールが送られてくるのでリンクを押下すると設定完了になります

  • 試してみる

購読設定まで完了後に以下を叩くとdataに入力した件名と本文を記載した
メールが送られてきます

serverless invoke --function notification --data '{"subject": "subject test", "message": "message test"}'

用途

これ単体だとお手軽にAWS SNSを試せる点以外に特徴はないですが
うまく使えれば様々な場面で通知を組み込みやすくなるのではないかと思います