से वापसी प्रतिक्रिया कैसे प्राप्त करें मेरे पास एक साधारण लैम्ब्डा फ़ंक्शन है जो एक dict प्रतिक्रिया देता है और दूसरा लैम्ब्डा फ़ंक्शन उस कार्य को आमंत्रित करता है और प्रतिक्रिया प्रिंट करता है।एडब्ल्यूएस लैम्ब्डा फ़ंक्शन
लैम्ब्डा समारोह एक
def handler(event,context):
params = event['list']
return {"params" : params + ["abc"]}
लैम्ब्डा समारोह बी लागू एक
a=[1,2,3]
x = {"list" : a}
invoke_response = lambda_client.invoke(FunctionName="monitor-workspaces-status",
InvocationType='Event',
Payload=json.dumps(x))
print (invoke_response)
invoke_response
{u'Payload': <botocore.response.StreamingBody object at 0x7f47c58a1e90>, 'ResponseMetadata': {'HTTPStatusCode': 202, 'RequestId': '9a6a6820-0841-11e6-ba22-ad11a929daea'}, u'StatusCode': 202}
प्रतिक्रिया स्थिति 202 क्यों? साथ ही, invoke_response से प्रतिक्रिया डेटा कैसे प्राप्त करें? मुझे यह कैसे करना है इसका स्पष्ट दस्तावेज नहीं मिला।
मेरा दिन बना दिया! बहुत बहुत धन्यवाद। इसे कहीं भी –
'.read()' रिटर्न टाइप 'बाइट्स' में नहीं मिला है, इसलिए यदि आप स्ट्रिंग, JSON इत्यादि की अपेक्षा कर रहे थे, तो आपको उन्हें '.decode()' करना होगा। जैसे प्रतिक्रिया ['पेलोड']। पढ़ें()। डीकोड() ' –
और चूंकि 'json.dumps (obj)' उद्धृत स्ट्रिंग देता है, (** यदि आपने उस ** का उपयोग '' lambda_handler') यदि आप 'json.loads (प्रतिक्रिया [' पेलोड '] करते हैं तो आप एक स्ट्रिंग प्राप्त करने जा रहे हैं।()। decode())' और इसके आस-पास एक और 'json.loads() 'लपेटना होगा। तो, अपने लैम्ब्डा फ़ंक्शन में स्पष्ट रूप से JSON में कनवर्ट न करें। –