【AWS】サーバーレスフレームワークを導入してみる.
実現したいこと
AWS Lambdaをさわっていると,ローカルでデバッグしたい!開発したい!
ってなりますよね.ほんのすこし調べたら簡単にできました.
Serverless Frameworkというのを使用して,それを実現しようと思います.
やったこと
nodeのインストール
$ brew install anyenv $ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile $ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile $ exec $SHELL -l
ANYENV_DEFINITION_ROOT(/Users/ ~~~/.config/anyenv/anyenv-install) doesn't exist. You can initialize it
と言われてバグったので,指示通りに以下を行うと解決
$ anyenv install --init
各**envをupdateするためのプラグイン
$ mkdir -p $(anyenv root)/plugins $ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update
nodenvのインストール
$ anyenv install nodenv $ exec $SHELL -l $ nodenv -v
nodeのインストール
$ nodenv install 11.10.0 $ nodenv global 11.10.0 $ nodenv local 11.10.0
Serverless Frameworkのインストール
$ npm install -g serverless #pathを表示 $ npm bin serverless # pathを通す $ echo 'export PATH="$HOME/node_modules/.bin/:$PATH"' >> ~/.bash_profile $ source ~/.bash_profile $ serverless -v
AWSのcredentialをslsに通す
$ serverless config credentials --provider aws --key hogehogehoge --secret fugagu
sample appを作る
$ serverless create -t aws-python3 -p sample-app
デプロイするときはこんな感じで行う
$ sls deploy
テストするときはこんな感じ
$ sls invoke -f hello
以上で,サーバーレスフレームワークの導入を完成しました!
注意点
こんなエラーがでたので,対処してみる
AWS provider credentials not found. Learn how to set up AWS provider credentials in our docs here: <http://bit.ly/aws-creds-setup>.
これはaws credentialの設定をしていなかったからでした.上記のを実行すれば解決しました.
参考
以下の記事を参考にさせていただきました. https://dev.classmethod.jp/cloud/aws/easy-deploy-of-lambda-with-serverless-framework/ https://qiita.com/tonkotsuboy_com/items/5322d226b6783d25b5df https://github.com/anyenv/anyenv https://qiita.com/zaburo/items/8ac16133c3823c6e6ad6
本記事について
本記事は,学習を目的に書かれています.
間違い,改良案などございましたら,コメントしていただけると幸いです.
基本的に編集途中ですので,何を書いてほしいかもコメントいただけると,
その情報を中心に追記します.