إضافة AWS Lambda

أنت تطّلع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

الإصدار: 2.0.0

تنفيذ الدوالّ المنشورة على AWS Lambda استخدِم هذه الإضافة لعرض الدوالّ المتاحة في حسابك على AWS، ثم استدعاء دوالّ معيّنة.

المتطلبات الأساسية

قبل استخدام الإضافة من خادم وكيل لواجهة برمجة التطبيقات باستخدام سياسة 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.

المَعلمة الوصف النوع تلقائي مطلوب
functionName اسم الدالة المطلوب استدعاؤها سلسلة. بلا عُري نعم.
invocationType تُحدِّد ما إذا كان سيتم استدعاء الدالة بشكل متزامن أو غير متزامن أو التحقّق من قيم المَعلمات. سلسلة. بلا عُري لا.
logType يحدِّد هذا الخيار اختياريًا ما إذا كان سيتم عرض آخر 4 كيلوبايت من بيانات السجلّ. سلسلة بلا عُري لا.
مؤهِّل إصدار الاسم المعرِّف لدالة Lambda المنشورة سلسلة بلا عُري لا.
الحمولة تنسيق JSON كمدخل لدالة Lambda سلسلة بلا عُري لا.

الردّ

صفيف من الدوالّ يحتوي على تفاصيل إصدار معيّنة في ما يلي مثال:

{
  "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 الحد الأقصى لعدد الدوالّ التي سيتم عرضها في الردّ يجب أن تكون أكبر من 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، اطّلِع على إضافة إضافة وضبطها.

سمات الإضافات الشائعة

السمات التالية متاحة لكل إضافة.

الموقع الوصف تلقائي عنصر مطلوب
name الاسم الذي تُعطِه هذه الإضافة من الإضافات. لا ينطبق متوافق
packageName اسم حزمة الإضافة كما هو مُوضَّح من Apigee Edge. لا ينطبق متوافق
version رقم إصدار حزمة الإضافة التي تجري عملية إعداد الإضافة منها. لا ينطبق متوافق
configuration قيمة الإعداد المتعلقة بالإضافة التي تدرجها الاطّلاع على خصائص حزمة الإضافات هذه لا ينطبق متوافق

سمات حزمة الإضافة هذه

حدِّد قيمًا لسمات الإعدادات التالية الخاصة بهذه الإضافة.

الموقع الوصف تلقائي مطلوب
منطقة AWS Lambda اسم المنطقة التي تم نشر دوالّك فيها على سبيل المثال: us-east-1. بلا عُري نعم.
بيانات الاعتماد عند إدخاله في وحدة تحكّم Apigee Edge، يكون هذا ملف JSON يحتوي على معرّف مفتاح الوصول إلى Amazon ومفتاح الوصول بالشكل التالي:

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

عند إرساله عبر Management API، تكون قيمة مُشفَّرة بترميز base64 تم إنشاؤها من ملف JSON للمفتاح هذا.
بلا عُري نعم.