การทำให้แอป Node.js แบบสแตนด์อโลนใช้งานได้

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่ เอกสารประกอบของ Apigee X
info

หัวข้อนี้อธิบายวิธีติดตั้งใช้งานแอปพลิเคชัน Node.js จากระบบในเครื่องไปยัง Apigee Edge ในหัวข้อนี้ เราจะพูดถึงวิธีใช้เครื่องมือบรรทัดคำสั่งที่เรียกว่า apigeetool เพื่อ ติดตั้งใช้งานแอปพลิเคชัน Node.js ใน Apigee Edge

เกี่ยวกับการติดตั้งใช้งานโค้ด Node.js ใน Apigee Edge

คุณสามารถติดตั้งใช้งานแอปพลิเคชัน API Node.js ที่มีอยู่ รวมถึงโมดูล Node.js ที่ขึ้นอยู่กับแอปพลิเคชันดังกล่าว จากระบบในเครื่องไปยัง Apigee Edge ได้โดยใช้ยูทิลิตีบรรทัดคำสั่งที่เรียกว่า apigeetool ยูทิลิตีจะรวมแอปพลิเคชันและการขึ้นต่อกันของแอปพลิเคชันไว้ในพร็อกซี API และติดตั้งใช้งานใน Edge โดยอัตโนมัติ

ตัวอย่างเช่น สมมติว่าคุณใช้ Express เพื่อสร้างเว็บแอปพลิเคชันใน Node.js แอปพลิเคชันจะทำงานเป็นเซิร์ฟเวอร์ HTTP ที่รอรับคำขอ HTTP ประมวลผลคำขอเหล่านั้น ส่งคืนข้อมูล และอื่นๆ เมื่อคุณใช้ apigeetool เพื่อติดตั้งใช้งานแอปพลิเคชัน Node.js ใน Edge ระบบจะห่อแอปพลิเคชันไว้ในพร็อกซีและเรียกใช้ภายในบริบทของแพลตฟอร์ม Edge จากนั้นคุณจะเรียกแอปพลิเคชันผ่าน URL พร็อกซีใหม่ และเพิ่มมูลค่าให้กับ แอปพลิเคชันได้โดย "ตกแต่ง" ด้วยฟีเจอร์มาตรฐานของ Edge เช่น ความปลอดภัย OAuth, นโยบายโควต้า, นโยบายการป้องกันภัยคุกคาม โฟลว์แบบมีเงื่อนไข, การแคช และอื่นๆ อีกมากมาย

สิ่งที่ apigeetool ทำ

เมื่อคุณเรียกใช้ยูทิลิตี apigeetool ด้วยตัวเลือก deploynodeapp ยูทิลิตีจะทำสิ่งต่อไปนี้

  • สร้างชุดการกำหนดค่าพร็อกซี API เพื่อเก็บแอปพลิเคชัน Node.js
  • แพ็กเกจแอปพลิเคชัน Node.js พร้อมแพ็กเกจ Node.js ที่ติดตั้งด้วย NPM (Node Packaged Modules)
  • นำเข้าชุดการกำหนดค่าพร็อกซี API ไปยังองค์กรที่ระบุใน Apigee Edge โดยใช้ Edge Management API
  • ติดตั้งใช้งานพร็อกซี 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 อยู่ใน Path คุณสามารถทดสอบได้โดยพิมพ์คำสั่งต่อไปนี้

$ apigeetool -h

การติดตั้งใช้งานแอปพลิเคชัน Node.js ใน Edge ด้วย apigeetool

หมายเหตุ: ก่อนติดตั้งใช้งาน คุณจะต้องทราบชื่อองค์กร 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

    หากเห็น "Status: deployed" แสดงว่าเสร็จสมบูรณ์ ทุกอย่างเป็นไปด้วยดี แอป Node.js ของคุณถูก ห่อไว้ในพร็อกซี API ติดตั้งใช้งานใน Edge และกำลังทำงานรอจัดการคำขอ พร้อมสำหรับการทดสอบแล้ว

  4. ทดสอบพร็อกซี ตัวอย่างเช่น

    $ curl http://myorg-test.apigee.net/myNodeApp
    Hello, My Node App!
    
  5. หากต้องการ ให้เข้าสู่ระบบบัญชี Apigee Edge แล้วไปที่หน้าพร็อกซี API ของ UI การจัดการ คุณจะเห็นพร็อกซีใหม่แสดงอยู่ในหน้านั้น

วิธีที่ apigeetool จัดการไฟล์และ โมดูล

หากแอปพลิเคชัน Node.js ขึ้นอยู่กับโมดูลที่ติดตั้ง apigeetool จะจัดการโมดูลเหล่านั้นโดยการบีบอัด โฟลเดอร์ node_modules และเพิ่มโฟลเดอร์ดังกล่าวลงในชุดพร็อกซี คุณไม่ต้องดำเนินการใดๆ เพิ่มเติม และยังใช้ได้กับไดเรกทอรีที่มีซอร์สโค้ดเพิ่มเติมด้วย ยูทิลิตี apigeetool จะบีบอัดไดเรกทอรีเหล่านั้นและติดตั้งใช้งานพร้อมกับชุด

คุณจะแก้ไขไฟล์ในไดเรกทอรีที่บีบอัดเหล่านี้ในเครื่องมือแก้ไขของ UI การจัดการ Edge ไม่ได้ หากต้องการเปลี่ยนแปลงไฟล์ คุณสามารถส่งออกโปรเจ็กต์ แก้ไขไฟล์ในเครื่อง แล้วติดตั้งใช้งานอีกครั้งโดยใช้ apigeetool หรือโดยการนำเข้าโปรเจ็กต์ที่ส่งออกโดยใช้ UI การจัดการ ดูเพิ่มเติมที่ "การส่งออกและนำเข้าพร็อกซีด้วยโค้ด 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

การสร้างพร็อกซีใหม่ด้วยไฟล์ Node.js ที่มีอยู่

อีกวิธีหนึ่งในการผสานรวมแอปพลิเคชัน Node.js ที่มีอยู่เข้ากับพร็อกซี API คือการเพิ่มแอปพลิเคชันเมื่อสร้างพร็อกซี คุณสามารถทำได้ทั้งหมดผ่าน UI การจัดการและกล่องโต้ตอบพร็อกซี API ใหม่

  1. จากหน้าสรุปพร็อกซี API ให้คลิก +พร็อกซี API
  2. ในกล่องโต้ตอบพร็อกซี API ใหม่ ให้เลือก Node.js ที่มีอยู่
  3. ใช้ปุ่มเลือกไฟล์ เพื่อเลือกไฟล์ Node.js อย่างน้อย 1 ไฟล์ที่จะ นำเข้า
  4. ตั้งชื่อพร็อกซี ในตัวอย่างนี้ เราจะตั้งชื่อว่า hellonode.
  5. เพิ่มเวอร์ชัน /v1 ลงในเส้นทางฐานของโปรเจ็กต์ การกำหนดเวอร์ชัน API เป็นแนวทางปฏิบัติแนะนำ
  6. คลิกสร้าง
  7. คลิกพัฒนา เพื่อเข้าสู่มุมมองการพัฒนา
  8. เปิดไฟล์ TargetEndpoint ในเครื่องมือแก้ไขโค้ด
  9. ตรวจสอบว่าองค์ประกอบ <ScriptTarget> ระบุไฟล์ Node.js หลัก ดังนี้


    <ScriptTarget>
            <ResourceURL>node://server.js</ResourceURL>
            <Properties/>
    </ScriptTarget>
  10. คลิกบันทึก

การเพิ่มและเรียกใช้ไฟล์ทรัพยากร Node.js ใหม่

อีกวิธีหนึ่งในการเพิ่มโค้ด Node.js ลงในพร็อกซีคือการเพิ่มโค้ดโดยตรงผ่าน UI หรือโดยการ อัปโหลดจากระบบไฟล์ในเครื่อง นอกจากนี้ คุณยังระบุได้ว่าไฟล์ Node.js ใดเป็นไฟล์หลัก ซึ่งเป็นไฟล์ที่ Edge เรียกใช้เมื่อติดตั้งใช้งานพร็อกซี

การเพิ่มไฟล์ Node.js ใหม่ผ่าน UI

UI การจัดการช่วยให้คุณเพิ่มไฟล์ซอร์สโค้ด Node.js เพิ่มเติมลงในพร็อกซีที่อยู่ในแพลตฟอร์ม Edge ได้ คุณสามารถสร้างไฟล์เหล่านี้ได้โดยตรงใน UI หรือนำเข้าจากระบบไฟล์ ก่อนอื่น มาดูวิธีดำเนินการจาก UI กัน

วิธีสร้างไฟล์ทรัพยากร Node.js ใหม่

  1. ในมุมมองการพัฒนา ให้เลือก สคริปต์ ใหม่จากเมนูใหม่
  2. ในกล่องโต้ตอบเพิ่มสคริปต์ ให้เลือกประเภทไฟล์ Node และตั้งชื่อสคริปต์
  3. คลิกเพิ่ม

ไฟล์ Node.js ใหม่ที่ว่างเปล่าจะเปิดขึ้นในเครื่องมือแก้ไข คุณสามารถตัดและวางโค้ดลงใน ไฟล์ได้ นอกจากนี้ ไฟล์จะปรากฏในส่วนสคริปต์ของ Navigator ด้วย

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

การนำเข้า ไฟล์ Node.js จากระบบไฟล์

วิธีนำเข้าไฟล์ Node.js จากระบบไฟล์ ไปยังพร็อกซี

  1. ในมุมมองการพัฒนา ให้เลือก สคริปต์ ใหม่จากเมนูใหม่
  2. ในกล่องโต้ตอบเพิ่มสคริปต์ ให้คลิกนำเข้า สคริปต์
  3. ใช้เครื่องมือไฟล์เพื่อเลือกไฟล์ Node.js
  4. ชื่อไฟล์จะปรากฏในกล่องโต้ตอบ แต่คุณสามารถเปลี่ยนชื่อได้หากต้องการ
  5. คลิกเพิ่ม ไฟล์จะปรากฏในส่วนสคริปต์ ของ Navigator และเปิดขึ้นในเครื่องมือแก้ไข
  6. คลิกบันทึก

หากต้องการเรียกใช้ไฟล์ที่นำเข้า คุณต้องทำตามขั้นตอนเพิ่มเติมตามที่อธิบายไว้ในส่วนถัดไป

การเรียกใช้ไฟล์ Node.js ที่นำเข้า

คุณไม่สามารถเรียกใช้ไฟล์ Node.js ที่นำเข้าหรือสร้างใหม่ได้โดยตรง เนื่องจาก Edge กำหนดให้ไฟล์ Node.js ไฟล์หนึ่งเป็นไฟล์ หลัก ไฟล์หลักจะระบุไว้ใน <ScriptTarget> องค์ประกอบของคำจำกัดความของปลายทางเป้าหมาย หากต้องการระบุไฟล์ที่จะใช้เป็นไฟล์ Node.js หลัก ให้ทำดังนี้

  1. ในส่วนปลายทางเป้าหมายใน Navigator ให้คลิกชื่อปลายทางเป้าหมาย (โดยปกติ จะเรียกว่า เริ่มต้น)
  2. ในเครื่องมือแก้ไขโค้ด ให้แก้ไของค์ประกอบ <ScriptTarget> โดยเปลี่ยน <ResourceURL> ให้แสดงชื่อไฟล์ที่คุณต้องการใช้เป็นไฟล์ Node.js หลัก ตัวอย่างเช่น หากต้องการใช้ไฟล์ชื่อ hello-world.js เป็นไฟล์หลัก ให้ป้อน node://hello-world.js ในองค์ประกอบ ResourceURL
  3. คลิกบันทึก

ตอนนี้คุณสามารถเรียกใช้ไฟล์ด้วยเส้นทางพร็อกซีที่เคยใช้ได้แล้ว ตัวอย่างเช่น เราได้ดูตัวอย่าง Hello World! ซึ่งมีการระบุเส้นทางฐาน v1/helloคือ ระบุ อย่างไรก็ตาม คุณสามารถเปลี่ยนเส้นทางฐานได้โดยการแก้ไขปลายทางพร็อกซี

  1. ในส่วนปลายทางพร็อกซีใน Navigator ให้คลิกชื่อปลายทางพร็อกซี (โดยปกติ เรียกว่า เริ่มต้น)
  2. ในเครื่องมือแก้ไขโค้ด ให้แก้ไของค์ประกอบ <HttpProxyConnection> โดยเปลี่ยน <BasePath> เป็นชื่อที่ต้องการ ตัวอย่างเช่น หาก <BasePath> ปัจจุบันคือ v1/hello และคุณต้องการเปลี่ยนเป็น v1/my-node-file, ให้เปลี่ยนองค์ประกอบ <BasePath> ดังนี้:

    <BasePath>/v1/my-node-file</BasePath>
  3. คลิกบันทึก
  4. เรียกใช้พร็อกซีโดยใช้เส้นทางฐานใหม่ ดังนี้

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

การส่งออกและนำเข้าพร็อกซีด้วยโค้ด Node.js

หลังจากติดตั้งใช้งานพร็อกซีที่มีโค้ด Node.js ใน Edge แล้ว คุณสามารถส่งออกพร็อกซีกลับ ไปยังระบบ ทำงานกับพร็อกซีในระบบ แล้วนำเข้าพร็อกซีไปยัง Edge อีกครั้งโดยใช้ UI การจัดการได้ทุกเมื่อ เทคนิคการพัฒนาแบบไปกลับนี้เป็นเทคนิคที่ใช้กันโดยทั่วไป

  1. จากหน้าสรุปพร็อกซี API ให้คลิกพัฒนา
  2. ในหน้าพัฒนา ให้เลือกดาวน์โหลดการแก้ไขปัจจุบัน
  3. คลายซิปไฟล์ที่ดาวน์โหลดในระบบ

คุณสามารถนำเข้าชุดพร็อกซีกลับไปยัง Edge ได้โดยเลือกนำเข้าไปยังการแก้ไขใหม่ จากเมนูเดียวกัน

นอกจากนี้ คุณยังใช้ API เพื่อติดตั้งใช้งานพร็อกซีได้ด้วย ดูรายละเอียดที่หัวข้อการติดตั้งใช้งานพร็อกซีจากบรรทัดคำสั่ง

ขั้นตอนถัดไป

ในหัวข้อถัดไป การเพิ่ม Node.js ลงในพร็อกซี API ที่มีอยู่ เราจะอธิบายวิธีเพิ่มแอป Node.js ลงใน พร็อกซีที่มีอยู่ ในระบบไฟล์และติดตั้งใช้งานใน Edge