การทำให้แอป 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 (Node โมดูลแบบแพ็กเกจ)
  • นำเข้าแพ็กเกจการกำหนดค่าพร็อกซี 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 ในเครื่องที่ใช้ *นิกซ์

การติดตั้งจาก 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. ในกล่องโต้ตอบ New API Proxy ให้เลือก available 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. ในมุมมอง Develop ให้เลือก New Script จากเมนู "ใหม่"
  2. ในกล่องโต้ตอบเพิ่มสคริปต์ ให้เลือกประเภทไฟล์โหนดและตั้งชื่อสคริปต์
  3. คลิกเพิ่ม

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

[[{&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 จาก ระบบไฟล์ไปยังพร็อกซี:

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

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

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

คุณไม่สามารถเรียกใช้ไฟล์ Node.js ที่นําเข้าหรือสร้างขึ้นใหม่ สาเหตุก็คือ Edge กำหนดให้ไฟล์ Node.js 1 ไฟล์เป็นไฟล์หลัก ไฟล์หลักจะระบุไว้ในฟิลด์ &lt;ScriptTarget&gt; ของคำจำกัดความของปลายทางเป้าหมาย เพื่อระบุว่าไฟล์ใดเป็นไฟล์หลัก ไฟล์ Node.js ให้ทำดังนี้

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

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

  1. ในส่วนปลายทางของพร็อกซีใน Navigator ให้คลิกชื่ออุปกรณ์ปลายทางของพร็อกซี (โดยทั่วไปคือ ที่เรียกว่า default)
  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. เรียกใช้พร็อกซีโดยใช้เส้นทางฐานใหม่ ดังนี้

    $ 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