Cloud9でLambdaの環境作ってきます

定期的に自動実行している処理をいくつか持っているんですが、そいつを重い腰を上げてLambdaに移行しようかなと。Cloud9で環境作っていきます。

Cloud9で環境作っていきます

というか、ウイザードに従っていくだけなんですけどね。。。

AWSマネジメントコンソールから、Cloud9を立ち上げて

Create environment

適当に入力して、Next step

ここは、全部DefaultでNext step

Create environment

ちょいと時間かかりますが、まぁ待てと

起動したら、右の方にメニューが有るので、AWS Resourcesを

Resourcesツリーが表示されますんで、λマークをクリック

Function nameとAppliation nameを入力して、Next

ここは、慣れているPythonで開発していきます。

一旦ここは、noneのままで

ここもそのまんま。必要になったら増やしたりします。

Finish

後は、lambda_function.pyの

def lambda_handler(event, context):

に、ゴリゴリ書いてけばOK!

必要なライブラリをインストール

今回は、slackwebを使ってSlackにLambdaから通知してみる所までやってみます。

slackweb関連は、こちらの記事を参照していただければ。Django環境からですが、PythonからSlack通知してますんで。

Djangoで作ったアプリとSlackアプリを連携させてみようと思う

コンソール画面で、Function nameフォルダの直下に移動して、

pip install slackweb -t .

ちなみに、-tのオプションは、ライブラリをインストールする場所を指定できます。

pipが古いと言われておりますが、対応は後程。

ライブラリインストールできましたね。

テストコードを

ツリーから、lambda_function.pyを開いて

import json
import slackweb

print('Loading function')

def lambda_handler(event, context):

slack = slackweb.Slack(url="https://hooks.slack.com/services/ご自身のSlackで")
slack.notify(text="LambdaからSlack通知できるかテスト ( ゚Д゚)")

return ''

単に、メッセージを通知するだけのコードです。

動かしてみます

Resourcesツリーを開いて

オレンジのλマークの上で右クリック → Run → Run Local

開いたウインドウで、Runをクリック

Slackに通知きましたかね。