【AWS】Lambdaデプロイパッケージでライブラリ込みの関数を作成する

Lambda関数でPythonライブラリを使用する

Lambda関数でPython3に必要なライブラリはデプロイパッケージという仕組みにより使用できるようになります。

関数とライブラリをzipにまとめる


ソースコード本体と実行に必要なライブラリ等をzipファイルにまとめたものをLambdaデプロイパッケージといい、それをLambda関数へアップロードすることで有効化できるようになります。

なお、本記事の検証時は開発環境にEC2(Amazon Linux)を用意し、そこにPython3のvenv環境を利用してライブラリをインストールしています。

ソースファイルをzipに含める

関数のソースファイルのパスへ移動

zipを作成する

必要なPythonライブラリをzipに追加する

インストールされているライブラリが存在するパスへ移動
(devはvenv作成用のディレクトリ)

対象のライブラリファイルも先に作成したzipファイルに含める(必要な分だけ)

※作成するzipの中にはディレクトリは作成せず、ソースファイルとライブラリファイルを直に含む形にします。

デプロイパッケージを有効化する

zip形式のデプロイパッケージを作成出来たら、Lambda関数の編集画面からそのままアップロードします。

コンソールからLambda > 関数 > 対象を選択 > 「コード」タブ
右上の「アップロード元」を選択し、.zipファイルを選択。

用意しておいたデプロイパッケージをアップロードして保存すると、
ソースコードとライブラリファイルがLambda関数のプロジェクトに展開されます。
(既存のソースは上書きされます)

これでライブラリ込みのPython3ランタイムの関数が実行可能となります。

Follow me!

【AWS】Lambdaデプロイパッケージでライブラリ込みの関数を作成する” に対して1件のコメントがあります。

コメントは受け付けていません。