スノーフレークのラムダレイヤー関数
Snowflakeでラムダレイヤーを作成するための標準的な方法に従いました。
[AWSEC2インスタンスの場合] rm -rf snowflake mkdir -p snowflake / python / lib / python3.7 / site-packages pip3 install --no-cache-dir --ignore-installed --upgrade snowflake-connector-python- t snowflake / python / lib / python3.7 / site-packages cd snowflake; rm -f snowflake.zip; zip -rsnowflake.zip。
Lambdaレイヤーを作成し、それをLambda関数に追加できます。ライブラリがアタッチされていることを検証するだけでなく、Lambda関数を呼び出すと、失敗します
snowflake.connectorをインポートします
[エラー] Runtime.ImportModuleError:モジュール「lambda_function」をインポートできません:「snowflake」という名前のモジュールがありません
ここで何がうまくいかないかについてのスノーフレークラムダライブラリまたは詳細なガイドはありますか?私は常にこの方法でラムダレイヤーを構築し、通常は上記のプロセスが機能します。
回答
この問題は3.7の要件であることが判明しました。ライブラリの作成に以下を追加しましたが、正常に機能しました。
Lambda関数のデフォルトのPythonバージョンを3.7に変更して、ライブラリのコンパイルに使用したPythonインスタンスと一致させてから、コードに次を追加しました。
ssh -i ${PEM_FILE} ${EC2_HOST} "cp -r snowflake/python/lib/python3.7/site-packages/* dblayer/python/lib/python3.7/site-packages"