شما در حال مشاهده اسناد Apigee Edge هستید.
به مستندات Apigee X بروید . اطلاعات
نسخه: 1.1.2
عملکردهای مستقر در AWS Lambda را اجرا کنید. از این افزونه برای فهرست کردن توابع موجود در حساب AWS خود استفاده کنید، سپس توابع خاصی را فراخوانی کنید.
پیش نیازها
قبل از استفاده از برنامه افزودنی از یک پروکسی API با استفاده از خط مشی ExtensionCallout ، باید:
شناسه کلید دسترسی آمازون و کلید دسترسی مخفی خود را دریافت کنید.
برای پیکربندی این افزونه به اینها، همراه با نام منطقه ای که توابع شما در آن مستقر هستند، نیاز دارید.
تابع Lambda خود را اجرا کنید. برای اینکه برنامه افزودنی بتواند به یک تابع Lambda دسترسی داشته باشد، باید یکی از موارد زیر باشد:
- در VPC عمومی مستقر شده است
- در یک VPC خصوصی با دروازه عمومی NAT مستقر شده است
برای اطلاعات بیشتر به پیکربندی یک تابع لامبدا برای دسترسی به منابع در VPC آمازون مراجعه کنید.
درباره 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 مراجعه کنید.
پارامتر | توضیحات | تایپ کنید | پیش فرض | مورد نیاز |
---|---|---|---|---|
نام تابع | نام تابعی که باید فراخوانی شود. | رشته | هیچ کدام | بله. |
InvocationType | مشخص می کند که آیا تابع به صورت همزمان، ناهمزمان، یا اعتبارسنجی مقادیر پارامتر فراخوانی شود. | رشته | هیچ کدام | خیر |
logType | به صورت اختیاری مشخص می کند که آیا آخرین 4 کیلوبایت داده گزارش برگردانده شود یا خیر. | رشته | هیچ کدام | خیر |
واجد شرایط | نسخه نام مستعار یک تابع Lambda منتشر شده. | رشته | هیچ کدام | خیر |
محموله | JSON به عنوان ورودی تابع Lambda. | رشته | هیچ کدام | خیر |
پاسخ
مجموعه ای از توابع حاوی جزئیات نسخه خاص. نمونه زیر است:
{
"StatusCode" : 200,
"Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
ویژگی های پاسخگویی
اموال | توضیحات | تایپ کنید | پیش فرض |
---|---|---|---|
کد وضعیت | کد وضعیت HTTP | عدد صحیح | هیچ کدام |
بار | JSON نشان دهنده شیء برگشتی توسط تابع است. تنها در صورتی ارائه شود که نوع فراخوان RequestResponse باشد. برای یک خطای عملکرد، این حاوی یک پیام توصیف خطا است. | رشته | هیچ کدام |
لیست توابع
توابع موجود AWS Lambda را فهرست می کند.
برای جزئیات بیشتر در مورد پارامترها، به مستندات AWS ListFunctions Lambda مراجعه کنید.
نحو
<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 ListFunctions Lambda مراجعه کنید.
پارامتر | توضیحات | تایپ کنید | پیش فرض | مورد نیاز |
---|---|---|---|---|
مستر منطقه | منطقه ای (مانند 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 | نام منبع آمازون تابع. | رشته | هیچ کدام |
نام تابع | نام تابع. | رشته | هیچ کدام |
نقش | نقش اجرای تابع | رشته | هیچ کدام |
زمان اجرا | محیط زمان اجرا تابع. | رشته | هیچ کدام |
نسخه | نسخه تابع | رشته | هیچ کدام |
مرجع پیکربندی
هنگام پیکربندی و استقرار این افزونه برای استفاده در پراکسی های API از موارد زیر استفاده کنید. برای مراحل پیکربندی یک برنامه افزودنی با استفاده از کنسول Apigee، به افزودن و پیکربندی یک برنامه افزودنی مراجعه کنید.
ویژگی های رایج پسوند
ویژگی های زیر برای هر افزونه وجود دارد.
ویژگی | شرح | پیش فرض | ضروری |
---|---|---|---|
name | نامی که به این پیکربندی افزونه میدهید. | هیچ یک | آره |
packageName | نام بسته افزودنی همانطور که توسط Apigee Edge داده شده است. | هیچ یک | آره |
version | شماره نسخه بسته برنامه افزودنی که از آن یک برنامه افزودنی را پیکربندی می کنید. | هیچ یک | آره |
configuration | مقدار پیکربندی مخصوص افزونه ای که اضافه می کنید. به ویژگی های این بسته برنامه افزودنی مراجعه کنید | هیچ یک | آره |
ویژگی های این بسته افزونه
مقادیری را برای خصوصیات پیکربندی زیر مخصوص این افزونه مشخص کنید.
اموال | توضیحات | پیش فرض | مورد نیاز |
---|---|---|---|
منطقه AWS Lambda | نام منطقه ای که توابع شما در آن مستقر هستند. به عنوان مثال: us-east-1 . | هیچ کدام | بله. |
اعتبارنامه | هنگامی که در کنسول Apigee Edge وارد میشوید، این یک فایل JSON است که شامل شناسه کلید دسترسی آمازون و کلید دسترسی شما به شکل زیر است:{ "accessKeyId" : "access-key-ID", "secretAccessKey" : "secret-access-key" } هنگامی که از طریق API مدیریت ارسال می شود، یک مقدار کدگذاری شده با base64 است که از آن فایل کلید JSON تولید می شود. | هیچ کدام | بله. |