אתם צופים במסמכי התיעוד של 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"
}
]
מאפייני התגובה
| נכס | תיאור | סוג | ברירת מחדל |
|---|---|---|---|
| תיאור | תיאור של הפונקציה. | מחרוזת. | ללא. |
| מטפל | הפונקציה ש-Lambda קוראת לה כדי להתחיל להריץ את הפונקציה. | מחרוזת. | ללא. |
| FunctionArn | שם המשאב של Amazon של הפונקציה. | מחרוזת. | ללא. |
| FunctionName | שם הפונקציה. | מחרוזת. | ללא. |
| תפקיד | תפקיד ההרצה של הפונקציה. | מחרוזת. | ללא. |
| זמן ריצה | סביבת זמן הריצה של הפונקציה. | מחרוזת. | ללא. |
| גרסה | הגרסה של הפונקציה. | מחרוזת. | ללא. |
הסבר על ההגדרות
משתמשים בהגדרות הבאות כשמגדירים ופורסים את התוסף הזה לשימוש בשרתי proxy ל-API. במאמר הוספה והגדרה של תוסף מוסבר איך להגדיר תוסף באמצעות מסוף Apigee.
מאפייני תוספים נפוצים
המאפיינים הבאים קיימים בכל תוסף.
| נכס | תיאור | ברירת המחדל | נדרש |
|---|---|---|---|
name |
השם שבחרת לתצורה הזו של התוסף. | ללא | כן |
packageName |
השם של חבילת התוסף כפי שהוא סופק על ידי Apigee Edge. | ללא | כן |
version |
מספר הגרסה של חבילת התוסף שממנה מגדירים את התוסף. | ללא | כן |
configuration |
ערך הגדרה ספציפי לתוסף שרוצים להוסיף. מאפיינים לחבילת תוספים זו | ללא | כן |
מאפיינים של חבילת התוסף הזו
מציינים ערכים למאפייני ההגדרה הבאים שספציפיים לתוסף הזה.
| נכס | תיאור | ברירת מחדל | חובה |
|---|---|---|---|
| אזור AWS Lambda | שם האזור שבו הפונקציות נפרסות. לדוגמה: us-east-1. |
ללא. | כן. |
| פרטי כניסה | כשמזינים אותו במסוף Apigee Edge, זהו קובץ JSON שמכיל את מזהה מפתח הגישה ומפתח הגישה שלכם באמזון, בפורמט הבא:{"accessKeyId" : "access-key-ID","secretAccessKey" : "secret-access-key"}כששולחים אותו באמצעות Management API, זהו ערך בקידוד base64 שנוצר מקובץ ה-JSON של המפתח. |
ללא. | כן. |