אתם צופים במסמכי התיעוד של Apigee Edge.
אפשר לעבור אל מסמכי התיעוד של Apigee X. מידע
גרסה: 2.0.2
הפעלת פונקציות שנפרסו ב-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"}כששולחים אותו באמצעות API לניהול, זהו ערך בקידוד base64 שנוצר מקובץ ה-JSON של המפתח. |
ללא. | כן. |