児童見守り安心システム「ツイタもん」を「ツイテないもん」にする


我が子の小学校で、「ツイタもん」が導入されました。

児童見守り安心システム ツイタもん
https://tsuitamon.jp/

学校の門を通ると、「ツイタもん」とメールが来ます。
今どきなサービスですが、毎日メールが来ると、そのうち気にしなくなりそうです。
そこで、万が一、門を通ってないときだけ「ツイテないもん」と連絡が来る仕組みを考えました。

仕組み

仕組みとしては、子供が学校に行くまでの時間に、 「ツイテないもん」通知を行うスケジュール を有効にし、「ツイタもん」メールが来たらこの 「ツイテないもん」通知を行うスケジュール を無効にします。
学校についたら、スケジュールはキャンセルされて通知は実行されず、学校についてなければ、通知スケジュールに従って通知されるわけです。

これをIFTTTとAWSのLambdaやCloudWatch Eventsを組み合わせて実現します。

構成

全体構成

学校についた場合

学校についてない場合

Lambdaの処理

CloudWatch Eventsを無効にするLambda

超適当
CloudWatch Eventsのイベント名は環境変数にセットしました。
無効ではなく有効にする場合はdisable_ruleenable_ruleになります。

import os
import boto3

def lambda_handler(event, context):
    # TODO implement
    event_name = os.environ.get("EVENT_NAME")

    client = boto3.client('events')

    response = client.disable_rule(
        Name=event_name
    )

    return response

ツイテないもん通知を行うLambda

超適当

import requests
import os

def lambda_handler(event, context):
    requests.post(os.environ.get("REQUEST_URL"))
    return 'Hello from Lambda'