前回、Lambdaでお手軽サーバーレス入門(とりあえず作ってみる編)という記事を書きました。
せっかく作った関数も、誰かに呼んでもらわないと寂しい思いをすると思うので、呼び出し元をまとめてみます。
とりあえず一覧
- API Gateway → 記事書きました
- AWS IoT
- Alexa Skills Kit
- Alexa Smart Home
- CloudWatch Events → 記事書きました
- CloudWatch Logs
- CodeCommit
- Cognito Sync Trigger
- DynamoDB
- Kinesis
- S3
- SNS
- SQS
たくさんありますねぇ
それぞれをかいつまんで紹介
API Gateway
私が担当しているプロダクトで最も多用されているものです。
REST APIでLambdaを呼び出せて、結果をクライアントに返せます。
(あとで少し掘り下げて書きます)
AWS IoT
まだ使ったことがないのですが、Amazon Dash buttonをベースにした魔法のボタンを押すことで実行できそうです。
(そういえば昔、日本にいるときにDash button買ったのに、ベトナムだとAmazonがそもそもないから使えてない…)
Alexa Skill Kit、Alexa Smart Home
Alexaから呼び出し。
喋ったらプログラムが動くって近未来的!
(いや、すでに現実のものなのね…)
CloudWatch Events
CloudWatchといえばログをためておくところ、というイメージがめっちゃ強いのですが、イベントを発生させることもできます。
たとえば、ログにある文字が現れたら、とか。
あと、定期的なイベント呼び出しに使えます。
私のプロダクトでは、日次バッチ的に指定時間になったら動く関数があったり、数分ごとに動くものがあったり。
LinuxでいうところのCron的な、Windowsでいうとタスクスケジューラー的な立ち位置ですね。
CodeCommit
AWSでホストできるGitリポジトリのイベントを拾えます。
プッシュされたりしたら動く関数が作れます。
Cognito Sync Trigger
すみません、初耳です。
DynamoDB
DynamoDBのレコード操作をトリガーに動かせます。
レコードが追加されたり編集されたり削除されたりしたら動きます。
SQLでいうところのTRIGGERですね。
Kinesis
まだ未体験ですが、Kinesisのストリームでイベント発生させることができます。
S3
S3にファイルを置いたりしたら関数を動かせます。
アプリ側からしたら、S3に置くだけでいいから楽ですね。
SNS
Pub/SubのSub的ポジション。
SNS自体もいろいろなトリガーがあるので、どんどんチェインさせることができます。
SQS
キューサービスSQSをウォッチして、キューにデータが入ったら動く関数が作れます。
自前でポーリングしなくてもいいのが楽ですね。
次回予告
前回作った関数、せっかくなのでAPI Gatewayから呼び出してみます。
イベントや戻り値にお約束ごとがあるので、それも合わせて紹介します。
次回:Lambdaでお手軽サーバーレス入門(API Gateway設定編)