स्नोफ्लेक के लिए लैम्ब्डा लेयर फंक्शन
मैंने स्नोफ्लेक में लैम्बडा लेयर बनाने के लिए मानक विधि का पालन किया है।
[AWS EC2 उदाहरण में] rm -rf स्नोफ्लेक mkdir -p स्नोफ्लेक / पायथन / लिब / python3.7 / साइट-पैकेज pip3 स्थापित टी स्नोफ्लेक / पायथन / लिब / पाइथन 3.7 / साइट-पैकेज सीडी स्नोफ्लेक; rm -f snowflake.zip; zip -r snowflake.zip
मैं लैम्बडा लेयर बना सकता हूं और फिर इसे अपने लैम्बडा फंक्शन में जोड़ सकता हूं। के रूप में अच्छी तरह से मान्य है कि पुस्तकालय संलग्न है, लेकिन जब मैं लैम्ब्डा फ़ंक्शन को कॉल करता हूं, तो यह विफल हो रहा है
स्नोफ्लेक आयात करें
[ERROR] रनटाइम ।mportModuleError: मॉड्यूल 'लैम्ब्डा_फंक्शन' आयात करने में असमर्थ: 'स्नोफ्लेक' नाम का कोई मॉड्यूल नहीं
क्या यहाँ कोई गलतफहमी लैम्ब्डा लाइब्रेरी या विस्तृत गाइड हैं जो यहाँ गलत हो सकता है। मैं इस तरीके से हर समय लैम्बडा लेयर्स का निर्माण करता हूं और आमतौर पर उपरोक्त प्रक्रिया काम करती है।
जवाब
यह मुद्दा 3.7 पर एक आवश्यकता के रूप में निकला। मैंने अपने पुस्तकालय निर्माण में निम्नलिखित को जोड़ा और यह ठीक काम किया:
मैंने लाइब्रेरी को संकलित करने के लिए उपयोग किए जाने वाले अजगर उदाहरण से मेल खाने के लिए अपने लैम्ब्डा फ़ंक्शन में डिफ़ॉल्ट अजगर संस्करण को 3.7 में बदल दिया, फिर मैंने निम्नलिखित को अपने कोड में जोड़ा:
ssh -i ${PEM_FILE} ${EC2_HOST} "cp -r snowflake/python/lib/python3.7/site-packages/* dblayer/python/lib/python3.7/site-packages"