【AWS】Lamdba関数のレイヤーにPythonライブラリを追加する

Lamdba関数のレイヤーに
 ・Pythonライブラリを追加
する手順を紹介します!

レイヤーにライブラリを追加により
 ・Lamdba関数内でそのライブラリを使用できる
ようになります!

前提

今回は例として、Pythonライブラリ「requests」をLamdba関数のレイヤーに追加します。
手順は以下となります。

①「requests」の取得とZIP化
②レイヤーの作成
③Lamdba関数のレイヤーに追加
④動作確認

「requests」の取得とZIP化

コマンドプロンプトで任意のパスへ移動して、
 ・フォルダ「python」を作成
 ・pipコマンドで、フォルダ「python」の中に「requests」をインストール
します。

mkdir python
pip install -t python requests


その後、フォルダ「python」をZIPファイルにします。ZIPファイルのファイル名は任意に変更します。
※例えば「layer.zip」に変更します。

ZIPファイルにする
ZIPファイルにする

ZIPファイルの中にフォルダ「python」がある状態にします。

ZIPファイルの中にフォルダ「python」がある
ZIPファイルの中にフォルダ「python」がある

レイヤーの作成

Lamdba関数のレイヤーのページを開いて「レイヤーの作成」をクリックして、画面に従ってパラメータを作成します。

今回は以下で作成します。

項目入力値
名前RequestsLayer
アップロードするZIP上記の手順で作成したZIPファイル


追加が完了すると、「バージョン ARN」が表示されます。
※例:arn:aws:lambda:ap-northeast-1:999999999999:layer:RequestsLayer:1

この「バージョン ARN」をメモします。

Lamdba関数のレイヤーに追加

Lamdba関数のページを開いて、下部の「レイヤーの追加」をクリックします。

「ARN を指定」にチェックを入れて、上記の手順でメモした「バージョン ARN」を入力して、「追加をクリックします。

動作確認

Lamdba関数に以下のコードを記載して実行すると、Pythonライブラリ「requests」が問題無く使用できることを確認できます。

import requests

def lambda_handler(event, context):
    url = 'https://httpbin.org/get'
    r = requests.get(url)
    print("ステータスコード:" + str(r.status_code))
実行結果
実行結果
タイトルとURLをコピーしました