פריסת אפליקציית Node.js עצמאית

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

בנושא הזה נסביר איך לפרוס אפליקציה של Node.js מהמערכת המקומית ב-Apigee Edge. בנושא הזה נסביר איך להשתמש בכלי שורת הפקודה apigeetool כדי לפרוס אפליקציות של Node.js ב-Apigee Edge.

מידע על פריסת קוד Node.js ב-Apigee Edge

אפשר לפרוס אפליקציית API קיימת של Node.js, כולל כל מודולים התלויים של Node.js, מהמערכת המקומית ל-Apigee Edge באמצעות כלי שורת הפקודה בשם apigeetool כלי השירות מקבץ באופן אוטומטי את האפליקציה ואת יחסי התלות שלה בשרת proxy ל-API ופורס אותו ב-Edge.

לדוגמה, נניח שהשתמשתם ב-Express כדי ליצור אפליקציית אינטרנט ב-Node.js. פועל כשרת HTTP שמאזינים לבקשות HTTP, מעבד את הבקשות האלה. מחזירה נתונים וכו'. כשמשתמשים ב-apigeetool כדי לפרוס Node.js ב-Edge, הוא מוקף בשרת proxy ופועל בהקשר של Edge הפלטפורמה. לאחר מכן תוכלו לקרוא לאפליקציה דרך כתובת ה-URL החדשה של שרת ה-proxy שלה, ותוכלו להוסיף ערך באמצעות "הלבשה" עם תכונות רגילות של Edge כמו אבטחת OAuth, מדיניות מכסות, איומים כללי מדיניות הגנה, תהליכים מותנים, שמירה במטמון ועוד רבים אחרים.

מה עושה כלי ה-apigeetool?

כשמריצים את הכלי apigeetool עם האפשרות deploynodeapp, זה:

  • יצירת חבילת הגדרות של שרת proxy ל-API לאחסון האפליקציה Node.js.
  • חבילת האפליקציה Node.js עם כל חבילת Node.js שמותקנת עם NPM (צומת מודולים ארוזים).
  • מייבאת את חבילת ההגדרות של שרת proxy ל-API לארגון שצוין ב-Apigee Edge באמצעות Edge management API.
  • פריסה של שרת ה-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 עם כלי האטום

הערה: לפני הפריסה, צריך להכיר את ארגון Apigee Edge השם, שם המשתמש והסיסמה של Apigee חשבון Edge. המידע הזה נדרש כדי ליצור את הטופס בצורה נכונה הפקודה apigeetool.

כדי לפרוס אפליקציה ב-Node.js באמצעות apigeetool:

  1. בחלון טרמינל, cd – תיקיית השורש של אפליקציית Node.js.
  2. הפעלת הכלי 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
    
  3. בודקים את הפלט בחלון הטרמינל. זה ייראה בערך כך:

    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, והוא פועל וממתין לטיפול בבקשות. הוא מוכן לבדיקה.

  4. בודקים את שרת ה-proxy. לדוגמה:

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. אם תרצה, התחבר לחשבון Apigee Edge שלך ועבור לדף API Proxies של ממשק המשתמש לניהול. שרת ה-proxy החדש יופיע ברשימה.

האופן שבו apigeetool מטפל בקבצים תלויים מודולים

אם אפליקציית Node.js תלויה במודולים מותקנים, apigeetool יטפל בהם באמצעות ZIP התיקייה 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. אפשר לעשות זאת דרך ממשק המשתמש של הניהול תיבת דו-שיח חדשה על שרת Proxy ל-API.

  1. בדף הסיכום של שרת ה-proxy ל-API, לוחצים על +API Proxy.
  2. בתיבת הדו-שיח 'שרת proxy ל-API חדש', בוחרים באפשרות Node Node.js קיים.
  3. לוחצים על הלחצן בחירת קבצים כדי לבחור קובץ Node.js אחד או יותר כדי ייבוא.
  4. נותנים שם לשרת ה-Proxy. בדוגמה הזאת אנחנו קוראים לו hellonode
  5. מוסיפים את הגרסה /v1 לנתיב הבסיס של Project. מומלץ לנהל גרסאות של ה-API בפועל.
  6. לוחצים על Build.
  7. לוחצים על פיתוח כדי להיכנס לתצוגה 'פיתוח'.
  8. פותחים את הקובץ TargetEndpoint בעורך הקוד.
  9. חשוב לוודא שהרכיב <ScriptTarget> מציין את קובץ ה-Node.js הראשי, הבא:


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
  10. לוחצים על שמירה.

הוספה והפעלה של משאב Node.js חדש קבצים

דרך נוספת להוסיף קוד Node.js לשרת proxy היא להוסיף אותו ישירות, דרך ממשק המשתמש או על ידי שתעלו אותו ממערכת הקבצים המקומית שלכם. אפשר גם לציין איזה קובץ Node.js הוא הראשי זהו הקובץ ש-Edge מפעיל כששרת ה-Proxy נפרס.

הוספת חדש קובצי Node.js דרך ממשק המשתמש

בממשק המשתמש של הניהול אפשר להוסיף קובצי מקור נוספים של Node.js לשרת proxy שנמצא ב-Edge. הפלטפורמה. אפשר ליצור אותם ישירות בממשק המשתמש או לייבא אותם ממערכת הקבצים. קודם כל, בואו נראה איך לעשות את זה מממשק המשתמש.

כדי ליצור קובץ משאבים חדש של Node.js:

  1. בתצוגה 'פיתוח', בוחרים באפשרות חדש סקריפט בתפריט 'חדש'.
  2. בתיבת הדו-שיח 'הוספת סקריפט', בוחרים את סוג הקובץ צומת ונותנים שם לסקריפט.
  3. לוחצים על הוספה.

קובץ Node.js החדש והריק ייפתח בעורך. אפשר לגזור ולהדביק את הקוד חדש. הקובץ יופיע גם בקטע Scripts (סקריפטים) בכלי הניווט.

[[{&quot;type&quot;:&quot;media&quot;,&quot;view_mode&quot;:&quot;media_large&quot;,&quot;fid&quot;:&quot;2431&quot;,&quot;attributes&quot;:{&quot;alt&quot;:&quot;&quot;,&quot;class&quot;:&quot;media-image&quot;,&quot;height&quot;:&quot;312&quot;,&quot;typeof&quot;:&quot;foaf:Image&quot;,&quot;width&quot;:&quot;417&quot;}}]]

הייבוא מתבצע קובצי Node.js ממערכת הקבצים

כדי לייבא קובץ Node.js של מערכת הקבצים לשרת ה-proxy:

  1. בתצוגה 'פיתוח', בוחרים באפשרות חדש סקריפט בתפריט 'חדש'.
  2. בתיבת הדו-שיח 'הוספת סקריפט', לוחצים על ייבוא סקריפט.
  3. משתמשים בכלי הקבצים כדי לבחור קובץ Node.js.
  4. שם הקובץ יתווסף לתיבת הדו-שיח, אבל תוכלו לשנות אותו לפי הצורך.
  5. לוחצים על הוספה. הקובץ מופיע בסקריפטים בקטע Navigator ונפתח בעורך.
  6. לוחצים על שמירה.

אם רוצים להפעיל את הקובץ המיובא, צריך לבצע שלב נוסף, כפי שמוסבר בהמשך .

הפעלה של קובץ Node.js מיובא

לא ניתן פשוט להפעיל קובץ Node.js חדש שיובא או נוצר. הסיבה לכך היא ש-Edge נדרש שקובץ Node.js אחד יהיה הקובץ הראשי. הקובץ הראשי מצוין בשדה &lt;ScriptTarget&gt; של ההגדרה של נקודת הקצה (endpoint) של היעד. כדי לציין מהו הקובץ הראשי מבצעים את הפעולות הבאות בקובץ Node.js:

  1. בקטע 'נקודות קצה יעד' בכלי הניווט, לוחצים על השם של נקודת הקצה של היעד (בדרך כלל) שנקרא ברירת מחדל).
  2. בעורך הקוד, עורכים את הקוד <ScriptTarget> על ידי שינוי המאפיין &lt;ResourceURL&gt; כדי לשקף את שם הקובץ שרוצים שיהיה קובץ ה-Node.js הראשי. עבור לדוגמה, אם רוצים שקובץ בשם hello-world.js יהיה הקובץ הראשי, שמזינים: node://hello-world.js ברכיב ResourceURL.
  3. לוחצים על שמירה.

בשלב הזה, אפשר להפעיל את הקובץ באמצעות כל נתיב של שרת proxy שבו השתמשתם בעבר. לדוגמה, בחנו את 'שלום עולם'! למשל, כאשר נתיב הבסיס v1/hello הוא שצוין. אבל אפשר לשנות את הנתיב הבסיסי על ידי עריכת נקודת הקצה של שרת ה-proxy.

  1. בקטע 'נקודות קצה של שרת proxy' בכלי הניווט, לוחצים על השם של נקודת הקצה של שרת ה-proxy (בדרך כלל) שנקרא ברירת מחדל).
  2. בעורך הקוד, עורכים את הקובץ <HttpProxyConnection> על ידי שינוי המאפיין &lt;BasePath&gt; איך שרוצים. לדוגמה, אם השדה <BasePath> הנוכחי הוא v1/hello ורצית שהוא יהיה v1/my-node-file, משנים את השדה <BasePath> רכיב כזה:

    &lt;BasePath&gt;/v1/my-node-file&lt;/BasePath&gt;
  3. לוחצים על שמירה.
  4. מפעילים את שרת ה-proxy באמצעות הנתיב הבסיסי החדש, כך:

    $ curl http://myorg-test.apigee.net/v1/my-node-file
    Hello, World!
    

ייצוא וייבוא של שרת proxy באמצעות קוד Node.js

אחרי שפורסים ל-Edge שרת proxy שמכיל את הקוד Node.js, תמיד אפשר לייצא חזרה את שרת ה-Proxy. במערכת, עובדים עליו שם ולאחר מכן מייבאים אותו מחדש ל-Edge באמצעות ממשק המשתמש של הניהול. הזה של שיטת פיתוח הלוך ושוב.

  1. בדף הסיכום של שרת ה-proxy ל-API, לוחצים על פיתוח.
  2. בדף הפיתוח, בוחרים באפשרות הורדת הגרסה הנוכחית.
  3. מחלצים את הקובץ שהורדתם במערכת.

אפשר לייבא את חבילת שרת ה-Proxy בחזרה ל-Edge על ידי בחירה באפשרות ייבוא אל חדש גרסה קודמת מאותו תפריט.

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

השלבים הבאים

בנושא הבא, הוספה מ-Node.js לשרת proxy קיים של API, אנחנו מסבירים איך להוסיף אפליקציית Node.js לחשבון קיים לשרת ה-proxy במערכת הקבצים שלכם ולפרוס אותו ב-Edge.