אתם קוראים את מאמרי העזרה של Apigee Edge.
כדאי לעיין במסמכי העזרה בנושא Apigee X. מידע
גרסה: 2.0.1
הפעלת פונקציות שנפרסו ב-AWS Lambda. אתם יכולים להשתמש בתוסף הזה כדי לראות רשימה של הפונקציות שזמינות בחשבון AWS שלכם, ואז להפעיל פונקציות ספציפיות.
דרישות מוקדמות
לפני שמשתמשים בתוסף משרת proxy של API באמצעות מדיניות ExtensionCallout, צריך:
מאחזרים את המזהה של מפתח הגישה ואת מפתח הגישה הסודי של Amazon.
תצטרכו את הפרטים האלה, יחד עם שם האזור שבו הפונקציות שלכם נפרסות, כדי להגדיר את התוסף הזה.
פורסים את פונקציית Lambda. כדי שהתוסף יוכל לגשת לפונקציית Lambda, הוא צריך להיות:
- הפריסה מתבצעת ב-VPC ציבורי
- פריסה ב-VPC פרטי עם שער NAT ציבורי
מידע נוסף זמין במאמר הגדרת פונקציית Lambda לגישה למשאבים ב-Amazon VPC.
מידע על AWS Lambda
AWS Lambda מספקת סביבות מחשוב שבהן אפשר להריץ פונקציות באחת מהשפות הנתמכות.
פעולות
להפעיל
מפעילה פונקציה ב-AWS Lambda.
מידע נוסף על פרמטרים זמין במסמכי העזרה בנושא הפעלה של AWS Lambda.
תחביר
<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.
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
functionName | השם של הפונקציה להפעלה. | מחרוזת. | ללא. | כן. |
invocationType | מציינת אם להפעיל את הפונקציה באופן סינכרוני או אסינכרוני, או לאמת את ערכי הפרמטרים. | מחרוזת. | ללא. | לא. |
logType | אופציונלי: מציינים אם להחזיר את 4KB האחרונים של נתוני היומן. | מחרוזת | ללא. | לא. |
מגדיר | הגרסה של הכינוי של פונקציית Lambda שפורסמה. | מחרוזת | ללא. | לא. |
מטען ייעודי (payload) | קובץ JSON כקלט לפונקציית Lambda. | מחרוזת | ללא. | לא. |
תשובה
מערך של פונקציות שמכיל פרטי גרסה ספציפיים. לדוגמה:
{
"StatusCode" : 200,
"Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
מאפייני התשובה
נכס | תיאור | סוג | ברירת מחדל |
---|---|---|---|
StatusCode | . | מספר שלם | ללא. |
מטען ייעודי | 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"
}
]
מאפייני התשובה
נכס | תיאור | סוג | ברירת מחדל |
---|---|---|---|
תיאור | תיאור של הפונקציה. | מחרוזת. | ללא. |
Handler | הפונקציה ש-Lambda קוראת לה כדי להתחיל להפעיל את הפונקציה. | מחרוזת. | ללא. |
FunctionArn | שם המשאב של Amazon של הפונקציה. | מחרוזת. | ללא. |
FunctionName | שם הפונקציה. | מחרוזת. | ללא. |
תפקיד | תפקיד ההרשאה של הפונקציה. | מחרוזת. | ללא. |
זמן ריצה | סביבת זמן הריצה של הפונקציה. | מחרוזת. | ללא. |
גרסה | הגרסה של הפונקציה. | מחרוזת. | ללא. |
הסבר על ההגדרות
כשמגדירים ופורסים את התוסף הזה לשימוש בשרתי proxy ל-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 של המפתח. |
ללא. | כן. |