2015-07-23 5 views
5

क्या लैम्ब्डा कार्यों के लिए विभिन्न वातावरण होने के लिए सबसे अच्छा अभ्यास है, यानी देव/prodबनाने के विकास और उत्पादन संस्करणों

मैं सिर्फ होना चाहिए दो लैम्ब्डा कार्यों एक कहा जाता myfunction-prod और myfunction-देव या नहीं है वातावरण बनाने के लिए एक बेहतर तरीका है।

मैंने देखा कि अमेज़ॅन एपीआई गेटवे के पास "चरण" की धारणा है जो कोड के देव, स्टेजिंग और उत्पादन संस्करणों को अलग करने में समायोजित करती है।

क्या अमेज़ॅन लैम्ब्डा के साथ एक समान धारणा है?

उत्तर

0

एडब्ल्यूएस कंसोल - lamdba इस सुविधा को प्रदान नहीं करता है, यह बस आपके विवरण के साथ आपके सभी कार्यों को सूचीबद्ध करता है।

जैसा कि आपने कहा था कि आपको वातावरण द्वारा कार्यों की आवश्यकता होगी और फिर जेनकिंस या बांस जैसे बिल्ड इंटीग्रेशन सर्वर के माध्यम से पर्यावरण के बीच कोड आंदोलनों का प्रबंधन करें। आपकी तैनाती स्क्रिप्ट आंतरिक रूप से aws sdk apis कॉल करेगी जो लक्ष्य वातावरण में फ़ंक्शन कोड को प्रतिस्थापित करेगी। उदाहरण के लिए UpdateFunctionCode

आप तैनाती पहुंच को नियंत्रित करने के लिए आईएएम भूमिकाओं/नीतियों का भी उपयोग कर सकते हैं।

मैं आपके वर्कफ़्लो के साथ अपने स्वयं के कस्टम डैशबोर्ड को विकसित करने की सलाह दूंगा या इसे अपने मौजूदा देवताओं के टूल में एकीकृत कर दूंगा। एडब्ल्यूएस कंसोल उत्पादन के उपयोग के लिए डिज़ाइन नहीं किया गया है, अंततः इसे प्रबंधित करने के लिए आपको एक डैशबोर्ड की आवश्यकता होगी।

1

आप एडब्ल्यूएस गेटवे एपीआई का उपयोग कर सकते हैं। एक बार जब आप lamdba फ़ंक्शंस बनाते हैं, तो गेटवे बनाएं जो आपके लैम्ब्डा फ़ंक्शन को इंगित करता है। यह आसानी से एक ड्रॉपडाउन का उपयोग कर चयन किया जा सकता है।

आप उल्लेख किया है, आप 2 चरणों (लाइव और मचान) बना सकते हैं और चरणों के लिए उपयुक्त प्रवेश द्वार यूआरएल मैप करें। फिर चरणों में उपयुक्त विधि का चयन करके, आप चरण तक पहुंचने के लिए आरईएसटी यूआरएल प्राप्त कर सकते हैं। उदाहरण के लिए, someurl/live और someurl/staging

इसके अलावा, जबकि lamda समारोह परिवर्तन की तैनाती, तैनाती और मचान यूआरएल का उपयोग कर इसे बाहर का परीक्षण करने के उचित मंच चुनें। एक बार ऐसा करने के बाद, फ़ंक्शन को अपने लाइव चरण पर तैनात करें।

1

पुन: इन्वेंट 2015 (अक्टूबर); संस्करण और उपनाम लैम्ब्डा में जोड़ा गया है; इस official doc बहुत अच्छी तरह से कैसे prod और देव के लिए इस का उपयोग करने का वर्णन है।

पेज। लाइव डेटा (प्रोड को प्रभावित करने वाले डब्ल्यू/ओ) पर परीक्षण करने के लिए; मैं एसएनएस प्रशंसक-आउट पैटर्न का उपयोग करता हूं (प्रोड और देव लैम्ब्डा दोनों को एक ही एसएनएस विषय में सदस्यता लेता हूं)।

+0

जब सवाल पूछा गया, तो शायद अन्य उत्तरों में से एक सबसे अच्छा था। लेकिन चूंकि उपनाम जारी किए गए थे (और अभी भी 2017 में) मुझे लगता है कि यह सबसे अच्छा जवाब है। "परीक्षण" या "www" जैसे उपनाम के साथ एक रिलीज टैग करें और लैम्ब्डा फ़ंक्शन के भीतर संदर्भ.getInvokedFunctionArn() का उपयोग यह पता लगाने के लिए करें कि इसे कैसे कहा जाता है। –

0

सिर्फ नील के लिए जोड़ने के लिए आप संबंधित लैम्ब्डा एलियास से लिंक करने के लिए स्टेज वैरिएबल का उपयोग भी कर सकते हैं यानी देव चरण आपके लैम्ब्डा फ़ंक्शन के DEV उपनाम का उपयोग करेगा, जबकि प्रोड चरण आपके लैम्ब्डा फ़ंक्शन के प्रोड उपनाम का उपयोग करेगा। अधिक के बारे में चरण चर यहाँ Working with Stage Variables in Amazon API Gateway

0

एक तरह से प्राप्त करने के लिए इस एक समारोह इनपुट जो लैम्ब्डा समारोह जो वातावरण में समारोह को चलाने के लिए कहता है निर्दिष्ट करने के द्वारा है। आपका लैम्ब्डा समारोह उचित वातावरण विशिष्ट config होना चाहिए।

आप लैम्ब्डा कार्य करने के लिए एक API प्रवेश द्वार को झुका दिया है, तो आप के रूप में अच्छी पहचान करने के लिए जो पर्यावरण आप लक्ष्यीकरण कर रहे हैं अपने API अनुरोधों में एक हैडर पारित करने के लिए चाहते हो सकता है। हालांकि इस एक आदर्श समाधान नहीं है, वहाँ यह करने के लिए बेहतर तरीके होगा।

संबंधित मुद्दे