Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
वर्शन: 2.0.0
AWS Lambda पर डिप्लॉय किए गए फ़ंक्शन चलाएं. अपने AWS खाते में उपलब्ध फ़ंक्शन की सूची बनाने के लिए, इस एक्सटेंशन का इस्तेमाल करें. इसके बाद, खास फ़ंक्शन को चालू करें.
ज़रूरी शर्तें
ExtensionCallout नीति का इस्तेमाल करके, एपीआई प्रॉक्सी से एक्सटेंशन का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:
Amazon का ऐक्सेस कुंजी आईडी और सीक्रेट ऐक्सेस कुंजी पाएं.
इस एक्सटेंशन को configure करने के लिए, आपको इन क्रेडेंशियल के साथ-साथ उस क्षेत्र का नाम भी चाहिए जहां आपके फ़ंक्शन डिप्लॉय किए गए हैं.
अपना Lambda फ़ंक्शन डिप्लॉय करें. एक्सटेंशन के लिए, Lambda फ़ंक्शन को ऐक्सेस करने के लिए, यह ज़रूरी है कि:
- सार्वजनिक वीपीसी में डिप्लॉय किया गया हो
- सार्वजनिक एनएटी गेटवे वाले निजी VPC में डिप्लॉय किया गया
ज़्यादा जानकारी के लिए, Amazon VPC में संसाधनों को ऐक्सेस करने के लिए, Lambda फ़ंक्शन को कॉन्फ़िगर करना लेख पढ़ें.
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 एट्रिब्यूट की वैल्यू भी देनी होगी. |
स्ट्रिंग | कोई नहीं. | नहीं. |
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 console का इस्तेमाल करके एक्सटेंशन को कॉन्फ़िगर करने का तरीका जानने के लिए, एक्सटेंशन जोड़ना और कॉन्फ़िगर करना लेख पढ़ें.
सामान्य एक्सटेंशन प्रॉपर्टी
हर प्रॉपर्टी के लिए नीचे दी गई प्रॉपर्टी मौजूद हैं.
प्रॉपर्टी | जानकारी | डिफ़ॉल्ट | ज़रूरी है |
---|---|---|---|
name |
वह नाम, जिसे आप एक्सटेंशन का यह कॉन्फ़िगरेशन दे रहे हैं. | कभी नहीं | हां |
packageName |
एक्सटेंशन पैकेज का नाम, जो Apigee Edge से दिया गया है. | कभी नहीं | हां |
version |
उस एक्सटेंशन पैकेज का वर्शन नंबर जिससे आपको एक्सटेंशन कॉन्फ़िगर करना है. | कभी नहीं | हां |
configuration |
आप जिस एक्सटेंशन को जोड़ रहे हैं उसके लिए खास तौर पर कॉन्फ़िगरेशन वैल्यू. इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी देखें | कभी नहीं | हां |
इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी
इस एक्सटेंशन के लिए, यहां दी गई कॉन्फ़िगरेशन प्रॉपर्टी की वैल्यू दें.
प्रॉपर्टी | ब्यौरा | डिफ़ॉल्ट | ज़रूरी है |
---|---|---|---|
AWS Lambda का क्षेत्र | उस क्षेत्र का नाम जहां आपके फ़ंक्शन डिप्लॉय किए गए हैं. उदाहरण के लिए: us-east-1 . |
कोई नहीं. | हां. |
क्रेडेंशियल | Apigee Edge कंसोल में डालने पर, यह एक JSON फ़ाइल होती है. इसमें आपके Amazon ऐक्सेस पासकोड आईडी और ऐक्सेस पासकोड इस फ़ॉर्मैट में होता है:{ "accessKeyId" : "access-key-ID", "secretAccessKey" : "secret-access-key" } मैनेजमेंट एपीआई के ज़रिए भेजे जाने पर, यह उस कुंजी वाली JSON फ़ाइल से जनरेट की गई, base64-एन्क्रिप्ट की गई वैल्यू होती है. |
कोई नहीं. | हां. |