คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X ข้อมูล
สิ่งที่คุณจะได้เรียนรู้ในหัวข้อนี้
คุณจะทราบสิ่งต่อไปนี้หลังจากอ่านหัวข้อนี้
- การสตรีมคำขอและคำตอบใน Apigee Edge คืออะไร
- กรณีที่ควรใช้การสตรีมคำขอและการตอบสนอง
- วิธีเปิดใช้สตรีมมิงคำขอและการตอบสนอง
การสตรีมคำขอและคำตอบคืออะไร
โดยค่าเริ่มต้น ระบบจะปิดใช้สตรีมมิง HTTP และจะเขียนเพย์โหลดคำขอ HTTP และการตอบกลับไปยังบัฟเฟอร์ในหน่วยความจำก่อนที่จะประมวลผลโดยไปป์ไลน์พร็อกซี API คุณเปลี่ยนลักษณะการทำงานนี้ได้โดยการเปิดใช้สตรีมมิง เมื่อเปิดใช้สตรีมมิง ระบบจะสตรีมเพย์โหลดคำขอและการตอบกลับโดยไม่มีการแก้ไขแอปไคลเอ็นต์ (สำหรับการตอบกลับ) และปลายทางเป้าหมาย (สำหรับคำขอ)
ฉันควรเปิดใช้สตรีมมิงเมื่อใด
หากพร็อกซี API จัดการคำขอและ/หรือการตอบกลับขนาดใหญ่มาก (สำหรับขีดจำกัดของขนาด โปรดดูสิ่งอื่นๆ ที่ฉันควรรู้เกี่ยวกับสตรีมมิงด้านล่าง) คุณอาจต้องเปิดใช้สตรีมมิง
มีอะไรอีกบ้างที่ฉันควรรู้เกี่ยวกับสตรีมมิง
ขนาดเพย์โหลดข้อความจำกัดไว้ที่ 10 MB ใน Edge Cloud และ Private Cloud แม้จะเปิดใช้สตรีมมิงก็ตาม ในคำขอและการตอบกลับที่ไม่ใช่สตรีม ขนาดที่เกินขนาดดังกล่าวจะทำให้เกิดข้อผิดพลาด protocol.http.TooBigBody
คุณแก้ไขขีดจำกัดขนาดคำขอ/การตอบกลับแบบไม่สตรีมได้ใน Edge สำหรับการทำให้ Private Cloud ใช้งานได้ อย่าลืมทดสอบก่อนที่จะนำการเปลี่ยนแปลงไปใช้จริง
- สำหรับ Edge for Private Cloud รุ่นก่อนหน้าเป็นเวอร์ชัน 4.16.01
ในตัวประมวลผลข้อความทั้งหมด ให้แก้ไขไฟล์http.properties
เพื่อเพิ่มขีดจำกัดในพารามิเตอร์HTTPResponse.body.buffer.limit
จากนั้นจึงรีสตาร์ทตัวประมวลผลข้อความ -
สำหรับ Edge สำหรับ Private Cloud รุ่น 4.16.01 ขึ้นไป ให้ทำดังนี้
-
แก้ไขไฟล์ /<inst_root>/apigee/customer/application/message-processor.properties หากยังไม่มี ให้สร้างไฟล์ดังกล่าว
-
ตั้งค่าพร็อพเพอร์ตี้ conf_http_HTTPResponse.body.buffer.limit ใน message-processor.properties ตัวอย่างเช่น
conf_http_HTTPResponse.body.buffer.limit=5m -
รีสตาร์ทตัวประมวลผลข้อความ
> /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor begin -
ทำซ้ำสำหรับตัวประมวลผลข้อความทั้งหมด
-
วิธีเปิดใช้สตรีมมิงคำขอและการตอบสนอง
หากต้องการเปิดใช้คำขอสตรีมมิง คุณต้องเพิ่มพร็อพเพอร์ตี้ request.streaming.enabled
ลงในคำจำกัดความ ProxyEndpoint และ TargetEndpoint ในกลุ่มพร็อกซีและตั้งค่าเป็น true
ในทำนองเดียวกัน ให้ตั้งค่าพร็อพเพอร์ตี้ response.streaming.enabled
เพื่อเปิดใช้การสตรีมคำตอบ
คุณจะค้นหาไฟล์การกำหนดค่าเหล่านี้ได้ใน UI การจัดการในมุมมองพัฒนาสำหรับพร็อกซี หากคุณพัฒนาในเครื่อง ไฟล์คําจํากัดความเหล่านี้จะอยู่ใน apiproxy/proxies
และ apiproxy/targets
ตัวอย่างนี้แสดงวิธีเปิดใช้ทั้งการสตรีมคำขอและการตอบกลับในคำจำกัดความ TargetEndpoint
<TargetEndpoint name="default"> <HTTPTargetConnection> <URL>http://mocktarget.apigee.net</URL> <Properties> <Property name="response.streaming.enabled">true</Property> <Property name="request.streaming.enabled">true</Property> <Property name="supports.http10">true</Property> <Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property> <Property name="retain.queryparams">apikey</Property> </Properties> </HTTPTargetConnection> </TargetEndpoint>
ตัวอย่างนี้แสดงวิธีเปิดใช้การตอบกลับและส่งคำขอสตรีมมิงในคำจำกัดความของ ProxyEndpoint
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <Property name="allow.http10">true</Property> <Property name="response.streaming.enabled">true</Property> <Property name="request.streaming.enabled">true</Property> </Properties> </HTTPProxyConnection> </ProxyEndpoint>
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าการกำหนดปลายทางที่หัวข้อข้อมูลอ้างอิงพร็อพเพอร์ตี้ปลายทาง
ตัวอย่างโค้ดที่เกี่ยวข้อง
ตัวอย่างพร็อกซี API ใน GitHub ดาวน์โหลดและใช้งานง่าย ดูการใช้พร็อกซี API ตัวอย่างสำหรับข้อมูลเกี่ยวกับการดาวน์โหลดและการใช้ตัวอย่าง
ตัวอย่างพร็อกซีที่มีสตรีมมิง ได้แก่
- สตรีมมิง - สาธิตพร็อกซี API ที่กำหนดค่าไว้สำหรับสตรีมมิง HTTP
- ไฮไลต์ Edge: เครื่องมือสร้าง URL ที่ลงนาม - แสดงแนวทางปฏิบัติแนะนำในการสร้าง URL ที่ลงนามเพื่อเข้าถึงไฟล์ขนาดใหญ่ แทนการพยายามสตรีมด้วยคำขอ/การตอบกลับ