More Related Content
More from Motokatsu Matsui (8)
俺のLambda
- 4. Lambdacast
• S3 + Lambda を利用したPodcast(Videocast)配信の仕組み
S3にファイルをアップロードすると自動的に RSS feed を更新する
(ファイルはCloudFront経由での配信となる)
• EC2で *** のストリームを保存(録音)してS3にアップロード
→ スマホ等に自動配信
• 昨年のアドベントカレンダー
Qiita: AWS Lambda を CoffeeScript で書いてみた
http://qiita.com/j3tm0t0/items/1d79f393709ad3f1dcca
- 7. Slack bot その1
• 特定の bucket にファイルをアップロードすると
Lambda から Slack のチャンネルに通知が飛ぶ
(Slack Incoming Webhookを使用)
- 8. Slack bot その2
• Slack Outgoing Webhook
→ API Gateway に POST
→ Lambda で処理する
• いわゆる Chatops 的なツールを
量産できる!
- 9. Slack bot その3
• SORACOMのイベントハンドラーから Lambda が実行できます!
https://dev.soracom.io/jp/docs/event_handler/
• 通信容量が一定の容量を超えたら Slack に通知
Qiita: SORACOM Air のイベントハンドラーと AWS Lambda を連携してみる
http://qiita.com/j3tm0t0/items/71fe2d52397c5f37359b
- 12. exports.handler = (event, context) ->
d = new Date
# UTC 1:00 - 7:59 = JST 10:00 - 16:59
if d.getUTCHours() in [1..7]
xml = '''
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial callerId="+8150xxxxxxxx">
<Number>+813xxxxxxxx</Number>
</Dial>
</Response>
'''
else
xml = '''
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say language="ja-jp">
株式会社 ◯◯◯◯ にお問い合わせいただき、誠に
ありがとうございます。
当窓口は、午前10時から午後5時までの受付とな
ります。
</Say>
</Response>
'''
context.succeed xml
- 14. アレゲな何か
• 構成的には Lambda -> SQS -> CloudWatch -> AutoScaling(spot)
外部から取得した情報に応じて必要時のみEC2を起動して処理する
• 定期的に実行したくて色々な試みをしてましたが、
re:Invent 2015 でスケジュール実行が実装されて全てが過去の物に
• それまでの紆余曲折は↓の記事にまとまってます
Qiita: Lambda を cron 的に使う Ver 2015.09
http://qiita.com/j3tm0t0/items/0e1320060791993a9d1a