マイナー・マイナー

隠れた名作の発掘が生きがい。

MacにAWS CLIをインストールしてLambdaを実行する


スポンサードリンク

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のインストール

インストールコマンド

$ sudo pip install awscli 


インストール確認

aws --version

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。できた!


関連
minor.hatenablog.com