AWSのlambdaでrubyを使う。

AWS SAMで,AWS Lambdaを使う。

基本的には,AWS サーバーレスアプリケーションモデル (AWS SAM) の使用に従う。

AWSの文書のInstalling the AWS SAM CLI に従い,SAMをインストール。

事前の準備は,

dockerは,native extenstion を要するgem (例えば,nokogiri)の使用時に必要。

awscliのセットアップ

awscliのインストール

macOS に AWS CLI をインストールするを参考にする。

もしくは,homebrewを使いinstallする。Homebrew Formulae awscli

brew install awscli

AWS Configure

aws configure

で必要な情報を入力する。

regionは,「東京」を使う場合は,”ap-northeast-1”を入力。 AWS のリージョンとエンドポイント

設定入力後, aws configure を再実行すると,現在の設定が表示される。

AWS SAM CLIのインストール

Install the AWS SAM CLI Using Homebrew

awscliをhomebrewでインストールした場合は,AWS SAM CLIもhomebrewでインストールする。さもないと,SAM CLIの実行時に,エラーがでた。

brew tap aws/tap
brew install aws-sam-cli
sam --version

sam init

sam init --runtime ruby2.5

で, sam-app/ の中に ruby 2.5 を使ったlambdaの雛形が作成される。

directory を変更したい場合には,

sam init -n [name] --runtime ruby2.5

例えば, test 以下に作りたい場合には,

sam init -n test --runtime ruby2.5

sam init のオプション等については, AWS SAM CLI Command Referencesam init を参照。

ruby でlambdaを書く。

sam init で作成したdirectoryの下にある readme.md を読めばだいたい分かる。

気をつける点は,Gemfileの場所と種類。readme.mdにも書いてあるが,

例えば,関数内で,nokogiriを使う場合には,hello_world/Gemfileに,gem nokogiriを書く。

navite extensionを使ったgemをdeployする場合には,

sam build --use-container