Lambda関数の実装をしてテストしようと思ったら、AWSコマンドラインインターフェース(AWS CLI)をインストールしておくと便利です。AWS CLIをインストールしてLambdaをLambda関数を呼び出すまでをメモしました。
AWS CLIのインストールまで
Homebrewのインストール
パッケージ管理システムをインストール。
参考:The missing package manager for macOS — The missing package manager for macOS
インストールコマンド
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
インストール確認
$ python -v
Pythonをインストール
インストールコマンド
$ sudo brew install python
次のようなエラーが出た。
Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew does not drop privileges on installation you would be giving all build scripts full access to your system.
次のようなコマンドを打てば解決。
参考:Mac Os をSierraにしたらHomebrewがupdateできなくなった? - Qiita
sudo chown -R $(whoami) /usr/local
そしてsudoを使わずインストール実行。
$ brew install python
インストール確認
$ python -V
pipのインストール
インストールコマンド
$ sudo easy_install pip
AWS CLIの設定
あらかじめIAMでAWSLambdaFullAccessのポリシーを持ったグループを作成し、そこにLambdaを実行する役割を持ったユーザーを追加しておきます。そのユーザーのアクセスキー、シークレットアクセスキーが入力に必要です。configureを実行し、必要な情報を入力します。
$ aws configure
AWS Access Key ID [None]: xxxxxxxxxxx
AWS Secret Access Key [None]: xxxxxxxxxxxxxxxxxx
Default region name [None]: us-east-1
Default output format [None]: json
Lambda関数の実行
下記コマンドを入力。
$ aws lambda invoke \ --invocation-type Event \ --function-name comic_list \ --region us-east-1 \ --log-type Tail \ --payload '{}' \ outputfile.txt
レスポンス
{ "StatusCode": 202 }
invocation-type が Event の場合はStatusCode=202。できた!