自分専用の TODO+メモ アプリを作る、自分専用アプリ開発の勧め で作ったアプリに定期的に実行するタスク、例えば「開発で使っているMacのディスクバックアップを取る」などを自動的に登録する機能を、AWS Lambdaを作ってみました。
コードは Dropbox API を使いTODO.mdファイルをダウンロードし、Lambdaのパラメータ内にあるtaskから "- [ ] task"
文字列を作り、TODO.mdに結合し、その文字列をDropboxにアップロードしています。
タスクの後ろに年月日を追加したりしていますが、 Node.jsを知っている人には簡単なコードです。
また LambdaのNode.jsはV8.1で async/await が使えるので非同期通信もシンプルに書けます。
AWS Lambdaのメソッドの起動はAWSの各サービスのイベントから行えます、以前IoT時代にこそ真価を発揮する AWS Lambdaに書いた実験システムではAWS IoT 1-Click から起動しています。
今回は Amazon CloudWatch のスケジュールで定期的にLambdaを起動しています。
スケジュールの設定は上の画像のようにAmazon CloudWatch コンソールから行います。時間指定は Unix(Linux)の cron
と同様のフォーマットが使えます、ただし時間がGMTなので計算しないといけないのが面倒ですね。
またパラメター(入力の設定)にJSON形式で {"task": "Mac バックアップ"}
タスクを指定します。
すでに数週間使っていますがとても便利です、簡単にローコストでこのような機能が作れるのは素晴らし事だと思います。