כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
גרסה 1.3.1
מפעילים את הפונקציות ב-Cloud Functions שנפרסות דרך הפרויקט ב-Google Cloud.
נכון לעכשיו, התוסף הזה תומך בהפעלת פונקציות טריגר של HTTP.
דרישות מוקדמות
התוכן הזה מספק הפניה להגדרה של התוסף הזה ולשימוש בו. לפני שמשתמשים בתוסף משרת proxy של API באמצעות המדיניות בנושא יתרונות מרכזיים של תוסף, צריך:
מפעילים את Cloud Functions API.
הגדרה וdeploy של פונקציות ב-Cloud Functions לפרויקט ב-Google Cloud
נותנים גישת משתמשים דרך IAM לרמת הגישה הרצויה לפונקציה. לדוגמה, אפשר להגביל את הגישה לפונקציה רק לחשבון השירות שבו אתם משתמשים כדי להגדיר את התוסף.
יש להשתמש בתוכן של קובץ ה-JSON שמכיל את המפתח שהתקבל במהלך הוספה והגדרה של התוסף באמצעות ההפניה לתצורה.
מידע על Cloud Functions
באמצעות Google Cloud Functions, אתם יכולים ליצור ולפרוס פונקציות ב-Google Cloud, ואז להפעיל את הפונקציות האלה מקוד אחר. אם אתם רוצים להתחיל להשתמש ב-Cloud Functions, מומלץ לנסות את אחד מההתחלה המהירה.
טעימות
הדוגמה הבאה ממחישה איך להפעיל פונקציות ב-Cloud Functions באמצעות המדיניות בנושא יתרונות מרכזיים.
הפעלת הפונקציה Node.js
הדוגמה הבאה כוללת מדיניות של תוספי יתרונות מרכזיים שמפעילה תוסף של Google Cloud Functions. התוסף מפעיל את פונקציית ברירת המחדל "hello world" כשמפעילים את Cloud Functions API.
קוד ה-JavaScript הבא ב-Node.js פרוס ב-Cloud Functions עבור חשבון GCP. אם הבקשה כוללת מאפיין הודעה, הקוד יחזיר זאת. אחרת, הוא יחזיר את התגובה "Hello World!".
/**
* Responds to any HTTP request.
*
* @param {!express:Request} req HTTP request context.
* @param {!express:Response} res HTTP response context.
*/
exports.helloWorld = (req, res) => {
let message = req.query.message || req.body.message || 'Hello World!';
res.status(200).send(message);
};
הדוגמה הזו כוללת תוסף של Google Cloud Functions שהוגדר עם פרטי הכניסה הנדרשים לאימות, לקבלת הרשאה להפעלת קוד ב-Cloud Functions.
קוד הפונקציה הקודם נשמר ב-Cloud Functions בתור helloWorld
. קוד ההגדרה הבא של מדיניות ExtensionCallout משתמש בשם הזה, לצד ערכים של אזור ומזהה פרויקט שתואמים לפרטים של סביבת Cloud Functions שבה הפונקציה נפרסת.
<Action>invoke</Action>
<Input><![CDATA[
{
"region" : "us-central1",
"projectId" : "my-project",
"functionName" : "hello-world",
"method" : "POST",
"payload" : { "message" : "Hello yourself!" }
}
]]></Input>
<Output parsed="false">function.response</Output>
המדיניות הבאה של assignMessage מתעדת את ערך התגובה למטרות ניפוי באגים.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Function-Response">
<DisplayName>Get Function Response</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{function.response}</Payload>
</Set>
</AssignMessage>
התגובה לבקשה שלמעלה תהיה:
Hello yourself!
ערך ברירת המחדל של parsed
הוא true
. בדוגמה הזו, parsed="false"
מופיע בתג <Output>
של המדיניות,
שמונע מהמדיניות לנתח את תגובת ה-JSON.
ברוב המצבים שבהם משתמשים בתוסף של Cloud Functions מגדירים את parsed="false"
.
לפרטים נוספים, אפשר לעיין ברכיב<Output>.
אם הפונקציה ב-Cloud Functions מחזירה תגובת JSON ואתם מגדירים parsed="true"
, התגובה מהתוסף היא הפניה לאובייקט. כדי לחלץ את התגובה מההפניה, יש להשתמש בתחביר הבא: {objectName}.{jsonKey}
. לדוגמה:
function.response.message
פעולות
להפעיל
מפעילה פונקציה של Cloud.
נכון לעכשיו, התוסף הזה תומך בהפעלת פונקציות טריגר של HTTP.
תחביר
<Action>invoke</Action>
<Input><![CDATA[
{
"region" : "deployment-region",
"projectId" : "project-id",
"functionName" : "function-name",
"method" : "http-method",
"payload" : { json-payload }
}
]]></Input>
<Output>function.response</Output>
דוגמה
<Action>invoke</Action>
<Input><![CDATA[
{
"region" : "us-central1",
"projectId" : "my-project",
"functionName" : "hello-world",
"method" : "POST",
"payload" : { "message" : "Hello yourself!" }
}
]]></Input>
<Output>function.response</Output>
פרמטרים של בקשה
פרמטר | התיאור | תיאור | ברירת המחדל | נדרש |
---|---|---|---|---|
region | האזור ב-Google Cloud שבו הפונקציה נפרסת. | מחרוזת. | ללא. | כן. |
projectId | מזהה הפרויקט ב-GCP. | מחרוזת. | ללא. | כן. |
functionName | שם פונקציית ה-HTTP להפעלה. זהו השם שבו השתמשתם כשיצרתם את הפונקציה (לא בהכרח שם מקוד הפונקציה). | מחרוזת. | ללא. | כן. |
method | שיטת ה-HTTP שבה צריך להשתמש להפעלת הפונקציה. | מחרוזת. | GET |
לא. |
payload | המטען הייעודי שצריך לשלוח עם הפעלת הפונקציה. | JSON. | ללא. | לא. |
תשובה
ערך התשובה של הפונקציה שצוינה, אם יש.
מאפייני תגובה
ללא.
סימוכין לתצורה
במהלך ההגדרה והפריסה של התוסף הזה לשימוש בשרתי proxy של API, צריך להשתמש בהגדרות הבאות. לשלבים להגדרת תוסף באמצעות מסוף Apigee, אפשר לעיין במאמר הוספה והגדרה של תוסף.
מאפיינים נפוצים של תוספים
המאפיינים הבאים קיימים בכל תוסף.
נכס | תיאור | ברירת המחדל | נדרש |
---|---|---|---|
name |
השם שבחרת לתצורה הזו של התוסף. | ללא | כן |
packageName |
השם של חבילת התוסף כפי שהוא סופק על ידי Apigee Edge. | ללא | כן |
version |
מספר הגרסה של חבילת התוסף שממנה מגדירים את התוסף. | ללא | כן |
configuration |
ערך הגדרה ספציפי לתוסף שרוצים להוסיף. מאפיינים לחבילת תוספים זו | ללא | כן |
המאפיינים של חבילת התוספים הזו
מציינים ערכים למאפייני ההגדרה הבאים שספציפיים לתוסף הזה.
נכס | התיאור | ברירת המחדל | נדרש |
---|---|---|---|
פרטי כניסה | כשמזינים אותו במסוף Apigee Edge, זהו התוכן של קובץ המפתח של חשבון השירות. כששולחים פיד דרך ממשק ה-API לניהול, הוא ערך בקידוד base64 שנוצר מקובץ המפתח של חשבון השירות. | ללא. | כן. |