כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
כאן מוסבר איך לפרוס אפליקציית Node.js מהמערכת המקומית ב-Apigee Edge.
בנושא הזה נסביר איך להשתמש בכלי שורת הפקודה בשם apigeetool
כדי לפרוס אפליקציות Node.js ב-Apigee Edge.
מידע על פריסת קוד Node.js ב-Apigee Edge
אפשר לפרוס אפליקציה קיימת של Node.js API, כולל מודולים תלויים של Node.js, מהמערכת המקומית אל Apigee Edge באמצעות כלי שורת פקודה בשם apigeetool
. תוכנת העזר מאגדת את האפליקציה ואת יחסי התלות שלה באופן אוטומטי בתוך שרת proxy של API ופורסת אותו ב-Edge.
לדוגמה, נניח שהשתמשת ב-Express כדי ליצור אפליקציית אינטרנט ב-Node.js. האפליקציה פועלת כשרת HTTP שמאזין לבקשות HTTP, מעבד את הבקשות האלה, מחזיר נתונים וכו'. כשמשתמשים ב-apigeetool
כדי לפרוס אפליקציית Node.js ב-Edge, היא ארוזה בשרת proxy ופועלת בהקשר של פלטפורמת Edge. אחר כך אפשר לקרוא לאפליקציה דרך כתובת ה-URL החדשה של שרת ה-proxy, ולהוסיף לה ערך על ידי הוספת תכונות ל-Edge באמצעות תכונות סטנדרטיות של Edge כמו אבטחת OAuth, מדיניות מכסה, מדיניות הגנה מפני איומים, תהליכי עבודה מותנים, שמירה במטמון ועוד.
מה עושה apigeetool?
כשמפעילים את כלי השירות apigeetool
עם האפשרות deploynodeapp
, הוא:
- יוצר חבילת תצורה של שרת proxy ל-API כדי לאחסן את אפליקציית Node.js.
- אורזת את האפליקציה Node.js עם כל חבילות Node.js שמותקנות עם NPM (Node Packaged Modules).
- מייבאת את חבילת התצורה של שרת proxy ל-API לארגון שצוין ב-Apigee Edge באמצעות ממשק ה-API לניהול Edge.
- פריסת שרת ה-proxy של ה-API בסביבה.
- מפעיל את האפליקציה Node.js ב-Apigee Edge והופך אותה לזמינה דרך הרשת.
בהכנה לשימוש ב-apigeetool
לפני שמתחילים, צריך להתקין את תוכנית השירות apigeetool
.
אפשר להתקין את apigeetool דרך npm או באמצעות שכפול וקישור של הקוד מ-GitHub.
התקנה מ-npm
המודול apigeetool
ויחסי התלות שלו מיועדים ל-Node.js וזמינים דרך npm באמצעות הפקודה הבאה:
$ sudo npm install -g apigeetool
בדרך כלל, האפשרות -g ממקמת מודולים ב:
/usr/local/lib/node_modules/apigeetool
במכונות מבוססות nix.
התקנה מ-GitHub
אפשר להוריד או לשכפל את כלי הפלטפורמה של ה-API מ-GitHub. לקבלת הוראות התקנה, עיינו בקובץ ה-README שבספריית השורש של המאגר.
$ git clone https://github.com/apigee/apigeetool-node.git
בסיום ההתקנה, חשוב לוודא שקובץ ההפעלה apigeetool
נמצא
בנתיב. כדי לבדוק זאת, מקלידים:
$ apigeetool -h
פריסת אפליקציית Node.js ב-Edge באמצעות apigeetool
הערה: לפני הפריסה, צריך לדעת את שם הארגון ב-Apigee Edge, את שם המשתמש ואת הסיסמה של חשבון Apigee Edge. המידע הזה נדרש כדי ליצור את הפקודה apigeetool
בצורה תקינה.
כדי לפרוס אפליקציית Node.js באמצעות apigeetool
:
- בחלון טרמינל, לוחצים על
cd
של ספריית הבסיס של אפליקציית Node.js. - מפעילים את הכלי
apigeetool
באמצעות הפקודהdeploynodeapp
:
$ apigeetool deploynodeapp -n {A name for your new proxy} -d {The root directory of your Node.js app} -m {The name of the main Node.js file} -o {Your org name on Edge} -e {The environment to deploy to} -b {The base URL for your proxy} -u {Your Edge email address} -p {Your Edge password}
לדוגמה:
$ apigeetool deploynodeapp -n myNodeApp -d . -m server.js -o myorg -e test -b /myNodeApp -u ntesla -p myPassword
- בודקים את הפלט בחלון הטרמינל. זה ייראה בערך כך:
Importing new application myNodeApp Imported new app revision 1 Deploying revision 1 Deployed. Proxy: "myNodeApp" Revision 1 Environment: test BasePath: /myNodeApp Status: deployed
אם מוצג הכיתוב 'סטטוס: נפרס', אין צורך לעשות זאת. הכול התנהל בצורה חלקה. אפליקציית Node.js שלך ארוזה בשרת proxy של API, נפרסת ב-Edge, והיא פועלת וממתינה לטיפול בבקשות. הוא מוכן לבדיקה.
- בודקים את שרת ה-proxy. למשל:
$ curl http://myorg-test.apigee.net/myNodeApp Hello, My Node App!
- אפשר להיכנס לחשבון Apigee Edge ולהיכנס לדף שרתי ה-API של שרתי ה-API בממשק המשתמש של הניהול. שם שרת ה-proxy החדש יופיע.
איך apigeetool מטפל בקבצים ובמודולים תלויים
אם אפליקציית Node.js תלויה במודולים המותקנים, apigeetool מטפל בהם על ידי כיווץ התיקייה node_modules
והוספה שלה לחבילת שרת ה-proxy. אין צורך
בפעולה נוספת. הכלל הזה נכון גם לגבי ספריות שמכילות קוד מקור נוסף. תוכנת העזר של apigeetool סוגרת אותם ופורסת אותם עם החבילה.
לא ניתן לערוך קבצים בספריות הדחוסות האלה בעורך ממשק המשתמש לניהול Edge. אם צריך לשנות אותן, אפשר לייצא את הפרויקט, לערוך את הקבצים באופן מקומי ואז לפרוס אותם מחדש באמצעות apigeetool או לייבא את הפרויקט שייצאת דרך ממשק המשתמש לניהול. לפרטים נוספים אפשר לעיין בקטע "ייצוא וייבוא של שרת proxy באמצעות קוד Node.js".
פרטי שימוש בסיסיים ב-apigeetool
למידע בסיסי על השימוש בפרמטרים של הקלט של כלי השירות apigeetool
,
צריך להזין:
$ apigeetool deploynodeapp -h Usage: deploynodeapp -n [name] -o [organization] -e [environment] -d [directory name] -m [main script file] -u [username] -p [password] -b [base path] -l [apigee API url] -z [zip file] -i -h -o Apigee organization name -e Apigee environment name -n Apigee proxy name -d Apigee proxy directory -m Main script name: Should be at the top level of the directory -u Apigee user name -p Apigee password -b Base path (optional, defaults to /) -L Apigee API URL (optional, defaults to https://api.enterprise.apigee.com) -z ZIP file to save (optional for debugging) -i import only, do not deploy -R Resolve Node.js modules on Apigee Edge. Equivalent to running npm install on your project. -U Uploads Node.js modules to Apigee Edge. -h Print this message
יצירת שרת Proxy חדש עם קובצי Node.js קיימים
דרך נוספת לשלב אפליקציית Node.js קיימת בשרת proxy של API היא להוסיף את האפליקציה כשיוצרים את שרת ה-proxy. אפשר לעשות את כל זה דרך ממשק המשתמש לניהול ותיבת הדו-שיח של שרת ה-API החדש.
- בדף הסיכום של שרת ה-API של שרת ה-proxy, לוחצים על +API Proxy.
- בתיבת הדו-שיח New API Proxy, בוחרים באפשרות Existing Node.js.
- אפשר ללחוץ על הלחצן בחירת קבצים כדי לבחור קובץ Node.js אחד או יותר לייבוא.
- נותנים שם לשרת ה-proxy. בדוגמה הזו אנחנו קוראים לו
hellonode
. - מוסיפים את הגרסה
/v1
לנתיב Project Base. מומלץ ליצור גרסאות של ה-API. - לוחצים על Build (יצירה).
- לוחצים על פיתוח כדי להיכנס לתצוגה 'פיתוח'.
- פותחים את הקובץ
TargetEndpoint
בעורך הקוד. - מוודאים שהרכיב
<ScriptTarget>
מציין את קובץ Node.js הראשי באופן הבא:
<ScriptTarget> <ResourceURL>node://server.js</ResourceURL> <Properties/> </ScriptTarget>
- לוחצים על שמירה.
הוספה והפעלה של קובצי משאבים חדשים ב-Node.js
דרך נוספת להוסיף קוד Node.js לשרת proxy היא להוסיף אותו ישירות, דרך ממשק המשתמש או על ידי העלאה שלו ממערכת הקבצים המקומית. אפשר גם לציין איזה קובץ Node.js יהיה הקובץ הראשי, שהוא הקובץ ש-Edge יופעל כששרת ה-proxy נפרס.
הוספה של קובצי Node.js חדשים דרך ממשק המשתמש
בממשק המשתמש לניהול אפשר להוסיף עוד קובצי מקור של Node.js לשרת proxy שנמצא בפלטפורמת Edge. אפשר ליצור אותם ישירות בממשק המשתמש או לייבא אותם ממערכת הקבצים. קודם כול נראה איך לעשות את זה מממשק המשתמש.
כדי ליצור קובץ משאבים חדש של Node.js:
- בתצוגה 'פיתוח', בוחרים באפשרות New Script (סקריפט חדש) בתפריט New.
- בתיבת הדו-שיח 'הוספת סקריפט', בוחרים את סוג הקובץ Node ונותנים שם לסקריפט.
- לוחצים על הוספה.
הקובץ החדש והריק Node.js ייפתח בעורך. ניתן לגזור ולהדביק את הקוד
בקובץ. הקובץ מופיע גם בקטע 'סקריפטים' ב-Nvigator.
[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"media-image","height":"312"," ⌘":"foaf:Image","width":"417"}}]]
ייבוא קובצי Node.js ממערכת הקבצים
כדי import קובץ Node.js ממערכת הקבצים אל שרת ה-proxy:
- בתצוגה 'פיתוח', בוחרים באפשרות New Script (סקריפט חדש) בתפריט New.
- בתיבת הדו-שיח 'הוספת סקריפט', לוחצים על ייבוא הסקריפט.
- משתמשים בכלי הקבצים כדי לבחור את קובץ Node.js.
- שם הקובץ יתווסף לתיבת הדו-שיח, אבל אפשר לשנות אותו לפי הצורך.
- לוחצים על הוספה. הקובץ מופיע בקטע Scripts ב-Navigator ונפתח בכלי העריכה.
- לוחצים על שמירה.
כדי להפעיל את הקובץ שיובא, צריך לבצע שלב נוסף, כמו שמוסבר בקטע הבא.
הפעלה של קובץ Node.js מיובא
לא ניתן פשוט להפעיל קובץ Node.js שיובא או נוצר לאחרונה. הסיבה לכך היא שמערכת Edge דורשת שקובץ Node.js אחד יהיה הקובץ הראשי. הקובץ הראשי מצוין ברכיב <ScriptTarget> של ההגדרה של נקודת הקצה (Target Endpoint). כדי לציין איזה קובץ הוא קובץ ה-Node.js הראשי:
- בקטע Target Endpoints (נקודות קצה ליעד) בתפריט הניווט, לוחצים על השם של נקודת הקצה (endpoint) של היעד (בדרך כלל נקרא default).
- בעורך הקוד, עורכים את הרכיב <ScriptTarget> על ידי שינוי הרכיב
<ResourceURL> כך שישקף את שם הקובץ שרוצים להגדיר כקובץ Node.js הראשי. לדוגמה, אם רוצים שקובץ בשם
hello-world.js
יהיה הקובץ הראשי, צריך להזין:node://hello-world.js
ברכיב ResourceURL. - לוחצים על שמירה.
בשלב זה, תוכלו להפעיל את הקובץ עם כל נתיב של שרת proxy שבו השתמשתם בעבר. לדוגמה,
בדקנו את הדוגמה של Hello World! שבה צוין נתיב הבסיס v1/hello
. עם זאת, אפשר לשנות את הנתיב הבסיסי באמצעות עריכת נקודת הקצה של שרת ה-proxy.
- בקטע 'נקודות קצה של Proxy' ב-Nvigator, לוחצים על השם של נקודת הקצה של שרת ה-proxy (בדרך כלל נקראת ברירת מחדל).
- בעורך הקוד, עורכים את הרכיב <HttpProxyConnection> ומשנים את <BasePath> לכל שם שרוצים. לדוגמה, אם ערך <BasePath> הנוכחי הוא
v1/hello
ורציתם שהוא יהיהv1/my-node-file
, צריך לשנות את האלמנט <BasePath> כך:
<BasePath>/v1/my-node-file</BasePath>
- לוחצים על שמירה.
- מפעילים את שרת ה-Proxy באמצעות הנתיב הבסיסי החדש, באופן הבא:
$ curl http://myorg-test.apigee.net/v1/my-node-file Hello, World!
ייצוא וייבוא של שרת proxy באמצעות קוד Node.js
אחרי שפורסים שרת proxy שמכיל קוד Node.js ל-Edge, אפשר תמיד לייצא את שרת ה-Proxy בחזרה למערכת, לעבוד עליו שם ואז לייבא אותו מחדש ל-Edge באמצעות ממשק המשתמש לניהול. הרבה פעמים משתמשים בטכניקת הפיתוח הזו הלוך ושוב.
- בדף הסיכום של שרת ה-API של שרת ה-API, לוחצים על פיתוח.
- בדף 'פיתוח', בוחרים באפשרות הורדת הגרסה הנוכחית.
- מחלצים את הקובץ שהורד במערכת.
אפשר לייבא את חבילת ה-proxy בחזרה אל Edge על ידי בחירה באפשרות Import In to New Revision (ייבוא לגרסה חדשה) באותו תפריט.
אפשר גם להשתמש ב-API לפריסת שרתי proxy. לפרטים נוספים, אפשר לקרוא את המאמר פריסת שרתי proxy משורת הפקודה.
השלבים הבאים
בנושא הבא, הוספת Node.js לשרת proxy קיים של API, נסביר איך להוסיף אפליקציית Node.js לשרת Proxy קיים במערכת הקבצים ולפרוס אותו ב-Edge.