AWS Lambda এক্সটেনশন

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

ভার্সন: 2.0.0

AWS Lambda-তে ডেপ্লয় করা ফাংশন এক্সিকিউট করা। আপনার AWS অ্যাকাউন্টে উপলভ্য ফাংশনের তালিকা তৈরি করতে এই এক্সটেনশন ব্যবহার করুন, তারপর নির্দিষ্ট ফাংশন ইনভোক করুন।

পূর্বশর্ত

ExtensionCallout নীতি ব্যবহার করে API প্রক্সি থেকে এক্সটেনশন ব্যবহার করার আগে, আপনাকে অবশ্যই:

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 লগ ডেটার শেষ ৪ কেবি রিটার্ন করা হবে কিনা তা ঐচ্ছিকভাবে নির্দিষ্ট করে। স্ট্রিং কোনওটিই নয়। না।
কোয়ালিফায়ার প্রকাশিত Lambda ফাংশনের অ্যালিয়াসের ভার্সন। স্ট্রিং কোনওটিই নয়। না।
পেলোড Lambda ফাংশনে ইনপুট হিসেবে JSON। স্ট্রিং কোনওটিই নয়। না।

রেসপন্স

নির্দিষ্ট ভার্সনের বিবরণ সহ ফাংশনের একটি অ্যারে। নিচে একটি উদাহরণ দেওয়া হল:

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

উত্তরের প্রপার্টি

প্রপার্টি বিবরণ ধরন ডিফল্ট
StatusCode HTTP স্ট্যাটাস কোড। পূর্ণসংখ্যা কোনওটিই নয়।
পেলোড ফাংশন থেকে রিটার্ন করা অবজেক্টের 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 উত্তরে রিটার্ন করার জন্য ফাংশনের সর্বাধিক সংখ্যা। ০-এর থেকে বড় হতে হবে। সর্বাধিক ৫০টি ফলাফল দেখানো যাবে। পূর্ণসংখ্যা কোনওটিই নয়। না।

রেসপন্স

নির্দিষ্ট ভার্সনের বিবরণ সহ ফাংশনের অ্যারেকে প্রতিনিধিত্বকারী 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 ফাংশনের নাম। স্ট্রিং। কোনওটিই নয়।
ভূমিকা ফাংশনের এক্সিকিউশন রোল। স্ট্রিং। কোনওটিই নয়।
রানটাইম ফাংশনের রানটাইম এনভায়রনমেন্ট। স্ট্রিং। কোনওটিই নয়।
ভার্সন ফাংশনের ভার্সন। স্ট্রিং। কোনওটিই নয়।

কনফিগারেশন রেফারেন্স

API প্রক্সিতে ব্যবহারের জন্য এই এক্সটেনশন কনফিগার ও ডেপ্লয় করার সময় নিম্নলিখিত বিষয়গুলি ব্যবহার করুন। Apigee কনসোল ব্যবহার করে এক্সটেনশন কনফিগার করার ধাপগুলি জানতে, এক্সটেনশন যোগ করা ও কনফিগার করা দেখুন।

এক্সটেনশনের সাধারণ প্রপার্টি

নিম্নলিখিত বৈশিষ্ট্যগুলি প্রতিটি এক্সটেনশনের জন্য উপস্থিত রয়েছে।

সম্পত্তি বর্ণনা ডিফল্ট প্রয়োজন
name আপনি এক্সটেনশনের এই কনফিগারেশনের নাম দিন। কোনোটিই নয় হ্যাঁ
packageName Apigee Edge দ্বারা প্রদত্ত এক্সটেনশন প্যাকেজের নাম। কোনোটিই নয় হ্যাঁ
version যে এক্সটেনশন প্যাকেজ থেকে আপনি একটি এক্সটেনশন কনফিগার করছেন তার সংস্করণ নম্বর। কোনোটিই নয় হ্যাঁ
configuration আপনি যে এক্সটেনশনটি যোগ করছেন তার জন্য নির্দিষ্ট কনফিগারেশন মান। এই এক্সটেনশন প্যাকেজের বৈশিষ্ট্য দেখুন কোনোটিই নয় হ্যাঁ

এই এক্সটেনশন প্যাকেজের প্রপার্টি

এই এক্সটেনশনের জন্য নির্দিষ্ট নিম্নলিখিত কনফিগারেশন প্রপার্টির ভ্যালু উল্লেখ করুন।

প্রপার্টি বিবরণ ডিফল্ট প্রয়োজনীয়
AWS Lambda অঞ্চল যে অঞ্চলে আপনার ফাংশন ডেপ্লয় করা হয়েছে তার নাম। যেমন: us-east-1. কোনওটিই নয়। হ্যাঁ।
ক্রেডেনশিয়াল Apigee Edge কনসোলে এটি লিখলে, এটি একটি JSON ফাইল হয় যাতে আপনার Amazon অ্যাক্সেস কী আইডি ও অ্যাক্সেস কী নিম্নলিখিত ফর্ম্যাটে থাকে:

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

ম্যানেজমেন্ট API ব্যবহার করে পাঠানোর সময়, এটি একটি base64-এনকোডেড ভ্যালু হয় যা সেই কী JSON ফাইল থেকে তৈরি হয়।
কোনওটিই নয়। হ্যাঁ।