Chức năng lớp Lambda cho Snowflake

Aug 16 2020

Tôi đã làm theo phương pháp tiêu chuẩn để tạo Lambda Layer trong Snowflake.

[trong phiên bản AWS EC2] rm -rf snowflake mkdir -p snowflake / python / lib / python3.7 / site-package pip3 install --no-cache-dir --ignore-install - nâng cấp snowflake-connector-python - t snowflake / python / lib / python3.7 / site-pack cd snowflake; rm -f snowflake.zip; zip -r snowflake.zip.

Tôi có thể tạo Lambda Layer và sau đó thêm nó vào hàm Lambda của mình. Cũng như xác thực rằng thư viện được đính kèm, nhưng khi tôi gọi hàm Lambda, nó không thành công

nhập snowflake.connector

[ERROR] Runtime.ImportModuleError: Không thể nhập mô-đun 'lambda_ Chức năng': Không có mô-đun nào có tên 'snowflake'

Có bất kỳ thư viện Lambda bông tuyết nào hoặc hướng dẫn chi tiết về những gì có thể xảy ra ở đây không. Tôi luôn xây dựng các lớp lambda theo cách này và thường thì quá trình trên hoạt động.

Trả lời

BlackMetalOwl Aug 24 2020 at 03:30

Vấn đề hóa ra là một yêu cầu trên 3.7. Tôi đã thêm phần sau vào việc tạo thư viện của mình và nó hoạt động tốt:

Tôi đã thay đổi phiên bản python mặc định trong hàm Lambda của mình thành 3.7 để phù hợp với phiên bản python mà tôi đã sử dụng để biên dịch thư viện, sau đó tôi thêm phần sau vào mã của mình:

ssh -i ${PEM_FILE} ${EC2_HOST} "cp -r snowflake/python/lib/python3.7/site-packages/* dblayer/python/lib/python3.7/site-packages"