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