אתם קוראים את מאמרי העזרה של Apigee Edge.
אפשר לעבור אל מסמכי התיעוד של Apigee X. מידע
גרסה: 1.1.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 של המפתח. |
ללא. | כן. |