אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
Hosted Targets מאפשר להריץ אפליקציות Node.js בסביבת זמן ריצה מקומית שמתארחת ב-Apigee. המטרה של Hosted Targets פשוטה: לאפשר לכם לפרוס אפליקציות בסביבה מקומית, מאובטחת, ניתנת להרחבה ומבודדת, שבה פרוקסי של Edge API יכולים לקרוא להן כשירותי יעד.
כפי שמוצג באיור הבא, proxy ל-API של Edge קורא לאפליקציית Node.js שמוצבת בסביבת Hosted Targets. חשוב לזכור שהסביבה Hosted Targets מוגבלת לארגון ולסביבה של Apigee.

כדי לגרום לשרת proxy של Edge API לתקשר עם אפליקציית Hosted Targets שנבנתה והופעלה בצורה תקינה, צריך לבצע הגדרה פשוטה בנקודת היעד של ה-proxy. כדי להתחיל, אפשר לעבור אל המדריכים בנושא יעדים מתארחים.
באילו סביבות זמן ריצה של אפליקציות יש תמיכה ב-Hosted Targets?
נכון לעכשיו, אפשר לפרוס אפליקציות Node.js רק ליעדים מתארחים.
התקנה של יעדים מתארחים
התכונה Hosted Targets זמינה בכל הארגונים של Edge Public Cloud. לא צריך להתקין שום דבר כדי להשתמש ביעדים מתארחים.
אימות שהתכונה Hosted Targets מופעלת
כדי לוודא שהתכונה Hosted Targets מופעלת בארגון שלכם, צריך לקבל את פרטי הארגון ולוודא שהמאפיין features.isEdgeFunctionsEnabled מוגדר כ-true. הנכס הוא לקריאה בלבד.
לדוגמה:
https://api.enterprise.apigee.com/v1/organizations/myorg
{ "createdAt":1507572884047, "createdBy":"jdoe@apigee.com", "displayName":"myorg", "environments":[ "prod", "dev", "test", "portal" ], "lastModifiedAt":1507578673194, "lastModifiedBy":"jdoe@apigee.com", "name":"jdoe", "properties":{ "property":[ { "name":"features.isSmbOrganization", "value":"false" }, { "name":"self.service.virtual.host.enabled", "value":"true" }, { "name":"features.isCpsEnabled", "value":"true" }, { "name":"features.isEdgeFunctionsEnabled", "value":"true" } ] }, "type":"paid" }
מה צריך לדעת על יעדים מתארחים
התכונה Hosted Targets מאפשרת להריץ אפליקציות Node.js בסביבה מקומית שלא תלויה בטכנולוגיית זמן ריצה ספציפית של Apigee. אתם יכולים לנפות באגים ולבדוק את האפליקציה באופן מקומי לפני הפריסה שלה, ולהיות בטוחים שהגרסה הפרוסה תפעל בדיוק כמו הגרסה המקומית. בזמן הפריסה, אפשר לבחור כל גרסה של זמן ריצה של אפליקציה להפעלת האפליקציה ב-Hosted Targets. לדוגמה, יכול להיות שתבחרו להריץ אפליקציית Node.js בסביבת v8.10.0.
מגבלות
מכסות השימוש ביעדים מתארחים מפורטות במאמר מגבלות המוצרים של Apigee.
שלבים בסיסיים לביצוע
אם אתם מכירים את פיתוח ה-proxy של Edge, אתם צריכים ללמוד רק כמה שלבים פשוטים כדי להשתמש בהצלחה ב-Hosted Targets. בעצם, אתם יוצרים, פורסים ומנהלים שרתי proxy של Edge עבור Hosted Targets בדיוק כמו שאתם עושים עבור כל שרת proxy אחר של Apigee Edge.
כדי להשתמש ביעדים מתארחים, צריך לבצע את המשימות הבאות. ההדרכות מסבירות בפירוט איך לבצע כל אחת מהמשימות האלה.
- מפתחים ובודקים את אפליקציית Node.js באופן מקומי.
- יוצרים קובץ מניפסט בספריית הבסיס של פרויקט האפליקציה. המניפסט הוא קובץ YAML שמציין את המידע שנדרש כדי לבנות ולפרוס את האפליקציה.
- מוסיפים את האפליקציה ל-Edge proxy כסוג משאב hosted.
- בנקודת הקצה של היעד של ה-proxy, מוסיפים תג
<HostedTarget/>ריק. התג הזה מורה ל-Edge לפרוס את אפליקציית Node.js בסביבת Hosted Targets. לדוגמה:
<?xml version="1.0" encoding="UTF-8"?>
<TargetEndpoint name="default">
<PreFlow name="PreFlow">
<Request />
<Response />
</PreFlow>
<PostFlow name="PostFlow">
<Request />
<Response />
</PostFlow>
<Flows />
<HostedTarget />
</TargetEndpoint>היקף האפליקציות של Hosted Targets
האפליקציות של Hosted Targets מוגבלות לסביבה ארגונית של Edge. ההיקף הזה זהה לזה של כל שרת proxy של Edge.
האם אפליקציות Hosted Targets יכולות לגשת לנתוני פרוקסי?
לאפליקציות Hosted Targets אין כרגע גישה לסביבת זמן הריצה של ה-proxy. המשמעות היא שאי אפשר לגשת ישירות למשתני זרימה, למטמון ולרכיבים אחרים מאפליקציות של Hosted Targets.
בעזרת Node.js מוטמע (תמיכה מסורתית ב-Node.js שמבוססת על Trireme ב-Edge), אפשר להשתמש ב-apigee-access כדי לגשת למשתני זרימה ולרכיבים אחרים ב-Edge. עם זאת, Hosted Targets לא תומך במודול apigee-access לפריסות של Node.js.
מידע נוסף זמין במאמר Is it possible to work around the lack of apigee-access?
העברת קוד אפליקציה קיים אל Hosted Targets
נכון לעכשיו, אין נתיב העברה אוטומטי מאפליקציית Node.js מוטמעת שמבוססת על Trireme אל Hosted Targets. עם זאת, אפשר להמיר קוד אפליקציה קיים ליעדים מתארחים באופן ידני. דוגמה מופיעה במאמר העברת שרת proxy קיים של Node.js לשרת proxy של Hosted Targets.