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

記事タイトルとURLをコピーする

先輩の無茶振りをくらい、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を入れることを目指す。