AWS Lambda एक्सटेंशन

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

वर्शन: 1.1.1

AWS Lambda पर डिप्लॉय किए गए फ़ंक्शन एक्ज़ीक्यूट करें. इस एक्सटेंशन का इस्तेमाल अपने AWS खाते में उपलब्ध फ़ंक्शन की सूची बनाने और फिर खास फ़ंक्शन शुरू करने के लिए करें.

ज़रूरी शर्तें

एक्सटेंशन कॉलआउट की नीति की मदद से, किसी एपीआई प्रॉक्सी के एक्सटेंशन का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:

AWS Lambda के बारे में जानकारी

AWS Lambda, कंप्यूट एनवायरमेंट की सुविधा देता है जहां इस्तेमाल की जा सकने वाली किसी एक भाषा में फ़ंक्शन एक्ज़ीक्यूट किए जा सकते हैं.

कार्रवाइयां

शुरू करना

AWS Lambda पर फ़ंक्शन शुरू करता है.

पैरामीटर के बारे में ज़्यादा जानकारी के लिए, AWS Lambda Invoke दस्तावेज़ देखें.

सिंटैक्स

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "function-on-lambda",
  "invocationType" : "RequestResponse | Event | DryRun",
  "logType" : "None | Tail",
  "qualifier" : "Version-or-alias",
  "payload" : "Escaped-JSON-string"
}
]]>
</Input>
<Output>flow-variable</Output>

उदाहरण

<Action>invoke</Action>
<Input><![CDATA[
{
  "functionName" : "helloWorld",
  "invocationType" : "RequestResponse",
  "logType" : "None",
  "qualifier" : "$LATEST",
  "payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>

अनुरोध के पैरामीटर

पैरामीटर के बारे में ज़्यादा जानकारी के लिए, AWS Lambda Invoke दस्तावेज़ देखें.

पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
functionName शुरू करने के लिए फ़ंक्शन का नाम. स्ट्रिंग. कोई नहीं. हां.
invocationType इससे पता चलता है कि फ़ंक्शन को सिंक्रोनस, एसिंक्रोनस तरीके से शुरू करना है या पैरामीटर वैल्यू की पुष्टि करनी है. स्ट्रिंग. कोई नहीं. नहीं.
logType वैकल्पिक रूप से यह तय करता है कि आखिरी 4 केबी का लॉग डेटा दिखाना है या नहीं. स्ट्रिंग कोई नहीं. नहीं.
क्वालीफ़ायर पब्लिश किए गए Lambda फ़ंक्शन के उपनाम का वर्शन. स्ट्रिंग कोई नहीं. नहीं.
पेलोड Lambda फ़ंक्शन के लिए इनपुट के तौर पर JSON. स्ट्रिंग कोई नहीं. नहीं.

जवाब

फ़ंक्शन का कलेक्शन, जिसमें वर्शन की खास जानकारी शामिल होती है. यह एक उदाहरण है:

{
  "StatusCode" : 200,
  "Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}

रिस्पॉन्स प्रॉपर्टी

प्रॉपर्टी ब्यौरा टाइप डिफ़ॉल्ट
StatusCode एचटीटीपी स्टेटस कोड. पूर्णांक कोई नहीं.
पेलोड JSON, जो फ़ंक्शन से मिले ऑब्जेक्ट को दिखाता है. सिर्फ़ तब प्रज़ेंट करें, जब उसे शुरू करने का तरीका requestResponse हो. फ़ंक्शन की गड़बड़ी के लिए, इसमें गड़बड़ी की जानकारी वाला एक मैसेज शामिल होता है. स्ट्रिंग कोई नहीं.

listFunctions

इसमें, AWS Lambda फ़ंक्शन के लिए उपलब्ध फ़ंक्शन की सूची दी गई है.

पैरामीटर के बारे में ज़्यादा जानकारी के लिए, AWS Lambda ListFunctions दस्तावेज़ देखें.

सिंटैक्स

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL | [a-z]{2}(-gov)?-[a-z]+-\d{1}",
  "functionVersion" : "ALL",
  "maxItems" : 1 - 10000
}
]]>
</Input>
<Output>flow-variable</Output>

उदाहरण

<Action>listFunctions</Action>
<Input><![CDATA[
{
  "masterRegion" : "ALL",
  "functionVersion" : "ALL",
  "maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>

अनुरोध के पैरामीटर

पैरामीटर के बारे में ज़्यादा जानकारी के लिए, AWS Lambda ListFunctions दस्तावेज़ देखें.

पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
masterRegion वह क्षेत्र (जैसे कि us-east-2) जिसके फ़ंक्शन की जानकारी दी जानी चाहिए; किसी भी इलाके के फ़ंक्शन शामिल करने के लिए, ALL. अगर बताया गया है, तो आपको functionVersion भी बताना होगा. स्ट्रिंग कोई नहीं. नहीं.
functionVersion पब्लिश किए गए सभी वर्शन की सूची बनाने के लिए, ALL तय करें. अगर इस नीति को सेट नहीं किया जाता है, तो सिर्फ़ पब्लिश न किया गया नया वर्शन ARN दिखाया जाता है. स्ट्रिंग कोई नहीं. नहीं.
maxItems रिस्पॉन्स में दिए जाने वाले फ़ंक्शन की ज़्यादा से ज़्यादा संख्या. 0 से ज़्यादा होना चाहिए. ज़्यादा से ज़्यादा 50 वैल्यू ही दिखाई जा सकती हैं. पूर्णांक कोई नहीं. नहीं.

जवाब

JSON, जो फ़ंक्शन के कलेक्शन के बारे में बताता है. इसमें वर्शन की जानकारी शामिल होती है.

[
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "$LATEST"
  },
  {
    "FunctionName": "helloWorld",
    "FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
    "Runtime": "nodejs",
    "Role": "arn:aws:iam::012345:role/service-role/fakeRole",
    "Handler": "index.handler",
    "Description": "A Hello World lambda function.",
    "Version": "1"
  }
]

रिस्पॉन्स प्रॉपर्टी

प्रॉपर्टी ब्यौरा टाइप डिफ़ॉल्ट
ब्यौरा फ़ंक्शन की जानकारी. स्ट्रिंग. कोई नहीं.
हैंडलर वह फ़ंक्शन जिसे Lambda फ़ंक्शन फ़ंक्शन से एक्ज़ीक्यूट करने के लिए कॉल करता है. स्ट्रिंग. कोई नहीं.
FunctionArn फ़ंक्शन का Amazon संसाधन नाम. स्ट्रिंग. कोई नहीं.
FunctionName फ़ंक्शन का नाम. स्ट्रिंग. कोई नहीं.
भूमिका फ़ंक्शन की निष्पादन भूमिका. स्ट्रिंग. कोई नहीं.
रनटाइम फ़ंक्शन का रनटाइम एनवायरमेंट. स्ट्रिंग. कोई नहीं.
वर्शन फ़ंक्शन का वर्शन. स्ट्रिंग. कोई नहीं.

कॉन्फ़िगरेशन रेफ़रंस

एपीआई प्रॉक्सी में इस्तेमाल करने के लिए, इस एक्सटेंशन को कॉन्फ़िगर और डिप्लॉय करते समय, इनका इस्तेमाल करें. Apigee कंसोल का इस्तेमाल करके एक्सटेंशन को कॉन्फ़िगर करने का तरीका जानने के लिए, एक्सटेंशन जोड़ना और उसे कॉन्फ़िगर करना लेख पढ़ें.

सामान्य एक्सटेंशन प्रॉपर्टी

हर प्रॉपर्टी के लिए नीचे दी गई प्रॉपर्टी मौजूद हैं.

प्रॉपर्टी जानकारी डिफ़ॉल्ट ज़रूरी है
name वह नाम, जिसे आप एक्सटेंशन का यह कॉन्फ़िगरेशन दे रहे हैं. कभी नहीं हां
packageName एक्सटेंशन पैकेज का नाम, जो Apigee Edge से दिया गया है. कभी नहीं हां
version उस एक्सटेंशन पैकेज का वर्शन नंबर जिससे आपको एक्सटेंशन कॉन्फ़िगर करना है. कभी नहीं हां
configuration आप जिस एक्सटेंशन को जोड़ रहे हैं उसके लिए खास तौर पर कॉन्फ़िगरेशन वैल्यू. इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी देखें कभी नहीं हां

इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी

नीचे दी गई कॉन्फ़िगरेशन प्रॉपर्टी के लिए, खास तौर पर इस एक्सटेंशन के लिए वैल्यू तय करें.

प्रॉपर्टी ब्यौरा डिफ़ॉल्ट ज़रूरी है
एडब्ल्यूएस लैम्बडा रीजन उस क्षेत्र का नाम जहां आपके फ़ंक्शन डिप्लॉय किए गए हैं. उदाहरण के लिए: us-east-1. कोई नहीं. हां.
क्रेडेंशियल Apigee Edge कंसोल में डालने पर, यह एक JSON फ़ाइल होती है, जिसमें आपका Amazon ऐक्सेस कुंजी आईडी और ऐक्सेस कुंजी इस फ़ॉर्म में होती है:

{
"accessKeyId" : "access-key-ID",
"secretAccessKey" : "secret-access-key"
}

Management API के ज़रिए भेजने पर, यह base64 कोड में बदली गई वैल्यू होती है. यह वैल्यू उस JSON फ़ाइल से जनरेट होती है.
कोई नहीं. हां.