Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं. जानकारी
वर्शन: 1.1.1
AWS Lambda पर डिप्लॉय किए गए फ़ंक्शन लागू करें. अपने AWS खाते में उपलब्ध फ़ंक्शन को लिस्ट करने के लिए इस एक्सटेंशन का इस्तेमाल करें, फिर खास फ़ंक्शन को शुरू करें.
ज़रूरी शर्तें
एक्सटेंशन कॉल आउट नीति का इस्तेमाल करके, एपीआई प्रॉक्सी से एक्सटेंशन का इस्तेमाल करने से पहले:
अपने Amazon ऐक्सेस कुंजी आईडी और सीक्रेट ऐक्सेस कुंजी को पाएं.
इस एक्सटेंशन को configure करने के लिए, आपको इनकी ज़रूरत उस क्षेत्र के नाम के साथ होगी जहां आपके फ़ंक्शन डिप्लॉय किए गए हैं.
अपना Lambda फ़ंक्शन डिप्लॉय करें. एक्सटेंशन, Lambda फ़ंक्शन को ऐक्सेस कर सके, इसके लिए यह ज़रूरी है कि:
- सार्वजनिक VPC में डिप्लॉय किया गया
- सार्वजनिक NAT गेटवे वाले निजी 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 दस्तावेज़ देखें.
पैरामीटर | ब्यौरा | Type | डिफ़ॉल्ट | ज़रूरी है |
---|---|---|---|---|
functionName | शुरू किए जाने वाले फ़ंक्शन का नाम. | स्ट्रिंग. | कोई नहीं. | हां. |
invocationType | इससे तय होता है कि क्या फ़ंक्शन को सिंक्रोनस रूप से शुरू करना है, एसिंक्रोनस तरीके से शुरू करना है या पैरामीटर वैल्यू की पुष्टि करनी है. | स्ट्रिंग. | कोई नहीं. | नहीं. |
logType | विकल्प के तौर पर यह तय करता है कि लॉग डेटा का आखिरी 4 केबी डेटा लौटाना है या नहीं. | String | कोई नहीं. | नहीं. |
क्वालीफ़ायर | पब्लिश किए गए Lambda फ़ंक्शन के उपनाम का वर्शन. | String | कोई नहीं. | नहीं. |
payload | Lambda फ़ंक्शन के लिए इनपुट के रूप में JSON. | String | कोई नहीं. | नहीं. |
जवाब
वर्शन की खास जानकारी वाले फ़ंक्शन का कलेक्शन. यह उदाहरण है:
{
"StatusCode" : 200,
"Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
रिस्पॉन्स प्रॉपर्टी
प्रॉपर्टी | ब्यौरा | Type | डिफ़ॉल्ट |
---|---|---|---|
StatusCode | एचटीटीपी स्टेटस कोड. | Integer | कोई नहीं. |
पेलोड | JSON, जो फ़ंक्शन से लौटाए गए ऑब्जेक्ट को दिखाता है. सिर्फ़ तब प्रज़ेंट करें, जब मैसेज को शुरू करने का टाइप requestResponse हो. फ़ंक्शन से जुड़ी गड़बड़ी के लिए, इसमें गड़बड़ी की जानकारी वाला मैसेज दिखता है. | String | कोई नहीं. |
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 दस्तावेज़ देखें.
पैरामीटर | ब्यौरा | Type | डिफ़ॉल्ट | ज़रूरी है |
---|---|---|---|---|
masterRegion | वह क्षेत्र (जैसे कि us-east-2 ) जिसके फ़ंक्शन सूची में होने चाहिए; किसी भी क्षेत्र के फ़ंक्शन शामिल करने के लिए ALL . अगर बताया गया है, तो आपको functionVersion भी बताना होगा. |
String | कोई नहीं. | नहीं. |
functionVersion | पब्लिश किए गए सभी वर्शन की सूची बनाने के लिए, ALL तय करें. अगर जानकारी नहीं दी जाती है, तो सिर्फ़ नया और पब्लिश नहीं किया गया ARN वर्शन दिखता है. |
String | कोई नहीं. | नहीं. |
maxItems | रिस्पॉन्स में लौटाए जाने वाले फ़ंक्शन की ज़्यादा से ज़्यादा संख्या. 0 से ज़्यादा होना चाहिए. ज़्यादा से ज़्यादा 50 दिखाई जा सकती हैं. | Integer | कोई नहीं. | नहीं. |
जवाब
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"
}
]
रिस्पॉन्स प्रॉपर्टी
प्रॉपर्टी | ब्यौरा | Type | डिफ़ॉल्ट |
---|---|---|---|
ब्यौरा | फ़ंक्शन की जानकारी. | स्ट्रिंग. | कोई नहीं. |
हैंडलर | वह फ़ंक्शन जिसे Lambda फ़ंक्शन को एक्ज़ीक्यूट करने के लिए कॉल करता है. | स्ट्रिंग. | कोई नहीं. |
FunctionArn | फ़ंक्शन के Amazon संसाधन का नाम. | स्ट्रिंग. | कोई नहीं. |
FunctionName | फ़ंक्शन का नाम. | स्ट्रिंग. | कोई नहीं. |
Role | फ़ंक्शन को चलाने की भूमिका. | स्ट्रिंग. | कोई नहीं. |
रनटाइम | फ़ंक्शन का रनटाइम एनवायरमेंट. | स्ट्रिंग. | कोई नहीं. |
वर्शन | फ़ंक्शन का वर्शन. | स्ट्रिंग. | कोई नहीं. |
कॉन्फ़िगरेशन का रेफ़रंस
इस एक्सटेंशन को एपीआई प्रॉक्सी में इस्तेमाल करने के लिए, कॉन्फ़िगर और डिप्लॉय करते समय, इनका इस्तेमाल करें. Apigee कंसोल का इस्तेमाल करके, एक्सटेंशन को कॉन्फ़िगर करने का तरीका जानने के लिए, एक्सटेंशन जोड़ना और उसे कॉन्फ़िगर करना देखें.
सामान्य एक्सटेंशन प्रॉपर्टी
हर प्रॉपर्टी के लिए नीचे दी गई प्रॉपर्टी मौजूद हैं.
प्रॉपर्टी | जानकारी | डिफ़ॉल्ट | ज़रूरी है |
---|---|---|---|
name |
वह नाम, जिसे आप एक्सटेंशन का यह कॉन्फ़िगरेशन दे रहे हैं. | कभी नहीं | हां |
packageName |
एक्सटेंशन पैकेज का नाम, जो Apigee Edge से दिया गया है. | कभी नहीं | हां |
version |
उस एक्सटेंशन पैकेज का वर्शन नंबर जिससे आपको एक्सटेंशन कॉन्फ़िगर करना है. | कभी नहीं | हां |
configuration |
आप जिस एक्सटेंशन को जोड़ रहे हैं उसके लिए खास तौर पर कॉन्फ़िगरेशन वैल्यू. इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी देखें | कभी नहीं | हां |
इस एक्सटेंशन पैकेज की प्रॉपर्टी
इस एक्सटेंशन के लिए खास तौर पर, यहां दी गई कॉन्फ़िगरेशन प्रॉपर्टी की वैल्यू तय करें.
प्रॉपर्टी | ब्यौरा | डिफ़ॉल्ट | ज़रूरी है |
---|---|---|---|
AWS लाम्डा क्षेत्र | उस क्षेत्र का नाम जहां आपके फ़ंक्शन डिप्लॉय किए गए हैं. उदाहरण के लिए: us-east-1 . |
कोई नहीं. | हां. |
क्रेडेंशियल | Apigee Edge के कंसोल में डाले जाने पर, यह एक JSON फ़ाइल होती है. इसमें आपका Amazon ऐक्सेस कुंजी आईडी और ऐक्सेस कुंजी इस तरह से होती है:{ "accessKeyId" : "access-key-ID", "secretAccessKey" : "secret-access-key" } Management API से भेजी जाने पर, यह base64 कोड में बदली गई वैल्यू होती है, जो उस JSON फ़ाइल से जनरेट होती है. |
कोई नहीं. | हां. |