إضافة AWS Lambda

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

الإصدار: 2.0.2

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

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

قبل استخدام الإضافة من خادم وكيل لواجهة برمجة التطبيقات باستخدام سياسة ExtensionCallout، يجب تنفيذ ما يلي:

  • الحصول على رقم تعريف مفتاح الوصول السري ومفتاح الوصول السري إلى Amazon .

    ستحتاج إلى هذه المعلومات، بالإضافة إلى اسم المنطقة التي تم نشر الدوال فيها، لـ إعداد هذه الإضافة.

  • نشر دالة Lambda لكي تتمكّن الإضافة من الوصول إلى دالة Lambda، يجب أن تكون:

    • منشورة في سحابة VPC علنية
    • منشورة في سحابة VPC خاصة مع بوابة NAT علنية

    لمزيد من المعلومات، يُرجى الاطّلاع على مقالة إعداد دالة Lambda للوصول إلى الموارد في سحابة Amazon VPC.

لمحة عن AWS Lambda

توفّر AWS Lambda بيئات حوسبة يمكنك فيها تنفيذ الدوال بإحدى اللغات المتوافقة.

الإجراءات

invoke

يستدعي دالة على 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 كيلوبايت من بيانات السجلّ سلسلة بلا عُري لا.
qualifier إصدار أو اسم مستعار لدالة Lambda منشورة سلسلة بلا عُري لا.
payload JSON كإدخال إلى دالة Lambda سلسلة بلا عُري لا.

الردّ

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

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

سمات الردّ

الموقع الوصف النوع القيمة التلقائية
StatusCode رمز حالة HTTP‬. عدد صحيح بلا عُري
Payload 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"
  }
]

سمات الردّ

الموقع الوصف النوع القيمة التلقائية
Description وصف الدالة سلسلة. بلا عُري
Handler الدالة التي يستدعيها Lambda لبدء تنفيذ الدالة سلسلة. بلا عُري
FunctionArn رقم تعريف المورد (ARN) للدالة على Amazon سلسلة. بلا عُري
FunctionName اسم الدالة سلسلة. بلا عُري
Role دور تنفيذ الدالة سلسلة. بلا عُري
Runtime بيئة وقت تشغيل الدالة سلسلة. بلا عُري
Version إصدار الدالة سلسلة. بلا عُري

مرجع الإعدادات

استخدِم ما يلي عند إعداد هذه الإضافة ونشرها لاستخدامها في الخوادم الوكيلة لواجهة برمجة التطبيقات. للاطّلاع على خطوات إعداد إضافة باستخدام وحدة تحكّم Apigee، يُرجى الانتقال إلى مقالة إضافة إضافة وإعدادها.

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

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

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

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

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

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

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

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