AWS Lambdaの Node.js v0.10 runtime サポート期限がもうすぐで最近やたらとメールが来るのですが、自分で把握しているfunctionの数と、AWSからお知らせのある数とが一致しなくてイライラしておりました。
どうやら以下のコマンドで対象となるfunctionをリストアップできるようです。
aws lambda list-functions --query 'Functions[*].[FunctionName, Runtime]' | grep -v nodejs4.3 | grep -B1 nodejs| grep , | sort
実行してみたところ、
aws: error: argument command: Invalid choice, valid choices are:
というようなエラーが出てしまいました。 awsのバージョンを確認してみます。
# aws --version aws-cli/1.4.4 Python/2.6.9 Linux/3.14.27-25.47.amzn1.x86_64
どうやら古いようです。
アップデートがあるか確認してみます。
pip list -o | grep aws awscli (Current: 1.4.4 Latest: 1.11.66)
アップデートを行います。
pip install awscli -U
アップデートは
pip update
ではなく、
pip install パッケージ名 -U
のように -U オプションをつけるんだそうです。なんか頭悪い感じありますが・・・
参考
http://dragstar.hatenablog.com/entry/2016/09/02/113243
次に
-bash: /usr/bin/aws: そのようなファイルやディレクトリはありません
というエラーが出ました。
パスを確認してみます。
which aws /usr/local/bin/aws
コマンドパスのハッシュを更新するといいそうです。
hash -r pip --version pip 1.5.6 from /usr/lib/python2.6/site-packages (python 2.6)
参考
http://qiita.com/vmmhypervisor/items/e846338b204061040957
次に
You must specify a region. You can also configure your region by running "aws configure".
というエラーが出ました。
aws configure
でリージョンなどの設定をします。