پسوند AWS Lambda

شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید .
اطلاعات

نسخه: ۲.۰.۲

توابع مستقر در AWS Lambda را اجرا کنید. از این افزونه برای فهرست کردن توابع موجود در حساب AWS خود استفاده کنید، سپس توابع خاص را فراخوانی کنید.

پیش‌نیازها

قبل از استفاده از افزونه از یک پروکسی API با استفاده از سیاست ExtensionCallout ، باید:

درباره 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 مراجعه کنید.

پارامتر توضیحات نوع پیش‌فرض مورد نیاز
نام تابع نام تابعی که قرار است فراخوانی شود. رشته. هیچ کدام. بله.
نوع فراخوانی مشخص می‌کند که آیا تابع به صورت همزمان، ناهمزمان یا اعتبارسنجی مقادیر پارامتر فراخوانی شود. رشته. هیچ کدام. خیر.
نوع ورود به صورت اختیاری مشخص می‌کند که آیا ۴ کیلوبایت آخر داده‌های لاگ برگردانده شود یا خیر. رشته هیچ کدام. خیر.
واجد شرایط نسخه نام مستعار یک تابع Lambda منتشر شده. رشته هیچ کدام. خیر.
بار مفید JSON به عنوان ورودی به تابع Lambda. رشته هیچ کدام. خیر.

پاسخ

آرایه‌ای از توابع که شامل جزئیات نسخه خاص است. مثال زیر:

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

خواص پاسخ

ملک توضیحات نوع پیش‌فرض
کد وضعیت کد وضعیت HTTP. عدد صحیح هیچ کدام.
بار مفید JSON که نشان دهنده شیء برگردانده شده توسط تابع است. فقط در صورتی ارائه می‌شود که نوع فراخوانی RequestResponse باشد. برای خطای تابع، این شامل یک پیام شرح خطا است. رشته هیچ کدام.

توابع لیست

توابع موجود 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 مراجعه کنید.

پارامتر توضیحات نوع پیش‌فرض مورد نیاز
منطقه اصلی منطقه‌ای (مانند us-east-2 ) که توابع آن باید فهرست شوند؛ ALL برای شامل کردن توابع از هر منطقه‌ای. در صورت مشخص شدن، باید functionVersion را نیز مشخص کنید. رشته هیچ کدام. خیر.
نسخه تابع برای فهرست کردن تمام نسخه‌های منتشر شده، ALL استفاده کنید. اگر مشخص نشود، فقط آخرین نسخه منتشر نشده ARN برگردانده می‌شود. رشته هیچ کدام. خیر.
حداکثر اقلام حداکثر تعداد توابعی که باید در پاسخ برگردانده شوند. باید بزرگتر از ۰ باشد. حداکثر مطلقی که می‌تواند برگرداند ۵۰ است. عدد صحیح هیچ کدام. خیر.

پاسخ

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"
  }
]

خواص پاسخ

ملک توضیحات نوع پیش‌فرض
توضیحات شرحی از تابع. رشته. هیچ کدام.
هندلر تابعی که لامبدا برای شروع اجرای تابع فراخوانی می‌کند. رشته. هیچ کدام.
تابع‌آرن نام منبع آمازون تابع. رشته. هیچ کدام.
نام تابع نام تابع. رشته. هیچ کدام.
نقش نقش اجرایی تابع. رشته. هیچ کدام.
زمان اجرا محیط زمان اجرای تابع. رشته. هیچ کدام.
نسخه نسخه تابع. رشته. هیچ کدام.

مرجع پیکربندی

هنگام پیکربندی و استقرار این افزونه برای استفاده در پروکسی‌های API، از موارد زیر استفاده کنید. برای مراحل پیکربندی یک افزونه با استفاده از کنسول Apigee، به بخش افزودن و پیکربندی یک افزونه مراجعه کنید.

ویژگی‌های افزونه‌های رایج

ویژگی های زیر برای هر افزونه وجود دارد.

ویژگی شرح پیش فرض ضروری
name نامی که به این پیکربندی افزونه می‌دهید. هیچ یک آره
packageName نام بسته افزودنی همانطور که توسط Apigee Edge داده شده است. هیچ یک آره
version شماره نسخه بسته برنامه افزودنی که از آن یک برنامه افزودنی را پیکربندی می کنید. هیچ یک آره
configuration مقدار پیکربندی مخصوص افزونه ای که اضافه می کنید. به ویژگی های این بسته برنامه افزودنی مراجعه کنید هیچ یک آره

ویژگی‌های این بسته الحاقی

مقادیر مربوط به ویژگی‌های پیکربندی زیر را که مختص این افزونه هستند، مشخص کنید.

ملک توضیحات پیش‌فرض مورد نیاز
منطقه لامبدا AWS نام منطقه‌ای که توابع شما در آن مستقر هستند. به عنوان مثال: us-east-1 . هیچ کدام. بله.
مدارک تحصیلی وقتی در کنسول Apigee Edge وارد می‌شوید، این یک فایل JSON است که شامل شناسه کلید دسترسی آمازون و کلید دسترسی شما به شکل زیر است:

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

وقتی با استفاده از API مدیریت ارسال می‌شود، یک مقدار کدگذاری شده با base64 است که از آن فایل JSON کلید تولید شده است.
هیچ کدام. بله.