คุณกำลังดูเอกสารประกอบ 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
จากนั้นรีสตาร์ท Message Processor -
สำหรับ Edge for 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 รีสตาร์ท -
ทำขั้นตอนนี้ซ้ำกับตัวประมวลผลข้อความ (Message Processor) ทั้งหมด
-
วิธีเปิดใช้การสตรีมคำขอและคำตอบ
หากต้องการเปิดใช้การขอสตรีมมิง คุณต้องเพิ่ม 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 ที่มีการรับรอง URL สำหรับเข้าถึงไฟล์ขนาดใหญ่แทนที่จะพยายามสตรีมในคำขอ/คำตอบ