Функция лямбда-слоя для снежинки

Aug 16 2020

Я следовал стандартному методу создания слоя лямбда в 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: нет модуля с именем «снежинка»

Есть ли какие-нибудь библиотеки лямбда-снежинок или подробные руководства о том, что здесь может пойти не так. Я постоянно строю лямбда-слои таким образом, и обычно описанный выше процесс работает.

Ответы

BlackMetalOwl Aug 24 2020 at 03:30

Проблема оказалась в требовании по 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"