初心者がAWS Lambdaに挑戦してみた

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

先輩の無茶振りをくらい、Advent Calendarに投稿することになった、新人の寺田です。

今年もやるよ!AWS Lambda縛り Advent Calendar 2015

ちなみにコード苦手です。

どちらかといえばPython派な人です。

ひとまず、どうにかこうにかLambdaを動かしてみました。

この記事のきっかけ

SlackのbotをLambdaでやったら面白くない?Python対応もあったし。

と口を滑らせてしまったのが発端でした。

でも、久々にコーディングしたら、すべて気持よく忘れていました。。。

ということで、リハビリしつつコーディング中です。

今回は、SlackとAWS Lambdaで遊べれば面白くないかと考えて始めました。

やりたかったこと

この記事で先輩がほとんどやってしまっている。

API GatewayとAWS LambdaでSlackのBOTを作ってみた~癒やしの筋肉編~

そして、フォローできていないという。(汗

まずつまずいたところ

AWS Lambdaってどうやったら動くのか?

これを見ても最初は理解ができなかったです。

ご利用開始にあたって: Python での AWS Lambda コードの作成

結論は、ひとまずそのままコピペしましょう。

パッケージの投げ込み

今回はSlackerというのをインポートして使用します。
ひとまず、これ通りに全部Zipしたけど動かない(と思ってた)。

デプロイパッケージの作成 (Python)

というのは、画面にこれがでてくるので、エラーで蹴られていると思っていた。1時間ぐらい悩んだ気がします。

スクリーンショット_2015-12-16_11_55_18

単に「インラインで編集はできないよ。変えたら新しくuploadしてね」と書いてあるだけでした。

英語はよく読まないといけないですね(自戒)

ちなみに、テストを走らせると、logが画面下の方のExecution resultにでます。

スクリーンショット_2015-12-16_12_54_15

(ちなみに、これが本当のエラーの画面です。)

botで投げる

ホントはAPI Gatewayを使い、インタラクティブにいろいろできればと思っていたのですが、
そこまでたどり着かず。

今回はLambdaのScheduled Eventを使用し、定期実行でお茶を濁すことにしました。
(1時間毎に動くように設定)

スクリーンショット_2015-12-17_10_49_57

(ちなみにこれだけなら、Incoming WebHooksを使ったほうがお手軽だったかもしれません)

動きがないと面白みがないので、時間を出力してみました。(UTCなのは愛嬌で)

スクリーンショット_2015-12-16_11_55_19

Blueprintが出たらしい

AWSからは12/15にblueprintを出したよと有ったのですが、

残念ながらblueprintの中のどこにあるかをいまのところ見つけられていません。でも使えると楽になるかも。

AWS Lambda Launches Slack Integration Blueprints

まとめ

頑張れば、初心者でもLambdaを動かすことは可能。

でも、もうだいぶ修行が必要そうです。がんばる。

動くところまでは行ったので、あとはアイディア次第のはず。

次のステップはAPI Gatewayを入れることを目指す。

 

AWS運用自動化サービス「Cloud Automator」