ライブラリと実行用のpyファイルをzip化し、Lambdaにアップロードして作成したLambda関数をAPI Gatewayに設定し、ローカルのreactで問題なく動作するか検証していた時に発生しました。エラー時の検証環境、原因、解決方法について簡単に解説します。

検証環境
Windows11
Python 3.11.9 (FastAPIのバージョン0.99.0を使用できるようにするため。)
FastAPI 0.99.0 (Lambdaでエラーが発生しないようにするため。)
原因
Lambdaと異なるOSの環境でzip化したことにより、Linux環境だと不要なものまでzipファイルに含まれていたためです。
解決方法
Lambda Layerにnumpyを追加し、zipファイルに含めないように対応しました。
numpyのARNを確認
こちらのサイトにアクセスし、READMEファイルの「List of ARNs」の「Python 3.11」をクリックします。

「ap-northeast-1」の「html」をクリックしてARNs一覧を表示します。
※リージョンはご自身のリージョンに合わせてください。

「numpy」のARNをコピーします。

LambdaのLayerにコピーしたARNを追加
対象のLambda関数画面を開き、「レイヤーの追加」をクリックします。
※画像は既にnumpyが追加されている状態です。

以下を設定し、保存をクリックします。
- 「レイヤーを選択」のラジオボタンで「ARNを指定」を選択
- 「ARNを指定」のテキストボックスにこちらからコピーしたARNをペーストし、検証をクリック

コメント