मेरे पास एक लैम्ब्डा फ़ंक्शन है जो डायनेमो डीबी से पढ़ता है और एक बड़ी फ़ाइल (~ 500 एम)/tmp बनाता है जो आखिरकार s3 पर अपलोड हो जाता है। एक बार अपलोड किया गया लैम्ब्डा फ़ाइल को/tmp से साफ़ करता है (क्योंकि उच्च संभावना है कि इंस्टेंस का पुन: उपयोग किया जा सकता है)लैम्ब्डा को स्केल कैसे करें जब/tmp का पुन: उपयोग किया जाता है?
यह फ़ंक्शन निष्पादित करने में लगभग 1 मिनट लगते हैं, भले ही आप विलंबता को अनदेखा करते हैं।
इस परिदृश्य में, जब मैं फिर से फ़ंक्शन का आह्वान करने का प्रयास करता हूं, < 1 मीटर में, मेरे पास कोई नियंत्रण नहीं है यदि मेरे पास/tmp लिखने के लिए पर्याप्त स्थान होगा। मेरा काम विफल रहता है।
प्रश्न: 1. इस तरह के परिदृश्य में ज्ञात काम क्या हैं? (संभावित रूप से/tmp में अधिक जगह दें या सुनिश्चित करें कि प्रत्येक नए निष्पादन के लिए एक साफ/tmp दिया गया है) 2. लैम्ब्डा में फ़ाइल निर्माण और प्रबंधन के संबंध में सर्वोत्तम प्रथाएं क्या हैं? 3. क्या मैं निष्पादन के लिए लैम्ब्डा में एक और ईबीएस या अन्य भंडारण संलग्न कर सकता हूं? 4. क्या फ़ाइल सिस्टम को एस 3 तक पहुंचने का कोई तरीका है ताकि मेरा फ़ंक्शन/tmp का उपयोग करने के बजाय सीधे s3 पर लिख सके?
मुझे नहीं लगता कि आपको फ़ाइल (या फ़ाइल सिस्टम) की आवश्यकता क्यों है, विशेष रूप से यह मानते हुए कि आप FaaS/Amazon Lambda का उपयोग कर रहे हैं। क्या आप अपना कोड फिर से लिख सकते हैं ताकि DynamoDB आउटपुट को डिस्क पर लिखे बिना S3 पर स्ट्रीम किया जा सके? –
वहां बहुत सारी प्रसंस्करण है जो करने की आवश्यकता है। डायनेमो से एस 3 – sandeepzgk
से सिर्फ एक साधारण डंप नहीं हो सकता है, तो आप बस सीमा (512 एम) मार रहे हैं? https://docs.aws.amazon.com/lambda/latest/dg/limits.html यह स्मृति में काम करने में मदद कर सकता है, या बीच में अस्थायी भंडारण के लिए एक तीसरी सेवा जोड़ सकता है। –