คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
หัวข้อนี้อธิบายวิธีทำให้แอปพลิเคชัน Node.js ใช้งานได้จากระบบในเครื่องไปยัง Apigee Edge
ในหัวข้อนี้ เราจะพูดถึงวิธีใช้เครื่องมือบรรทัดคำสั่งที่เรียกว่า apigeetool
เพื่อทำให้แอปพลิเคชัน Node.js ใช้งานได้ใน Apigee Edge
เกี่ยวกับการทําให้โค้ด Node.js ใช้งานได้ใน Apigee Edge
คุณสามารถติดตั้งใช้งานแอปพลิเคชัน Node.js API ที่มีอยู่ รวมถึงโมดูล 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
และทรัพยากร 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
- ในหน้าต่างเทอร์มินัล ให้
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 ของคุณได้รับการรวมไว้ในพร็อกซี API, นำไปใช้งานใน Edge และกำลังทำงานและรอจัดการคำขอ และพร้อมที่จะทดสอบแล้ว
- ทดสอบพร็อกซี ตัวอย่างเช่น
$ curl http://myorg-test.apigee.net/myNodeApp Hello, My Node App!
- หากต้องการ โปรดเข้าสู่ระบบบัญชี Apigee Edge แล้วไปที่หน้าพร็อกซี API ของ UI การจัดการ คุณจะเห็นพร็อกซีใหม่แสดงอยู่ที่นั่น
วิธีที่ apigeetool จัดการไฟล์และข้อบังคับที่ขึ้นต่อกัน
หากแอปพลิเคชัน Node.js ของคุณใช้โมดูลที่ติดตั้งไว้ apigeetool จัดการโมดูลดังกล่าวด้วยการบีบอัดโฟลเดอร์ node_modules
แล้วเพิ่มลงในแพ็กเกจพร็อกซี คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม ซึ่งจะเป็นเช่นนี้สำหรับไดเรกทอรีที่มีซอร์สโค้ดเพิ่มเติมด้วย ยูทิลิตี apigeetool จะใส่ไฟล์เหล่านั้นลงในไฟล์ ZIP และติดตั้งใช้งานพร้อมกับแพ็กเกจ
คุณจะแก้ไขไฟล์ในไดเรกทอรีที่บีบอัดเหล่านี้ในเครื่องมือแก้ไขของ 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 ใหม่
- จากหน้าสรุปพร็อกซี API ให้คลิก +พร็อกซี API
- ในกล่องโต้ตอบพร็อกซี API ใหม่ ให้เลือก Node.js ที่มีอยู่
- ใช้ปุ่มเลือกไฟล์เพื่อเลือกไฟล์ Node.js อย่างน้อย 1 ไฟล์ที่จะนําเข้า
- ตั้งชื่อพร็อกซี ในตัวอย่างนี้ เราจะเรียกตัวแปรนี้ว่า
hellonode
- เพิ่มเวอร์ชัน
/v1
ลงในเส้นทางฐานของโปรเจ็กต์ การกำหนดเวอร์ชัน API เป็นแนวทางปฏิบัติแนะนำ - คลิกสร้าง
- คลิกพัฒนาเพื่อเข้าสู่มุมมองการพัฒนา
- เปิดไฟล์
TargetEndpoint
ในเครื่องมือแก้ไขโค้ด - ตรวจสอบว่าองค์ประกอบ
<ScriptTarget>
ระบุไฟล์ Node.js หลักดังต่อไปนี้
<ScriptTarget> <ResourceURL>node://server.js</ResourceURL> <Properties/> </ScriptTarget>
- คลิกบันทึก
การเพิ่มและเรียกใช้ไฟล์ทรัพยากร Node.js ใหม่
อีกวิธีในการเพิ่มโค้ด Node.js ลงในพร็อกซีคือการเพิ่มโค้ดโดยตรงผ่าน UI หรืออัปโหลดจากระบบไฟล์ในเครื่อง นอกจากนี้ คุณยังระบุไฟล์ Node.js ที่เป็นไฟล์หลักได้ด้วย ซึ่งเป็นไฟล์ที่ Edge เรียกใช้เมื่อมีการทําให้พร็อกซีใช้งานได้
การเพิ่มไฟล์ Node.js ใหม่ผ่าน UI
UI การจัดการช่วยให้คุณเพิ่มไฟล์ต้นทาง Node.js เพิ่มเติมลงในพร็อกซีที่อยู่บนแพลตฟอร์ม Edge ได้ คุณสามารถสร้างใน UI โดยตรงหรือจะนำเข้าจากระบบไฟล์ก็ได้ ก่อนอื่นมาดูวิธีดำเนินการจาก UI
วิธีสร้างไฟล์ทรัพยากร Node.js ใหม่
- ในมุมมอง "พัฒนา" ให้เลือกสคริปต์ใหม่จากเมนู "ใหม่"
- ในกล่องโต้ตอบ "เพิ่มสคริปต์" ให้เลือกประเภทไฟล์ Node แล้วตั้งชื่อสคริปต์
- คลิกเพิ่ม
ไฟล์ Node.js เปล่าใหม่จะเปิดขึ้นในเครื่องมือแก้ไข คุณตัดและวางโค้ดลงในไฟล์ได้ ไฟล์จะปรากฏในส่วน Scripts ของ Navigator ด้วย
[[{"type":"media","view_mode":"media_large","fid":"2431","attributes":{"alt":"","class":"media-image","height":"312","typeof":"foaf:Image","width":"417"}}]]
การนําเข้าไฟล์ Node.js จากระบบไฟล์
วิธีimportไฟล์ Node.js จากระบบไฟล์ไปยังพร็อกซี
- ในมุมมอง "พัฒนา" ให้เลือกสคริปต์ใหม่จากเมนู "ใหม่"
- ในกล่องโต้ตอบเพิ่มสคริปต์ ให้คลิกนําเข้าสคริปต์
- ใช้เครื่องมือไฟล์เพื่อเลือกไฟล์ Node.js
- ชื่อไฟล์จะเพิ่มลงในกล่องโต้ตอบ แต่คุณเปลี่ยนชื่อได้หากต้องการ
- คลิกเพิ่ม ไฟล์จะปรากฏในส่วน Scripts ของ Navigator และจะเปิดขึ้นในตัวแก้ไข
- คลิกบันทึก
หากต้องการเรียกใช้ไฟล์ที่นําเข้า คุณจะต้องทําตามขั้นตอนเพิ่มเติมตามที่อธิบายไว้ในส่วนถัดไป
การเรียกใช้ไฟล์ Node.js ที่นําเข้า
คุณไม่สามารถเรียกใช้ไฟล์ Node.js ที่นําเข้าหรือสร้างขึ้นใหม่ เนื่องจาก Edge กำหนดให้ไฟล์ Node.js ไฟล์ใดไฟล์หนึ่งต้องเป็นไฟล์หลัก ไฟล์หลักจะระบุไว้ในองค์ประกอบ <ScriptTarget> ของคําจํากัดความปลายทางเป้าหมาย หากต้องการระบุว่าไฟล์ใดเป็นไฟล์ Node.js หลัก ให้ทำดังนี้
- ในส่วนปลายทางเป้าหมายใน Navigator ให้คลิกชื่อของปลายทางเป้าหมาย (โดยปกติแล้วจะเรียกว่าค่าเริ่มต้น)
- ในเครื่องมือแก้ไขโค้ด ให้แก้ไของค์ประกอบ <ScriptTarget> โดยเปลี่ยน <ResourceURL> ให้ตรงกับชื่อไฟล์ที่ต้องการให้เป็นไฟล์ Node.js หลัก ตัวอย่างเช่น หากต้องการให้ไฟล์ชื่อ
hello-world.js
เป็นไฟล์หลัก ให้ป้อนnode://hello-world.js
ในองค์ประกอบ ResourceURL - คลิกบันทึก
เมื่อถึงจุดนี้ คุณสามารถเรียกใช้ไฟล์ด้วยเส้นทางพร็อกซีใดก็ได้ที่คุณใช้ก่อนหน้านี้ ตัวอย่างเช่น เรากําลังดูตัวอย่าง Hello World! ซึ่งมีการระบุเส้นทางฐาน v1/hello
แต่คุณสามารถเปลี่ยนเส้นทางฐานได้โดยแก้ไขปลายทางพร็อกซี
- ในส่วนปลายทางของพร็อกซีในเครื่องมือนำทาง ให้คลิกชื่อปลายทางของพร็อกซี (ปกติเรียกว่าเริ่มต้น)
- ในเครื่องมือแก้ไขโค้ด ให้แก้ไของค์ประกอบ <HttpProxyConnection> โดยเปลี่ยน <BasePath> เป็นชื่อที่ต้องการ ตัวอย่างเช่น หาก <BasePath> ปัจจุบันคือ
v1/hello
และคุณต้องการให้เปลี่ยนเป็นv1/my-node-file
ให้เปลี่ยนองค์ประกอบ <BasePath> ดังนี้
<BasePath>/v1/my-node-file</BasePath>
- คลิกบันทึก
- เรียกใช้พร็อกซีโดยใช้เส้นทางฐานใหม่ ดังนี้
$ curl http://myorg-test.apigee.net/v1/my-node-file Hello, World!
การส่งออกและนําเข้าพร็อกซีด้วยโค้ด Node.js
หลังจากติดตั้งใช้งานพร็อกซีที่มีโค้ด Node.js ใน Edge แล้ว คุณสามารถส่งออกพร็อกซีกลับไปยังระบบ ดำเนินการกับพร็อกซีในระบบ แล้วนำเข้าพร็อกซีกลับไปยัง Edge อีกครั้งได้โดยใช้ UI การจัดการ เทคนิคการพัฒนาแบบไปกลับประเภทนี้มักใช้กัน
- จากหน้าสรุปพร็อกซี API ให้คลิกพัฒนา
- ในหน้าพัฒนา ให้เลือกดาวน์โหลดฉบับแก้ไขปัจจุบัน
- แตกไฟล์ที่ดาวน์โหลดในระบบ
คุณนำเข้าแพ็กเกจพร็อกซีกลับไปยัง Edge ได้โดยเลือกนำเข้าเป็นการแก้ไขใหม่ จากเมนูเดียวกัน
นอกจากนี้ คุณยังใช้ API เพื่อติดตั้งใช้งานพร็อกซีได้ด้วย โปรดดูรายละเอียดที่หัวข้อการติดตั้งใช้งานพร็อกซีจากบรรทัดคำสั่ง
ขั้นตอนถัดไป
ในหัวข้อถัดไป การเพิ่ม Node.js ลงในพร็อกซี API ที่มีอยู่ เราจะอธิบายวิธีเพิ่มแอป Node.js ลงในพร็อกซีที่มีอยู่ในระบบไฟล์และทำให้ใช้งานได้ใน Edge