أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
الإصدار: 2.0.1
تنفيذ الدوال التي تم نشرها على AWS Lambda استخدِم هذه الإضافة لإدراج الدوال المتاحة في حسابك على AWS، ثم استدعِ دوالاً معيّنة.
المتطلبات الأساسية
قبل استخدام الإضافة من خادم وكيل لواجهة برمجة التطبيقات باستخدام سياسة ExtensionCallout، عليك إجراء ما يلي:
احصل على رقم تعريف مفتاح الوصول ومفتاح الوصول السري الخاصَّين بحسابك على Amazon.
ستحتاج إلى هذه المعلومات، بالإضافة إلى اسم المنطقة التي تم نشر الدوال فيها، من أجل إعداد هذه الإضافة.
انشر دالة Lambda. لكي تتمكّن الإضافة من الوصول إلى دالة Lambda، يجب أن تكون إما:
- تمّ نشرها في شبكة VPC عامة
- تم نشره في شبكة VPC خاصة مع بوابة NAT عامة
لمزيد من المعلومات، يُرجى الاطّلاع على ضبط وظيفة Lambda للوصول إلى الموارد في شبكة Amazon 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.
المَعلمة | الوصف | النوع | تلقائي | مطلوب |
---|---|---|---|---|
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 الخاص بالمفتاح. |
بلا عُري | نعم. |