Python 2.7 で記述された AWS Lambda のデプロイ パッケージを作成しました。Python スクリプトでは、ローカル マシンで構成したユーザー DNS を使用して、pypyodbc を使用して外部データ ソースに接続します。パッケージを展開しようとすると、次のエラーが発生します。
module initialization error: 'ODBC Library is not found. Is LD_LIBRARY_PATH set?'
project-dir
仮想環境に pip を使用してパッケージを作成しました。パッケージは次のように配置されます。
/project-dir
__init__.py
PythonFileIWantToUse.py
pypyodbc.py
pypyodbc.pyc
/boto
/pypyodbc-1.3.3.dist-info
/other modules, etc.
追加してみました
#Point Lambda to Required OBDC Directory
os.environ['LD_LIBRARY_PATH'] = os.environ['LD_LIBRARY_PATH'] + ':' + '/var/task/'
lambda_handler 関数のMainPythonIWantToUse.py
上に移動し、ルート ディレクトリに odbc32.lib を含めましたが、同じエラーが発生しました。
私が何をする必要があるか分かりますか?Windows でローカル ODBC を構成しましたが、Lambda の Unix 環境がそれらを見つけるために、どのファイルをどこに置くべきかわかりません。
編集: UnixODBC の要素をルート ディレクトリにも含めようとしましたが、結果は変わりません。