คำขอและการตอบกลับสตรีมมิง

คุณกำลังดูเอกสารประกอบ 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 ขึ้นไป
    1. แก้ไขไฟล์ /<inst_root>/apigee/customer/application/message-processor.properties หากไม่มี ให้สร้างไฟล์ดังกล่าว

    2. ตั้งค่า conf_http_HTTPResponse.body.buffer.limit ใน message-processor.properties สำหรับ ตัวอย่าง:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. รีสตาร์ทโปรแกรมประมวลผลข้อความ โดยทำดังนี้
      &gt; /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor รีสตาร์ท

    4. ทำขั้นตอนนี้ซ้ำกับตัวประมวลผลข้อความ (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 ตัวอย่างสำหรับข้อมูลเกี่ยวกับ และดาวน์โหลดและใช้ตัวอย่าง

ตัวอย่างพร็อกซีที่มีสตรีมมิงมีดังนี้