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

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

กำลังเตรียมใช้ apigeetool

ก่อนเริ่มต้น คุณต้องติดตั้งยูทิลิตี apigeetool

คุณติดตั้ง apigeetool ได้ผ่านทาง npm หรือโดยการโคลนโค้ดและลิงก์จาก GitHub

การติดตั้งจาก npm

โมดูล apigeetool และทรัพยากร Dependency ได้รับการออกแบบมาสำหรับ 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

  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 ของคุณ อยู่ในพร็อกซี 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. ใช้ปุ่ม Choose Files เพื่อเลือกไฟล์ 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. ในกล่องโต้ตอบเพิ่มสคริปต์ ให้เลือกประเภทไฟล์โหนดและตั้งชื่อสคริปต์
  3. คลิกเพิ่ม

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

[[{"type":"สื่อ","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"สื่อ-รูปภาพ","height":"312","typeof":"foaf:Image","width":"417"}}]]

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

หากต้องการimportไฟล์ Node.js จากระบบไฟล์ไปยังพร็อกซี ให้ทำดังนี้

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

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

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

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

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

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

  1. ในส่วน Proxy Endpoints ใน 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