Функция лямбда-слоя для снежинки
Я следовал стандартному методу создания слоя лямбда в Snowflake.
[в экземпляре AWS EC2] 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 -r snowflake.zip.
Я могу создать слой лямбда, а затем добавить его в свою функцию лямбда. А также проверить, что библиотека подключена, но когда я вызываю функцию Lambda, она не работает
import snowflake.connector
[ОШИБКА] Runtime.ImportModuleError: невозможно импортировать модуль lambda_function: нет модуля с именем «снежинка»
Есть ли какие-нибудь библиотеки лямбда-снежинок или подробные руководства о том, что здесь может пойти не так. Я постоянно строю лямбда-слои таким образом, и обычно описанный выше процесс работает.
Ответы
Проблема оказалась в требовании по 3.7. Я добавил следующее в свою библиотеку, и все работало нормально:
Я изменил версию python по умолчанию в моей функции Lambda на 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"