मैं कोशिश कर रहा हूँ कनेक्ट करने के लिए एक सुस्त स्लेश करने के लिए आदेश एक एडब्ल्यूएस लैम्ब्डा (के माध्यम से एडब्ल्यूएस एपीआई गेटवे).
मैं करने में सक्षम था अनुकूल हैलो, दुनिया खाका (Python में लिखा) में लैम्ब्डा ट्यूटोरियल अनुभाग. मैं सेट अप एक एपीआई गेटवे एक ट्रिगर के रूप में, तो था सुस्त पोस्ट स्लेश करने के लिए आदेश एपीआई समापन बिंदु. मैं था करने के लिए मैन्युअल रूप से समझाना base64 शरीर का उपयोग तो, parse_qs कन्वर्ट करने के लिए क्वेरी स्ट्रिंग की तरह पोस्ट शरीर में एक शब्दकोश है, जहां मैं पहुँच सकता है तो यह बस ठीक है.
मेरा असली लैम्ब्डा कोड वर्तमान में जावा में है, लेकिन मैं शुरू कर दिया है के साथ जावा बुनियादी नमूना अनुप्रयोग डेवलपर्स से गाइड. मैं बनाया एप्लिकेशन के साथ, अपलोड, जार और पुष्टि की सही हैंडलर था बुलाया जा रहा है. मैं सेट अप एक और एपीआई गेटवे और बताया एक अलग सुस्त स्लेश करने के लिए आदेश में नए endpoin. यह विफल रहता है ।
प्रवेश की तरह लग रहा है:
java.lang.RuntimeException: An error occurred during JSON parsing
Caused by: java.io.UncheckedIOException: com.amazonaws.lambda.thirdparty.com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_OBJECT token
at [Source: (ByteArrayInputStream); line: 1, column: 1]
मैं अनुमान लगा रहा हूँ इस का मतलब है सुस्त है भेजने के एक ही क्वेरी स्ट्रिंग की तरह तर्क पोस्ट में शरीर, और के लिए कुछ कारण से, कुछ की उम्मीद है JSON इनपुट, नहीं सिर्फ पाठ है. मैं क्यों समझ में नहीं आता अजगर हैंडलर के साथ ठीक था के निर्माण में एक घटना शब्दकोश और लैम्ब्डा समझाना पोस्ट शरीर, जबकि जावा हैंडलर है कभी नहीं हो रही है कहा जाता है, लेकिन मर रहा है इससे पहले कि जब deserialize करने के लिए प्रयास करने के बाद शरीर के बारे में सोच, यह JSON.
दोनों Lambdas और एपीआई गेटवे स्थापित किए गए थे के साथ सामान्य चूक, AFAICT.