שילוב של קוד פרוצדורלי

הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

אפשר להוסיף קוד בשפות פרוצדורליות כמו JavaScript,‏ Java ו-Python, ואז לקרוא לקוד הזה מחלקים אחרים של proxy ל-API. התמיכה בקוד פרוצדורלי נועדה להקל עליכם ליישם טיפול מורכב במשתני זרימה, בתקלות ובגופי הבקשות והתגובות.

בעזרת קוד פרוצדורלי, אפשר:

  • ליצור או לשנות ערכים מורכבים של גוף הבקשה, כמו ערכי בקשה ותגובה.
  • לשכתב כתובות URL, למשל כדי להסתיר כתובת URL של נקודת קצה של יעד.
  • להוסיף לוגיקה אחרת שלא זמינה במדיניות הכלולה.

איך זה עובד

כדי לבצע קריאות מתוך זרימת proxy לקוד שכללתם, אתם משתמשים במדיניות שספציפית לשפה. לכל אחת מהשפות הנתמכות, Apigee כולל מדיניות נפרדת: JavaScript policy, ‏ JavaCallout policy ו-PythonScript policy.

ההסבר הבא מתאר, ברמה גבוהה, דרך אחת שבה זה קורה. פרטים נוספים מופיעים בהפניות למדיניות.

  1. כותבים את הקוד שבו רוצים להשתמש בקובץ נפרד.
  2. בקוד, מכניסים את התוצאה של עיבוד הקוד למשתנה של זרימת נתונים ב-Apigee.

    אחרי זה תוכלו לאחזר את ערך המשתנה במקום אחר ב-proxy ל-API. מידע נוסף על משתני זרימה זמין במאמר ניהול מצב ה-proxy באמצעות משתני זרימה.

  3. מוסיפים את הקובץ (או קובץ ה-JAR) כקובץ משאבים ל-proxy ל-API.

    מידע נוסף על קובצי משאבים זמין במאמר קובצי משאבים.

  4. מוסיפים את המדיניות שמתאימה לשפה שבה משתמשים.

    מגדירים את המדיניות כך שתתבצע קריאה לקוד מהמקום הרצוי בתהליך של ה-API proxy.

  5. משתמשים במדיניות כדי לאחזר את ערך הקוד ממשתנה התהליך.

מגבלות

מודל האבטחה של Apigee לא מאפשר קריאות למערכת כמו קלט/פלט של רשת, קריאה/כתיבה של מערכת קבצים, פרטי המשתמש הנוכחי, רשימת תהליכים וניצול CPU/זיכרון. יכול להיות שחלק מהשיחות האלה יפעלו, אבל הן לא נתמכות ויכול להיות שהן יושבתו בכל שלב. כדי לשמור על תאימות קדימה, מומלץ להימנע מביצוע קריאות כאלה בקוד.

יכולות להיות מגבלות נוספות לכל שפה נתמכת, כפי שמתואר בהפניה למדיניות שמתאימה לשפה.

שפות נתמכות

JavaScript

התמיכה ב-JavaScript כוללת מודל אובייקטים מלא לטיפול במשתנים ובערכים שספציפיים ל-proxy ל-API. למידע נוסף, אפשר לעיין במאמר בנושא מודל אובייקטים של JavaScript.

מידע על הפניות למדיניות ודוגמאות זמינים במאמר בנושא מדיניות JavaScript.

Java

אפשר להשתמש במדיניות JavaCalloutכדי לבצע קריאות לקוד Java מהזרימה של ה-proxy. נושא ההפניה למדיניות כולל דוגמאות.

Python

משתמשים במדיניות Python Script policy כדי לקרוא לקוד Python.