הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
מסלול קובע את הנתיב של בקשה מ-ProxyEndpoint אל TargetEndpoint. המסלול כולל את כתובת ה-URL שמשמשת לגישה ל-API ProxyEndpoint ואת כתובת ה-URL של שירות הקצה העורפי שמוגדר על ידי TargetEndpoint.
בסרטון הזה מוצג מבוא למסלולים, ומתואר הקשר בין ProxyEndpoint לבין TargetEndpoint.
קביעת כתובת ה-URL של נקודת הקצה של שרת ה-proxy ל-API
בתמונה הבאה מוצגת בקשה שמתקבלת ב-ProxyEndpoint מאפליקציה, והבקשה מופנית לשירות לקצה העורפי:

אחרי שיוצרים proxy ל-API ב-Apigee, כתובת ה-URL שמוגדרת כברירת מחדל שאפליקציה משתמשת בה כדי לגשת ל-proxy היא מהצורה הבאה:
https://www.example.com/shopping/cart/addItem
|_____________| |___________| |_____|
| | |
hostname basepath resource
כאשר:
- שם המארח הוא דומיין שהוספתם ל-DNS או כתובת IP.
- נתיב הבסיס ונתיב המשאב מוגדרים כשיוצרים את שרת ה-proxy ל-API.
כשבקשה מתקבלת ב-Apigee, המערכת מנתחת את כתובת ה-URL כדי להפנות את הבקשה אל ProxyEndpoint הנכון. לדוגמה, כתובת ה-URL הבאה משמשת לגישה ל-proxy ל-API:
http://example.com/v1/weather/forecastrss
אם בוחנים את ההגדרה של proxy ל-API באיור שלמעלה, אפשר לראות איך כתובת ה-URL הזו מנותחת:ProxyEndpoint
- חלק הדומיין בכתובת ה-URL,
http://example.com, תואם לשם מארח שהוגדר בקבוצת סביבות. ה-proxy נפרס בסביבה אחת או יותר בתוך קבוצת הסביבות הזו. למידע נוסף, אפשר לעיין במאמר מידע על סביבות וקבוצות סביבות. - החלק השני של כתובת ה-URL,
/v1/weather, נקבע על ידי הרכיב<BasePath>ב-ProxyEndpoint. הגדרתם את נתיב הבסיס כשנוצר ה-proxy ל-API. נתיב הבסיס צריך להיות ייחודי ל-proxy ל-API בסביבה, כדי שלשני proxy ל-API באותה סביבה לא יהיה אותו נתיב בסיס. - החלק השלישי של כתובת ה-URL,
/forecastrss, הוא משאב שמוגדר על ידי proxy ל-API עם זרימת התנאים התואמת שמוגדרת על ידי הרכיב<Flows>.
סרטון: סרטון קצר שמסביר על נקודות קצה של proxy ל-API.
קביעת כתובת ה-URL של נקודת הקצה של היעד
האלמנט <RouteRule> בהגדרה של ProxyEndpoint קובע את היעד של proxy ל-API, והוא נבדק אחרי שכל המדיניות ב-PreFlow, ב-Conditional Flows וב-PostFlow של בקשת ProxyEndpoint מעובדת.
ProxyEndpoint יכול להגדיר את היעד כ:
- כתובת URL ישירה לשירות קצה עורפי.
- הגדרה אחת של
TargetEndpoint. -
TargetEndpoints שבהם ה-proxy ל-API מעביר את הבקשה לנקודת קצה של יעד על סמך תנאי. - נתיב או יעד מסוג Null, כלומר הבקשה לא מועברת ליעד. במקום זאת, כל העיבוד של הבקשה והיצירה של התגובה מתבצעים ב-Apigee.
סרטון: צפייה בסרטון קצר למידע נוסף על נקודות קצה לטירגוט.
כתובת URL ישירה
ProxyEndpoint יכול להפעיל ישירות שירות לקצה העורפי, בלי לעבור דרך הגדרות TargetEndpointProxyEndpoint בשם כלשהו. לדוגמה, הפקודה <RouteRule> הבאה תמיד מבצעת קריאת HTTP אל http://example.com/myAPI:
<RouteRule name="default"> <URL>http://example.com/myAPI</URL> </RouteRule>
עם זאת, מכיוון שאין TargetEndpoint, אפשר להוסיף מדיניות רק לזרימות שהוגדרו על ידי ProxyEndpoint.
יעד יחיד
בהגדרת יעד יחידה, התג ProxyEndpoint מפנה להגדרה יחידה של TargetEndpoint לפי שם, כמו שמוצג באיור שלמעלה:
<RouteRule name="default"> <TargetEndpoint>default</TargetEndpoint> </RouteRule>
כל הבקשות ל-proxy ל-API הזה מופנות לאותה הגדרה של TargetEndpoint. התג <URL> ב-TargetEndpoint קובע את המיקום של שירות לקצה העורפי. באיור שלמעלה, כתובת ה-URL של היעד היא http://weather.yahooapis.com.
יעדים מותנים
תג <RouteRule> מאפשר להפנות בקשה ליעד על סמך תנאי. אפשר להשתמש במשתני זרימה, בפרמטרים של שאילתות, בכותרות HTTP, בתוכן ההודעה או במידע הקשרי כמו השעה ביום והלוקאל כדי לקבוע את נקודת הקצה של היעד. לדוגמה, אפשר לכלול אזור גיאוגרפי, כמו ארה"ב ובריטניה, בכתובת URL של בקשה. לאחר מכן אפשר לנתב בקשה לנקודת קצה של יעד על סמך האזור.
כלל הניתוב הבא מעריך כותרת HTTP בבקשה. אם כותרת ה-HTTP routeTo מכילה את הערך TargetEndpoint1, הבקשה מועברת אל TargetEndpoint בשם TargetEndpoint1. אם לא, הבקשה מועברת אל TargetEndpoint2.
<RouteRule name="MyRoute"> <Condition>request.header.routeTo = "TargetEndpoint1"</Condition> <TargetEndpoint>TargetEndpoint1</TargetEndpoint> </RouteRule> <RouteRule name="default"> <TargetEndpoint>TargetEndpoint2</TargetEndpoint> </RouteRule>
אם יש לכם כמה כללי ניתוב, צריך ליצור אחד כברירת מחדל, כלומר ככלל ניתוב ללא תנאי. חשוב לוודא שכלל ברירת המחדל להפניה מוגדר אחרון ברשימה של הפניות מותנות, כי הכללים מוערכים מלמעלה למטה ב-ProxyEndpoint.
כדאי לעיין גם במאמרים בנושא ניתוב מותנה והפניה לתנאים.
סרטון: בסרטון הקצר הזה מוסבר איך להגדיר ניתוב לנקודת קצה של יעד באמצעות יעדים מותנים.
מסלול ריק
מסלול ריק תומך בתרחישים שבהם אין צורך להעביר את הודעת הבקשה אל TargetEndpoint. זה שימושי כשה-ProxyEndpoint מבצע את כל העיבוד הנדרש, למשל באמצעות JavaScript כדי להתקשר לשירות חיצוני.
בדוגמה הבאה מוגדר נתיב null:
<RouteRule name="GoNowhere"/>