はじめに
AWS Cloud9でライブラリを含めたデプロイが出来ました。
slackwebを使って動作検証したものをメモとして残します。
■ 環境(以下を参照)
■ Lambdaの基本的なデプロイ検証(以下を参照)
AWS Cloud9でLambdaの作成、テスト、デプロイまでの手順まとめ
内容
事前準備
- SlackのWebフック取得
- 「λ+」ボタンからlambdaの作成を実施
slackwebをpip
lambdaを作成したディレクトリにpip。
「pip install slackweb -t .」
bash
user:~/environment/slackwebtest $ pip install slackweb -t .
Collecting slackweb
Using cached slackweb-1.0.5.tar.gz
Installing collected packages: slackweb
Running setup.py install for slackweb ... done
Successfully installed slackweb-1.0.5
user:~/environment/slackwebtest $
lambdaソース
ライブラリが使える事に目的絞って内容はシンプルに。
lambda_function.py
import slackweb
def lambda_handler(event, context):
slack = slackweb.Slack(url="webフック")
slack.notify(text="pythonからslackさんへ",
username="monkey-bot",
icon_emoji=":monkey_face:"
)
デプロイ
- 対象ディレクトリを選択してデプロイ。
- Lambda側のコンソール関数コード以下に複数ファイルデプロイされたように表示されないのですが、ちゃんとデプロイされています。
テスト
Lambda(remote)で実行。
Slack投稿を確認
まとめ
- ライブラリを含む複数ファイルでもデプロイできた。
デプロイしたファイルがLambdaのコンソール関数コード以下に正しく表示されないことが不安になる。私の中で未解決。(1ファイルのデプロイの場合は正しくコンソールに表示される)
クライアント端末を汚さず、手軽にLambda出来ることはAWS Cloud9のメリット。