amazon web services - मैं एडीबीएस लैम्ब्डा पर पर्यावरण चर का कैसे उपयोग कर सकता हूं?




amazon-web-services environment-variables (4)

मैं एक आवेदन लिख रहा हूं, जिसे मैं ए.डब्लू.एस. लेम्डा फ़ंक्शन के रूप में चलाना चाहता हूं, लेकिन बारह-फैक्टर ऐप दिशानिर्देशों का भी पालन करता हूं। विशेष भाग III में कॉन्फ़िगरेशन के लिए पर्यावरण चर का उपयोग करने की आवश्यकता है।

हालांकि, मुझे ऐडब्लूएस लैम्दा उदाहरणों के लिए पर्यावरण चर को सेट करने का कोई तरीका नहीं मिल सकता है। क्या कोई मुझे सही दिशा दिखा सकता है?

यदि पर्यावरण चर का उपयोग करना संभव नहीं है, तो आप स्थानीय विकास के लिए पर्यावरण चर का उपयोग करने का एक तरीका सुझा सकते हैं और उन्हें एक वैध विन्यास प्रणाली में बदल दिया गया है जो कि एडब्ल्यूएस में आवेदन कोड का उपयोग कर सकते हैं।

धन्यवाद।


लैम्ब्डा निष्पादन के लिए एन्वीवी चर को कॉन्फ़िगर करने का कोई तरीका नहीं है क्योंकि प्रत्येक अभिविन्यास पृथक है और कोई राज्य जानकारी संग्रहीत नहीं है। हालांकि, आप क्या चाहते हैं, इसे हासिल करने के तरीके हैं।

AWS credentials - आप इसे संचय में से बच सकते हैं कि एन्वीवी चर में इसके बजाय विशेषाधिकारों को अपनी LambdaExec भूमिका में दे दें वास्तव में, एडब्लूएस एडब्ल्यूएस क्रेडेंशियल्स के बजाय भूमिकाओं का उपयोग करने की सिफारिश करता है।

Database details : एक सुझाव है कि इसे निजी बाल्टी में एक प्रसिद्ध फ़ाइल में स्टोर करना है। लैम्ब्डा उस फ़ाइल को डाउनलोड कर सकती है जब इसे लागू किया जाता है, उस सामग्री को पढ़िए, जिसमें डेटाबेस का विवरण और अन्य जानकारी हो सकती है। चूंकि बाल्टी निजी है, अन्य फाइल को एक्सेस नहीं कर सकते। LambdaExec भूमिका को निजी बाल्टी तक पहुंचने के लिए IAM विशेषाधिकारों की आवश्यकता है LambdaExec


शायद नोड-लैम्ब्डा की 'कस्टम पर्यावरण चर' सुविधा आपकी चिंताओं का समाधान करेगी:

https://www.npmjs.com/package/node-lambda
https://github.com/motdotla/node-lambda

"ऐडब्लूएस लैम्ब्डा आपको अपने फ़ंक्शन के लिए पर्यावरण चर सेट नहीं करने देता है, लेकिन कई मामलों में आपको अपने फ़ंक्शन को सुरक्षित मानों के साथ कॉन्फ़िगर करना होगा, जिसे आप संस्करण नियंत्रण में नहीं देखना चाहते, उदाहरण के लिए डीबी कनेक्शन स्ट्रिंग या एन्क्रिप्शन कुंजी नमूना deploy.env फ़ाइल को --configFile फ्लैग के साथ संयोजन में मान सेट करने के लिए प्रयोग करें जो कि आपके संकलित लैम्ब्डा फ़ंक्शन के रूप में process.env परिवेश चर के रूप में तैयार किए जाने से पहले S3 पर अपलोड हो जाएगा। "


18 नवंबर 2016 तक, ए.डब्ल्यू.एस. लम्बाडा पर्यावरण चर का समर्थन करता है

पर्यावरण चर दोनों AWS कंसोल और एडब्लूएस सीएलआई का उपयोग कर निर्दिष्ट किया जा सकता है। ऐसा है कि आप एक LD_LIBRARY_PATH चर के साथ LD_LIBRARY_PATH सीएलआई का उपयोग कर एक लम्ब्डा बनाते हैं:

aws lambda create-function \
  --region us-east-1
  --function-name myTestFunction
  --zip-file fileb://path/package.zip
  --role role-arn
  --environment Variables={LD_LIBRARY_PATH=/usr/bin/test/lib64}
  --handler index.handler
  --runtime nodejs4.3
  --profile default

एडब्ल्यूएस ने पर्यावरण पैरामीटर के जरिए लम्बा फ़ंक्शंस के विन्यास के लिए समर्थन जोड़ा। यहाँ एक नज़र डालें





aws-lambda