Lambda レイヤーにライブラリを追加する ( jq 編)
概要
Lambda から jq コマンドを利用できるようにするため、Lambda レイヤーに jq を追加します。
Lambda レイヤーに jq を追加する手順
最終的なデプロイパッケージ( zip ファイルアーカイブ)のフォルダ構成
Copied!
.
└── bin
└──jq
作業用ディレクトリとレイヤーパスの作成
Copied!
mkdir -p ~/jq_layer/bin
jq のダウンロード
bin ディレクトリに jq のバイナリーファイルを追加します。
Copied!
cd ~/jq_layer/bin
# 以下の wget もしくは curl いづれかのコマンドで jq のバイナリーファイルをダウンロードします。
wget https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 -O jq
curl -Lo jq https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
# 実行権限を付与しておきます。
chmod 755 jq
デプロイパッケージ化( zip ファイルアーカイブ)
Copied!
cd ~/jq_layer
zip -r9 jq_layer.zip bin
Lambda レイヤーの作成
デプロイパッケージを使用した Lambda レイヤーの作成手順はこちらにまとめてあります。
動作確認
作成した Lambda レイヤーを使用する Lambda 関数を作成し、テスト実行してみます。
使用するカスタムランタイムはなんでもいいですが、本記事ではカスタムランタイムである Amazon Linux 2 を使用します。
特にエラーが発生せず、実行結果のログに jq のバージョンが表示されていれば成功です。
Copied!
function handler () {
EVENT_DATA=$1
jq --version
RESPONSE="{\"statusCode\": 200, \"body\": \"Hello from Lambda!\"}"
echo $RESPONSE
}
個人開発したサービス