スノーフレークのラムダレイヤー関数

Aug 16 2020

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」という名前のモジュールがありません

ここで何がうまくいかないかについてのスノーフレークラムダライブラリまたは詳細なガイドはありますか?私は常にこの方法でラムダレイヤーを構築し、通常は上記のプロセスが機能します。

回答

BlackMetalOwl Aug 24 2020 at 03:30

この問題は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"