18

मेरे पास node.js एक्सप्रेस के साथ विकसित एक मोबाइल एप्लिकेशन बैकएंड है। मैंने इसे लैम्ब्डा सेवा के रूप में तैनात करने की कोशिश की। इसके लिए मैंने एक सर्वरलेस फ्रेमवर्क प्रोजेक्ट बनाया (https://github.com/serverless)। पहले मैंने एक्सप्रेस बैकएंड एप्लिकेशन शुरू करके स्थानीय रूप से मोबाइल ऐप का परीक्षण किया था। अब मुझे स्थानीय बैकएंड के बिना स्थानीय रूप से अपने मोबाइल ऐप का परीक्षण करने का कोई तरीका नहीं मिल रहा है। jaws run कमांड केवल एक बार चलाने के बाद चलाया जाता है।स्थानीय रूप से aws lambda कार्यों का परीक्षण कैसे करें

क्या लैम्बडा फ़ंक्शन को वेब सेवा के रूप में शुरू करने का कोई तरीका है? या सर्वर रहित फ्रेमवर्क के लिए कोई विकल्प है?

उत्तर

13

ऐसा नहीं लगता है कि अभी ऐसा करने का तरीका है, लेकिन संस्करण 1.4.0 जारी होने वाला है और अन्य चीजों के साथ, इसमें एक नई कमांड "जबड़े सेवा" शामिल होनी चाहिए जो आपकी समस्या का समाधान करे। https://github.com/jaws-framework/JAWS/pull/269

अद्यतन:

यहाँ पीआर है अब आप इस के लिए नए serverless-serve प्लगइन का उपयोग कर सकते हैं।

अद्यतन 2: सर्वर रहित सेवा को थोड़ी देर में अपडेट नहीं किया गया है, ऐसा लगता है कि serverless-offline अब लैम्ब्डा कार्यों को अनुकरण करने के लिए एक बेहतर विकल्प है।

+0

धन्यवाद, serverless इस्तेमाल किया जा सकता GitHub पेज है न केवल ऑफ़लाइन परीक्षण के लिए बल्कि यह तैनाती और अन्य सामानों में भी मदद करता है। –

1

1.4 अभी तक जारी नहीं किया गया है के रूप में ...

पिछले हफ्ते मैं बिल्कुल वही बात की जरूरत है। https://github.com/martinlindenberg/JawsLocalServer

  • सभी हेडर और मानकों घटना-वस्तु है कि हैंडलर को पारित कर दिया है पर कॉपी किया गया: इसलिए मैं एक छोटे से नकली सर्वर है कि स्थानीय स्तर पर चलाया जा सकता है बनाया।
  • संदर्भ वस्तु एक साधारण उद्देश्य यह है कि प्रतिक्रिया ऑब्जेक्ट
3

मुझे यकीन है कि अगर यह सवाल अब भी प्रासंगिक है या नहीं नहीं कर रहा हूँ करने के लिए डेटा अग्रेषित करता है, लेकिन मैं स्थानीय स्तर पर कोड का परीक्षण करने के DEEP Framework उपयोग कर रहा हूँ और/या एडब्ल्यूएस लैम्ब्डा पर इसे तैनात करें। इस की जाँच करें:

npm install deepify -g 

deepify run-lambda --help 

    [email protected] - Run Lambda function locally 

    Usage example: deepify run-lambda path/to/the/lambda -e='{"Name":"John Doe"}' 

    Arguments: 
    path: The path to the Lambda (directory of handler itself) 

    Options: 
    --event|-e: JSON string used as the Lambda payload 
    --skip-frontend-build|-f: Skip picking up _build path from the microservices Frontend 
    --db-server|-l: Local DynamoDB server implementation (ex. LocalDynamo, Dynalite) 
    --version|-v: Prints command version 
    --help|-h: Prints command help 

प्रकटीकरण: मैं इस ढांचे

+1

इसे काम पर नहीं ला सकता है:/"लैम्ब्डा शुरू करने" के बाद लटकता है। – tedder42

0

योगदानकर्ताओं में से एक हूँ इस पोस्ट की तारीख के रूप में, आप sls function run [name-of-function] करके स्थानीय स्तर पर कार्य करता चला सकते हैं। आपके फ़ंक्शन के event.json में उपयोग किए गए किसी भी जेसन को आपके फ़ंक्शन में पास कर दिया जाएगा।

अपने एंडपॉइंट्स का परीक्षण करने के लिए, आप Serverless Offline का भी उपयोग कर सकते हैं जो serverless-serve प्रोजेक्ट का कांटा है।

+2

'कमांड" फ़ंक्शन "नहीं मिला ' – GreenAsJade

1

Bespoken sevrerless plugin आपके स्थानीय Lambdas को बाहरी रूप से सुलभ बनाता है। पोस्टमैन के साथ-साथ वेबहूक-आधारित सेवाओं (जैसे एलेक्सा, स्लैक, ट्विलियो इत्यादि) के साथ स्थानीय परीक्षण के लिए यह बहुत उपयोगी है।

वास्तुकला यहाँ दिखाया गया है: enter image description here

इसका इस्तेमाल करने के लिए आपको बस प्लगइन स्थापित है, तो चलाएँ:

sls proxy 

फिर आप स्थानीय रूप से आपकी सेवा के लिए अनुरोध भेजने शुरू कर सकते हैं:

enter image description here

हमें लगता है कि यह सर्वर रहित परीक्षण के लिए एक बहुत ही उपयोगी टूल है।

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