إضافة AWS Lambda

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

الإصدار: 2.0.1

تنفيذ الدوال التي تم نشرها على 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 اسم الدالة سلسلة. بلا عُري
الدور دور التنفيذ الخاص بالدالة سلسلة. بلا عُري
وقت التشغيل بيئة وقت تشغيل الدالة سلسلة. بلا عُري
الإصدار إصدار الدالة. سلسلة. بلا عُري

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

استخدِم ما يلي عند ضبط هذه الإضافة ونشرها لاستخدامها في خوادم 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"
}

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