คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
ขีดจำกัดตัวแปรสภาพแวดล้อม
เป้าหมายที่โฮสต์จะจำกัดขนาดและจำนวนตัวแปรสภาพแวดล้อม ที่คุณสามารถตั้งค่าในสภาพแวดล้อมรันไทม์เป้าหมายที่โฮสต์ได้
- 1000: ความยาวสูงสุดของตัวแปรสภาพแวดล้อมเดียว
- 100: จำนวนตัวแปรสภาพแวดล้อมสูงสุดที่ตั้งค่าได้
สำหรับข้อมูลเกี่ยวกับการตั้งค่าตัวแปรสภาพแวดล้อม โปรดดู ไฟล์ Manifest
ตัวแปรสภาพแวดล้อมที่ตั้งค่าไว้ในรันไทม์ของแอปพลิเคชัน
เมื่อคุณทำให้แอปพลิเคชันเป้าหมายที่โฮสต์ใช้งานได้ จะมีการตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้และ พร้อมใช้งานสำหรับแอปพลิเคชันของคุณขณะรันไทม์:
APIGEE_ENVIRONMENT
- สภาพแวดล้อมที่ทำให้พร็อกซีเป้าหมายที่โฮสต์ใช้งานได้APIGEE_ORGANIZATION
- องค์กรที่มีการใช้งานพร็อกซีเป้าหมายที่โฮสต์PORT
- พอร์ตที่แอปพลิเคชันเป้าหมายที่โฮสต์ต้องรับคำสั่ง
การจัดสรรทรัพยากรของระบบ
อินสแตนซ์เป้าหมายที่โฮสต์แต่ละรายการจะได้รับทรัพยากรต่อไปนี้
- หน่วยความจำ 256 MB
- CPU 1.2 GHz
การปรับสเกล
ส่วนนี้อธิบายวิธีปรับขนาดแอปพลิเคชันเป้าหมายที่โฮสต์ไว้ โดยขึ้นอยู่กับประเภทบัญชี Edge ที่คุณมี- Apigee Edge เวอร์ชันทดลองใช้จะจำกัดอยู่ที่ 1 อินสแตนซ์เป้าหมายที่โฮสต์ไว้ต่อพร็อกซี
- บัญชี Apigee Edge แบบชำระเงินจะได้รับการปรับขนาดอัตโนมัติตามอัตราคำขอ เวลาในการตอบสนอง
และเมตริกแอปพลิเคชันอื่นๆ ต่อพร็อกซี
- แอปเป้าหมายที่โฮสต์ซึ่งปรับใช้กับทั้งเวอร์ชันแบบชำระเงินและเวอร์ชันทดลองใช้ของ Apigee Edge จนถึง 0 ในช่วงที่ไม่มีการใช้งาน ในกรณีนี้ คุณอาจสังเกตเห็นว่าเวลาในการตอบกลับช้าลงไประยะหนึ่ง ดูเพิ่มเติม ปัญหาที่ทราบ
ไฟล์ Manifest
Edge จะมองหาข้อมูลรันไทม์สำหรับการสร้างและทำให้แอปพลิเคชันที่โฮสต์ใช้งานได้ ไฟล์ Manifest ชื่อ app.yaml ในไดเรกทอรี resources/hosted ไฟล์นี้ประกอบด้วยข้อมูลที่จำเป็นในการสร้างและทำให้แอปพลิเคชันเป้าหมายที่โฮสต์ใช้งานได้
ไวยากรณ์ของไฟล์ Manfiest
runtime: node runtimeVersion: version_number command: command_name args: argument_array env: - name: variable_name value: literal_value - name: variable_name valueRef: name: kvm_name key: kvm_value
องค์ประกอบไฟล์ Manifest
ไฟล์ Manifest app.yaml มีองค์ประกอบต่อไปนี้
- runtime - (ต้องระบุ) ระบุประเภทของแอปพลิเคชันที่คุณจะทำให้ใช้งานได้
คุณต้องระบุ
node
- runtimeVersion - (ไม่บังคับ) เวอร์ชันของรันไทม์ที่ ที่แอปพลิเคชันของคุณใช้ ค่าเริ่มต้น: Node.js LTS (v10.x) โปรดดูที่เก็บอย่างเป็นทางการของ Docker สำหรับโหนด เพื่อดูตัวเลือกอื่น
- command - (ไม่บังคับ) ให้คุณระบุคำสั่งที่จะเรียกใช้นอกเหนือจากคำสั่ง
คำสั่งเริ่มต้นที่ใช้เพื่อเริ่มแอปพลิเคชันของคุณ ค่าเริ่มต้น:
Node.js=npm
- args - (ไม่บังคับ) อาร์เรย์ของอาร์กิวเมนต์บรรทัดคำสั่งที่จะส่งไปยัง
(ระบุไว้ในไวยากรณ์อาร์เรย์ YAML มาตรฐาน) ซึ่งโดยทั่วไปจะเพิ่มลงในคำสั่งเริ่มต้น
ค่าเริ่มต้นคือ start เช่น โดยค่าเริ่มต้น แอป Node.js จะส่งผ่านคำสั่ง
npm start
- env - (ไม่บังคับ) อาร์เรย์ของตัวแปรสภาพแวดล้อม (คู่ชื่อ/ค่า) เพื่อตั้งค่าในสภาพแวดล้อมรันไทม์เป้าหมายที่โฮสต์ ตัวแปรเหล่านี้ใช้ได้สำหรับ ที่ทำให้แอปเป้าหมายที่โฮสต์ใช้งานได้
- name - ชื่อตัวแปร
- ค่า | valueRef - คุณมี 2 ตัวเลือก คุณกำหนดค่าตามตัวอักษรได้
หรืออ้างอิงค่าที่จัดเก็บไว้ในการแมปค่าคีย์ แมปค่าคีย์ต้อง
อยู่ในสภาพแวดล้อม Edge อยู่แล้ว ดูการใช้งานแมปค่าคีย์
- หากใช้ value คุณต้องทำดังนี้
ระบุตัวแปร
name
และvalue
แบบลิเทอรัล เช่นruntime: node env: - name: NODE_ENV value: production
- หากคุณใช้ valueRef
จากนั้นคุณต้องใส่ชื่อของการแมปค่าคีย์ (KVM) ที่คุณสร้างไว้ก่อนหน้านี้ใน Edge และคีย์
เช่น
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
- หากใช้ value คุณต้องทำดังนี้
ระบุตัวแปร
- apigeetool -- บรรทัดคำสั่ง เครื่องมือในการทำให้พร็อกซี Edge ใช้งานได้
- get_token - เครื่องมือบรรทัดคำสั่งสำหรับการรับโทเค็นการให้สิทธิ์ที่ apigeetool กำหนดให้
- ไปที่ https://github.com/apigee/api-platform-samples ในเบราว์เซอร์
- คลิกโคลนหรือดาวน์โหลด แล้วดึงที่เก็บไปยังระบบในเครื่องโดยใช้ วิธีการที่ต้องการ
- cd ไปยัง <your install dir>/api-platform-samples/doc-เห็น/โฮสต์-targets
- เมื่อดาวน์โหลดที่เก็บแล้ว คุณสามารถส่งไปยังไดเรกทอรีตัวอย่างใดก็ได้ และปฏิบัติตาม วิธีการของ README ในการทำให้พร็อกซีตัวอย่างใช้งานได้กับ Edge คำสั่งทำให้ใช้งานได้แสดงอยู่ด้านล่าง Simply แทนที่พารามิเตอร์ที่ระบุด้วยพารามิเตอร์สำหรับบัญชี Apigee ดังนี้
- เวลาในการตอบสนองของเครือข่าย - ตอนนี้แอปพลิเคชัน Node.js จะไม่ทำงานอีกต่อไป ใน JVM ของ MP ตอนนี้จะมีการผูกเครือข่ายระหว่าง MP กับการทำให้ใช้งานได้ แน่นอน เรื่องนี้ต้องเสียค่าใช้จ่าย แต่การเปรียบเทียบเริ่มต้นแสดงให้เห็นว่าอยู่ในราคาที่สมเหตุสมผล
- การตอบสนองของ API ที่ช้า - โครงสร้างพื้นฐานที่ใช้งานแอปพลิเคชันของคุณ ปรับขนาดได้ตามความต้องการ ซึ่งหมายความว่าแอปพลิเคชันของคุณสามารถลดขนาดลงเป็น อินสแตนซ์ 0 รายการ และถ้าเป็นเช่นนั้น คำขอ API ถัดไปจะใช้เวลานานกว่าเล็กน้อย คำขอ API ทั่วไป เนื่องจากโครงสร้างพื้นฐานกำลังสร้างอินสแตนซ์เพื่อประมวลผล คำขอ
- ข้อผิดพลาดในการทำให้ใช้งานได้ - หากได้รับข้อผิดพลาดการทำให้ใช้งานได้เมื่อทำให้ พร็อกซีเป้าหมายที่โฮสต์ไว้ ลองทำให้พร็อกซีใช้งานได้อีกครั้ง ในบางกรณี การทำให้ใช้งานได้อาจหมดเวลา และหากคุณทำให้ใช้งานได้อีกครั้ง ปัญหาก็จะคลี่คลายไปเอง
ตัวอย่างไฟล์ Manifest
ส่วนนี้ประกอบด้วยตัวอย่างไฟล์ Manifest สำหรับ Node.js
แอปพลิเคชัน ต้องมีไฟล์ Manifest เพื่อทำให้แอปเป้าหมายที่โฮสต์ใช้งานได้ และต้องระบุตำแหน่ง
ในไดเรกทอรี apiproxy/resources/hosted
และชื่อไฟล์ต้องเป็น app.yaml
ต่อไปนี้คือตัวอย่างไฟล์ app.yaml
(ไฟล์ Manifest) สำหรับแอป Node.js
ตัวอย่างที่ระบุตัวแปรสภาพแวดล้อมลิเทอรัล
runtime: node
env:
- name: NODE_ENV
value: production
เช่น คำสั่งเริ่มต้น อาร์กิวเมนต์บรรทัดคำสั่ง และตัวแปรสภาพแวดล้อม
runtime: node
command: ./node_modules/pm2/bin/pm2
env:
- name: NODE_ENV
value: production
args:
- app.js
ตัวอย่างที่ระบุการอ้างอิงการแมปคีย์ (KVM)
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเข้าถึง KVM ได้ที่ไฟล์ Manifest
runtime: node env: - name: DB_ENV value: production - name: DB_PASSWORD valueRef: name: hosted-kvm key: db-password
ตัวอย่างแอปพลิเคชันเป้าหมายที่โฮสต์บน GitHub
Apigee มีตัวอย่างพร็อกซีบน GitHub ที่มีแอปพลิเคชันเป้าหมายที่โฮสต์ที่เขียนไว้แล้ว ใน Node.js คุณสามารถโคลนที่เก็บนี้และทำตามวิธีการของ README เพื่อ ให้ใช้พร็อกซีใดก็ได้
ข้อกำหนดเบื้องต้น
ในการทำให้ตัวอย่างใช้งานได้ คุณต้องติดตั้งเครื่องมือ 2 รายการในระบบของคุณดังนี้
หากต้องการทดสอบตัวอย่างในเครื่อง คุณจะต้องติดตั้ง Node.js ด้วย
การรับที่เก็บตัวอย่าง
get_token && apigeetool deployproxy \ -o YOUR_ORGANIZATION \ -e YOUR_ENVIRONMENT \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api NAME_OF_THE_PROXY \ --directory .
ตัวอย่าง: การใช้งานแอปตัวอย่าง
โคลนที่เก็บตัวอย่าง
cd ~/myhome
git clone https://github.com/apigee/api-platform-samples.git
cd ~/myhome/api-platform-samples/doc-samples/hosted-targets
cd node-hosted-hello
ทดสอบแอปพลิเคชันในเครื่อง
คุณต้องติดตั้ง Node.js เพื่อทำการทดสอบในเครื่อง
PORT=8081 node apiproxy/resources/hosted/index.js
curl http://localhost:8081
ตัวอย่างเอาต์พุต:
{"date":"2018-03-12T21:45:22.161Z","msg":"Hello, World!"}
ทำให้พร็อกซีใช้งานได้
get_token && apigeetool deployproxy \ -o myorg \ -e test \ --json \ --token "$(< ~/.sso-cli/valid_token.dat)"\ --api node-hosted-hello \ --directory .
ทดสอบการติดตั้งใช้งาน
การทำให้ใช้งานได้อาจใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์ หากคุณได้รับข้อผิดพลาดในการทำให้ใช้งานได้ ให้ดำเนินการ ทำให้ใช้งานได้อีกครั้ง
curl http://myorg-test.apigee.net/node-hosted-hello
ตัวอย่างเอาต์พุต:
{"date":"2018-03-23T18:59:18.668Z","msg":"Hello, World!"