MongoDBの更新情報を通知する方法

MongoDBの更新情報を通知する方法

以前、SendGridのイベントデータをMongoDBにストアする方法をご紹介しましたが、今回はさらに一歩進んで、MongoDBの更新情報を通知する方法をご紹介します。この方法を使うと、データのストアに加えて、プログラミングなしでイベントに応じた様々なアクションを実行することが可能になります。今回は2種類の方法で通知してみます。

  • メール
  • ChatWork

前提条件

メールで通知する

1. Zapの作成

MongoDBに新しいドキュメントが追加されたらSendGridでメールを送信するよう設定していきます。

Zapの作成

2. MongoDBの接続設定

イベントデータがストアされるMongoDBの接続設定を行います。MongoDBのホスト名、ポート、データベース名、ユーザ名、パスワードを入力して次に進みます。

MongoDBの接続設定

3. SendGridの接続設定

SendGridの接続設定を行います。SendGridのユーザ名とパスワードを入力して次に進みます。

SendGridの接続設定

4. フィルタ設定

MongoDBのフィルタ設定を行います。

イベントデータが格納されるデータベース名とコレクション名を選択後、カスタムフィルターとしてEventの値が「bounce」に一致する条件を設定します。これで、バウンスイベントが発生したらこのトリガが動作するようになります。

フィルタ設定

5. メール設定

通知メールの内容を設定します。

宛先、送信元、件名、本文を設定します。各フィールドには、イベントのフィールド値を埋め込むこともできます。

メール設定

6. テスト

設定内容が期待通りかどうかテストを行います。

テスト

7. Zapの有効化

最後にZapに名前をつけて有効化します。

Zapの有効化

以上で設定は完了です。

バウンスが発生すると、指定した宛先にメールで通知されます。

ChatWorkで通知する

1. Zapの作成

MongoDBに新しいドキュメントが追加されたらChatWorkで通知するよう設定していきます。

画面右側は「Web Hook」と「POST」を選択します。

Zapの作成(ChatWork)

2. MongoDBの接続設定

「メールで通知する」と内容は同じです。設定済みの設定を選択することもできます。

3. Web Hookの接続設定

ここで設定することは何もありません。次へ進みます。

Web Hookの接続設定

4. フィルタ設定

「メールで通知する」と内容は同じです。

5. Web HookのPOST設定

ChatWorkのチャットに新しいメッセージを追加するためにPOSTの設定をします。

URLには新しいメッセージを追加するためのエンドポイントを設定します。エンドポイントに含めるルームIDは自分のチャット一覧を取得することで確認できます。

Dataには、パラメータ名を「body」として、投稿したい内容を設定します。イベントのフィールド値を埋め込むこともできます。

Headersには、認証情報を設定します。Keyを「X-ChatWorkToken」として、値にChatWorkのAPIトークンを設定します。

Web HookのPOST設定

6. テスト

「メールで通知する」と同様、設定内容が期待通りかどうかテストを行います。

7. Zapの有効化

最後にZapに名前をつけて設定完了です。

これでバウンスが発生するとChatWorkに通知されます。

さいごに

Event Webhookというと、Webアプリケーションを自前で用意しなくてはいけないように思われがちですが、便利なサービスを組み合わせることで簡単にイベントデータを有効活用できるようになります。是非お試しください!