คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
ลักษณะปัญหา
แอปพลิเคชันไคลเอ็นต์ได้รับรหัสสถานะ HTTP 413 Request Entity Too Large
ที่มีรหัสข้อผิดพลาด protocol.http.TooBigBody
เป็นการตอบสนองสำหรับการเรียก API
ข้อความแสดงข้อผิดพลาด
แอปพลิเคชันไคลเอ็นต์ได้รับโค้ดตอบกลับต่อไปนี้
HTTP/1.1 413 Request Entity Too Large
นอกจากนี้ คุณอาจสังเกตเห็นข้อความแสดงข้อผิดพลาดต่อไปนี้
{ "fault":{ "faultstring":"Body buffer overflow", "detail":{ "errorcode":"protocol.http.TooBigBody" } } }
สาเหตุที่เป็นไปได้
ข้อผิดพลาดนี้เกิดขึ้นหากขนาดเพย์โหลดที่แอปพลิเคชันไคลเอ็นต์ส่งไปยัง Apigee Edge เป็นส่วนหนึ่งของ คำขอ HTTP สูงกว่าขีดจำกัดที่อนุญาตใน Apigee Edge
สาเหตุที่เป็นไปได้สำหรับข้อผิดพลาดนี้มีดังนี้
สาเหตุ | คำอธิบาย | วิธีการแก้ปัญหาสำหรับ |
---|---|---|
ขนาดเพย์โหลดคำขอเกินขีดจำกัดที่อนุญาต | ขนาดเพย์โหลดที่แอปพลิเคชันไคลเอ็นต์ส่งซึ่งเป็นส่วนหนึ่งของคำขอ HTTP ไปยัง Apigee Edge คือ เกินขีดจำกัดที่อนุญาตใน Apigee Edge | ผู้ใช้ Edge สาธารณะและ Private Cloud |
ขนาดเพย์โหลดคำขอเกินขีดจำกัดที่อนุญาตหลังจาก การยกเลิกการบีบอัด | ขนาดเพย์โหลดที่ส่งในรูปแบบที่บีบอัดโดยแอปพลิเคชันไคลเอ็นต์โดยเป็นส่วนหนึ่งของ HTTP คำขอไปยัง Apigee Edge เกินขีดจำกัดที่อนุญาตเมื่อคลายการบีบอัดโดย Apigee Edge | ผู้ใช้ Edge สาธารณะและ Private Cloud |
ขั้นตอนการวินิจฉัยทั่วไป
ใช้เครื่องมือ/เทคนิคต่อไปนี้เพื่อวินิจฉัยข้อผิดพลาดนี้
การตรวจสอบ API
วิธีวินิจฉัยข้อผิดพลาดโดยใช้การตรวจสอบ API
- ลงชื่อเข้าใช้ Apigee Edge UI ในฐานะผู้ใช้ที่มี บทบาทที่เหมาะสม
เปลี่ยนเป็นองค์กรที่ต้องการตรวจสอบปัญหา
- ไปที่ วิเคราะห์ > การตรวจสอบ API > หน้าตรวจสอบ
- เลือกกรอบเวลาที่คุณพบข้อผิดพลาด
- คุณอาจเลือกตัวกรองพร็อกซีเพื่อจำกัดรหัสข้อผิดพลาดให้แคบลง
- พล็อตรหัสข้อผิดพลาดเทียบกับเวลา
เลือกเซลล์ที่มีรหัสข้อผิดพลาด
protocol.http.TooBigBody
และ รหัสสถานะ413
ดังที่แสดงด้านล่างข้อมูลเกี่ยวกับรหัสข้อผิดพลาด
protocol.http.TooBigBody
แสดงเป็น แสดงอยู่ด้านล่าง- คลิก ดูบันทึก และขยายแถวสำหรับคำขอที่ล้มเหลว จากนั้น จาก
หน้าต่าง Logs โดยให้จดรายละเอียดดังที่แสดงด้านล่าง
ไม่บีบอัด
สถานการณ์ที่ 1: ส่งเพย์โหลดคำขอในรูปแบบที่ไม่ได้บีบอัด
จากหน้าต่างบันทึก โปรดสังเกตรายละเอียดต่อไปนี้
- รหัสสถานะ:
413
- แหล่งที่มาของข้อผิดพลาด:
proxy
- รหัสข้อผิดพลาด:
protocol.http.TooBigBody
- ความยาวคำขอ(ไบต์):
15360440
(~15 MB)
หากแหล่งที่มาของข้อผิดพลาดมีค่า
proxy
ระบบจะแสดงรหัสข้อผิดพลาด มีค่าprotocol.http.TooBigBody
และความยาวของคำขอ มีขนาดใหญ่กว่า 10 MB จะระบุไว้ว่าคำขอ HTTP จากไคลเอ็นต์ ขนาดเพย์โหลดคำขอมากกว่าขีดจำกัดที่อนุญาตใน Apigeeขนาดไฟล์ที่บีบอัด
สถานการณ์ที่ 2: ส่งเพย์โหลดคำขอในรูปแบบที่บีบอัด
จากหน้าต่าง Logs ให้จดรายละเอียดต่อไปนี้
- รหัสสถานะ:
413
- แหล่งที่มาของข้อผิดพลาด:
proxy
- รหัสข้อผิดพลาด:
protocol.http.TooBigBody
- ความยาวคำขอ(ไบต์):
15264
(~15kB)
หากแหล่งที่มาของข้อผิดพลาดมีค่า
proxy
ระบบจะแสดงรหัสข้อผิดพลาด มีค่าprotocol.http.TooBigBody
และความยาวของคำขอคือ น้อยกว่า 10 MB จะระบุไว้ว่าคำขอ HTTP จากไคลเอ็นต์ ขนาดเพย์โหลดคำขอต่ำกว่าขีดจำกัดที่อนุญาตในรูปแบบที่บีบอัด แต่ ขนาดเพย์โหลดเกินขีดจำกัดที่อนุญาตเมื่อยกเลิกการบีบอัดโดย Apigee - รหัสสถานะ:
Trace
วิธีวินิจฉัยข้อผิดพลาดโดยใช้เครื่องมือติดตาม
- เปิดใช้เซสชันการติดตาม และ
- รอให้เกิดข้อผิดพลาด
413 Request Entity Too Large
หรือ - หากคุณทำให้เกิดปัญหาซ้ำได้ ให้เรียกใช้ API และทำซ้ำ
ข้อผิดพลาด
413 Request Entity Too Large
รายการ
- รอให้เกิดข้อผิดพลาด
ตรวจสอบว่าเปิดใช้แสดงข้อมูลโฟลว์ทั้งหมดแล้ว
- เลือกคำขอที่ไม่สำเร็จรายการหนึ่งและตรวจสอบการติดตาม
- ไปยังระยะคำขอที่ได้รับจากไคลเอ็นต์
ไม่บีบอัด
สถานการณ์ที่ 1: ส่งเพย์โหลดคำขอในรูปแบบที่ไม่ได้บีบอัด
โปรดทราบข้อมูลต่อไปนี้
- การเข้ารหัสเนื้อหา: ไม่มี
- ความยาวของเนื้อหา:
15360204
ขนาดไฟล์ที่บีบอัด
สถานการณ์ที่ 2: ส่งเพย์โหลดคำขอในรูปแบบที่บีบอัด
โปรดทราบข้อมูลต่อไปนี้
- การเข้ารหัสเนื้อหา:
gzip
- ความยาวของเนื้อหา:
14969
- ประเภทเนื้อหา:
application/x-gzip
- ดำเนินการตามขั้นตอนต่างๆ ของการติดตามและค้นหาตำแหน่งที่เกิดข้อผิดพลาด
โดยทั่วไป คุณจะพบข้อผิดพลาดในขั้นตอนหลังจากคำขอได้รับจาก เฟสลูกค้าดังที่แสดงด้านล่าง
- จดค่าของข้อผิดพลาดจากการติดตาม การติดตามตัวอย่างข้างต้นแสดงสิ่งต่อไปนี้
- ข้อผิดพลาด:
Body buffer overflow
- error.class:
com.apigee.errors.http.user.RequestTooLarge
- ข้อผิดพลาด:
ไปที่ Response Sent to Client และบันทึกค่าของข้อผิดพลาดจาก การติดตาม ตัวอย่างการติดตามด้านล่างแสดงข้อมูลต่อไปนี้
- ข้อผิดพลาด:
413 Request Entity Too Large
- เนื้อหาข้อผิดพลาด:
{"fault":{"faultstring":"Body buffer overflow","detail":{"errorcode":"protocol.http.TooBigBody"}}}
- ข้อผิดพลาด:
- ไปที่ระยะ AX (Analytics Data Recorded) ในการติดตามและคลิก
ในส่วนรายละเอียดระยะ ให้เลื่อนลงไปที่อ่านตัวแปร
- ระบุค่าของตัวแปร client.received.content.length ซึ่งระบุข้อมูลต่อไปนี้
- ขนาดจริงของเพย์โหลดคำขอเมื่อส่งในรูปแบบที่ไม่ได้บีบอัด และ
- ขนาดของเพย์โหลดคำขอเมื่อยกเลิกการบีบอัดโดย Apigee เมื่อเพย์โหลดคือ ที่ส่งในรูปแบบที่บีบอัด ซึ่งจะเป็นค่าเดียวกันกับค่าของรายการที่อนุญาตเสมอ (10 MB) ในสถานการณ์นี้
ไม่บีบอัด
สถานการณ์ที่ 1: เพย์โหลดคำขอในรูปแบบที่ไม่มีการบีบอัด
ตัวแปรclient.received.content.length:
15360204
ขนาดไฟล์ที่บีบอัด
สถานการณ์ที่ 2: เพย์โหลดคำขอในรูปแบบที่บีบอัด
ตัวแปรclient.received.content.length:
10489856
- ตารางต่อไปนี้อธิบายสาเหตุที่ Apigee แสดงข้อผิดพลาด
413
ทั้ง 2 สถานการณ์นี้ขึ้นอยู่กับค่าของตัวแปรclient.received.content.length ดังนี้สถานการณ์ ค่าของ client.received.content.length เหตุผลที่ล้มเหลว เพย์โหลดคำขอในรูปแบบที่ไม่บีบอัด ~15 MB ขนาด > ขนาดที่จำกัด 10 MB เพย์โหลดคำขอในรูปแบบที่บีบอัด ~10 MB เกินขนาดที่จำกัดเมื่อคลายการบีบอัด
NGINX
วิธีวินิจฉัยข้อผิดพลาดโดยใช้บันทึกการเข้าถึง NGINX
- หากคุณเป็นผู้ใช้ Private Cloud คุณสามารถใช้บันทึกการเข้าถึง NGINX ในการระบุ
ข้อมูลคีย์เกี่ยวกับข้อผิดพลาด HTTP
413
ตรวจสอบบันทึกการเข้าถึง NGINX ดังต่อไปนี้
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log
- ค้นหาเพื่อดูว่ามีข้อผิดพลาด
413
รายการเกิดขึ้นในช่วงระยะเวลาหนึ่งๆ หรือไม่ (หาก เกิดขึ้นในอดีต) หรือหากมีคำขอที่ยังคงล้มเหลว413
- หากคุณพบข้อผิดพลาด
413
ที่มีการจับคู่ X-Apigee-fault-code ค่าของprotocol.http.TooBigBody
แล้วกำหนดค่าของแอตทริบิวต์ X-Apigee-fault-source.ไม่บีบอัด
สถานการณ์ที่ 1 : ขนาดเพย์โหลดคำขอในรูปแบบที่ไม่มีการบีบอัด
ตัวอย่างรายการข้างต้นจากบันทึกการเข้าถึง NGINX มีค่าต่อไปนี้สำหรับ X-Apigee-fault-code และ X-Apigee-fault-code
ส่วนหัวการตอบกลับ ค่า X-Apigee-fault-code protocol.http.TooBigBody
X-Apigee-fault-sourc policy
โปรดทราบว่าความยาวของคําขอ:
15360440
(14.6 MB > ขีดจํากัดที่อนุญาต)ขนาดไฟล์ที่บีบอัด
สถานการณ์ที่ 2 : ขนาดเพย์โหลดคำขอในรูปแบบที่บีบอัด
ตัวอย่างรายการข้างต้นจากบันทึกการเข้าถึง NGINX มีค่าต่อไปนี้สำหรับ X-Apigee-fault-code และ X-Apigee-fault-code
ส่วนหัวการตอบกลับ ค่า X-Apigee-fault-code protocol.http.TooBigBody
X-Apigee-fault-source policy
โปรดทราบความยาวของคำขอ:
15264
(14.9 K < ขีดจำกัดที่อนุญาต)ในสถานการณ์นี้ Apigee Edge จะแสดง
413
แม้ว่าพารามิเตอร์ ความยาวของคำขอต่ำกว่าขีดจำกัดที่อนุญาตเนื่องจากคำขออาจ ได้ส่งในรูปแบบที่บีบอัด และขนาดของเพย์โหลดมีขนาดเกิน เมื่อยกเลิกการบีบอัดโดย Apigee Edge
สาเหตุ: ขนาดเพย์โหลดคำขอเกินขีดจำกัดที่อนุญาต
การวินิจฉัย
- กำหนดรหัสข้อผิดพลาด แหล่งที่มาของข้อผิดพลาด และขนาดเพย์โหลดคำขอสำหรับพร็อพเพอร์ตี้ ข้อผิดพลาดที่พบโดยใช้การตรวจสอบ API, เครื่องมือติดตาม หรือบันทึกการเข้าถึง NGINX ตามที่อธิบายไว้ใน ขั้นตอนการวิเคราะห์ทั่วไปกับสถานการณ์ที่ 1 (ไม่บีบอัด)
- หากแหล่งที่มาของข้อผิดพลาดมีค่า
policy
หรือproxy
ระบุว่าขนาดเพย์โหลดคำขอที่แอปพลิเคชันไคลเอ็นต์ส่งไปยัง Apigee มีขนาดใหญ่กว่า ขีดจำกัดที่อนุญาตใน Apigee Edge - ยืนยันขนาดเพย์โหลดคำขอตามที่ระบุจากขั้นตอนที่ 1
- หากขนาดเพย์โหลด > ไฟล์ต้องมีขนาดไม่เกิน 10 MB ดังนี้
- หากขนาดเพย์โหลด < จำกัดที่ 10 MB ดังนั้น เป็นไปได้ว่าคำขอ ระบบจะส่งเพย์โหลดในรูปแบบที่บีบอัด ไปที่ สาเหตุ: ขนาดเพย์โหลดคำขอเกินขีดจำกัดที่อนุญาตหลังจากการยกเลิกการบีบอัด
- คุณตรวจสอบได้ว่าขนาดเพย์โหลดคำขอเท่ากับ > จริงหรือไม่ จำกัด 10 MB ที่อนุญาตโดย
ตรวจสอบคำขอจริงตามขั้นตอนต่อไปนี้
- หากคุณไม่มีสิทธิ์เข้าถึงคำขอจริงจากแอปพลิเคชันไคลเอ็นต์ ให้ไปที่ การแก้ปัญหา
- หากคุณมีสิทธิ์เข้าถึงคำขอจริงจากแอปพลิเคชันไคลเอ็นต์ ให้ดำเนินการ
ขั้นตอนต่อไปนี้
- ยืนยันขนาดของเพย์โหลดที่ส่งผ่านในคำขอ
- หากคุณพบว่าเพย์โหลดมีขนาดใหญ่กว่า ขีดจำกัดที่อนุญาตใน Apigee Edge นี่เองคือสาเหตุของปัญหา
ตัวอย่างคำขอ
curl http://<hostalias>/testtoobigbody -k -X POST -F file=@test15mbfile -v
ในกรณีข้างต้น ไฟล์
test15mbfile
มีขนาดประมาณ 15 MB หากคุณ กำลังใช้ไคลเอ็นต์อื่นอยู่ ให้รับบันทึกไคลเอ็นต์เพื่อหาขนาดเพย์โหลดที่ส่งไป
ความละเอียด
ไปที่ความละเอียด
สาเหตุ: ขนาดเพย์โหลดคำขอเกินขีดจำกัดที่อนุญาตหลังจากการยกเลิกการบีบอัด
หากส่งเพย์โหลดคำขอในรูปแบบที่บีบอัดและส่วนหัวของคำขอ
มีการตั้งค่า Content-Encoding
เป็น gzip,
Apigee จะขยายคำขอ
เพย์โหลด ในระหว่างขั้นตอนการยกเลิกการบีบอัด หาก Apigee พบว่าเพย์โหลดมีขนาดใหญ่กว่า
ใหญ่กว่า 10 MB
ขีดจำกัดที่อนุญาต แล้วจะหยุดการขยายผลเพิ่มเติม และตอบกลับ
ทันทีด้วย 413 Request Entity Too Large
พร้อมรหัสข้อผิดพลาด
protocol.http.TooBigBody
การวินิจฉัย
- กำหนดรหัสข้อผิดพลาด แหล่งที่มาของข้อผิดพลาด และขนาดของเพย์โหลดคำขอ สำหรับข้อผิดพลาดที่พบโดยใช้การตรวจสอบ API, เครื่องมือการติดตาม หรือบันทึกการเข้าถึง NGINX ตามที่อธิบายไว้ใน ขั้นตอนการวิเคราะห์ทั่วไปกับสถานการณ์ที่ 2 (บีบอัด)
- หากแหล่งที่มาของข้อผิดพลาดมีค่า
policy
หรือproxy
ซึ่งเป็นการระบุว่าขนาดเพย์โหลดคำขอที่แอปพลิเคชันไคลเอ็นต์ส่งไปยัง Apigee นั้นสูงกว่า เกินขีดจำกัดที่อนุญาตใน Apigee Edge - ตรวจสอบขนาดเพย์โหลดคำขอตามที่ระบุจากขั้นตอนที่ 1
- หากขนาดเพย์โหลด > ไฟล์ต้องมีขนาดไม่เกิน 10 MB ดังนี้
- หากขนาดเพย์โหลด < จำกัดที่ 10 MB ดังนั้น เป็นไปได้ว่าคำขอ ระบบจะส่งเพย์โหลดในรูปแบบที่บีบอัด ในกรณีนี้ ให้ตรวจสอบขนาดที่ไม่มีการบีบอัดของไฟล์ เพย์โหลดคำขอที่บีบอัด
- คุณสามารถตรวจสอบได้ว่ามีการส่งคำขอจากไคลเอ็นต์ในรูปแบบที่บีบอัดหรือไม่ และ
ขนาดที่ไม่ได้บีบอัดมีค่าเกินขีดจำกัดที่อนุญาตโดยใช้ค่าใดค่าหนึ่งต่อไปนี้
วิธีการ:
Trace
วิธีตรวจสอบโดยใช้เครื่องมือติดตาม
- หากคุณได้บันทึกการติดตามสำหรับคำขอที่ล้มเหลว โปรดดูขั้นตอนโดยละเอียดใน
Traceและ
- ระบุค่าของตัวแปร client.received.content.length
- ตรวจสอบว่าคำขอจากไคลเอ็นต์มี การเข้ารหัสเนื้อหา: หรือไม่:
gzip
ส่วนหัว
- หากค่าของตัวแปร client.received.content.length มากกว่าค่าตัวแปร
10 MB
ขีดจำกัดที่อนุญาตและส่วนหัวของคำขอ การเข้ารหัสเนื้อหา:
gzip
นั่นก็คือสาเหตุของข้อผิดพลาดนี้
คำขอจริง
วิธีตรวจสอบโดยใช้คำขอจริงมีดังนี้
- หากคุณไม่มีสิทธิ์เข้าถึงคำขอจริงจากแอปพลิเคชันไคลเอ็นต์ ให้ไปที่ การแก้ปัญหา
- หากคุณมีสิทธิ์เข้าถึงคำขอจริงจากแอปพลิเคชันไคลเอ็นต์ ให้ดำเนินการ
ขั้นตอนต่อไปนี้
- ยืนยันขนาดของเพย์โหลดที่ส่งผ่านในคำขอพร้อมกับ
ส่งส่วนหัว
Content-Encoding
ในคำขอแล้ว ตรวจสอบว่าขนาดเพย์โหลดที่ไม่ได้บีบอัดมีขนาดใหญ่กว่า ขีดจำกัดที่อนุญาตใน Apigee Edge
ตัวอย่างคำขอ
curl https://<hostalias>/testtoobigbody -k -X POST -F file=@test15mbfile.gz -H "Content-Encoding: gzip" -v
ในกรณีข้างต้น ไฟล์
test15mbfile.gz
มีขนาดเล็กกว่าขีดจำกัดขนาด อย่างไรก็ตาม ขนาดไฟล์test15mbfile
ที่ไม่ได้บีบอัดคือ ~15 MB และ ส่วนหัวContent-Encoding
คือgzip
หากใช้ไคลเอ็นต์อื่น ให้รับบันทึกไคลเอ็นต์เพื่อดูขนาดเพย์โหลด กำลังส่งไป และหากตั้งค่าส่วนหัว
Content-Encoding
เป็นgzip
- ยืนยันขนาดของเพย์โหลดที่ส่งผ่านในคำขอพร้อมกับ
ส่งส่วนหัว
บันทึกของผู้ประมวลผลข้อความ
วิธีตรวจสอบโดยใช้บันทึกของโปรแกรมประมวลผลข้อความ
- หากคุณเป็นผู้ใช้ Private Cloud คุณสามารถใช้บันทึกของตัวประมวลผลข้อความเพื่อระบุ
ข้อมูลคีย์เกี่ยวกับข้อผิดพลาด HTTP
413
ตรวจสอบบันทึกของตัวประมวลผลข้อความดังนี้
/opt/apigee/var/log/edge-message-processor/logs/system.log
ค้นหาว่ามีข้อผิดพลาด
413
รายการในช่วงเวลาที่ระบุหรือไม่ (หาก เกิดขึ้นในอดีต) หรือมีคำขอใดที่ยังคงไม่สำเร็จด้วย413
คุณสามารถใช้สตริงการค้นหาต่อไปนี้
grep -ri "chunkCount"
grep -ri "RequestTooLarge"
- คุณจะพบเส้นทางจาก
system.log
ที่คล้ายคลึงกับเส้นทางต่อไปนี้ (TotalRead
และchunkCount
อาจแตกต่างกันไปในกรณีของคุณ):2021-07-06 13:29:57,544 NIOThread@1 ERROR HTTP.SERVICE - TrackingInputChannel.checkMessageBodyTooLarge() : Message is too large. TotalRead 10489856 chunkCount 2570 2021-07-06 13:29:57,545 NIOThread@1 INFO HTTP.SERVICE - ExceptionHandler.handleException() : Exception trace: com.apigee.errors.http.user.RequestTooLarge : Body buffer overflow
- ในระหว่างขั้นตอนการยกเลิกการบีบอัด ทันทีที่ตัวประมวลผลข้อความระบุจำนวนรวม
ไบต์ที่อ่านคือ > ขนาด 10 MB กล้องจะหยุดและพิมพ์บรรทัดต่อไปนี้
Message is too large. TotalRead 10489856 chunkCount 2570
แสดงว่าขนาดเพย์โหลดคำขอมีขนาดเกิน 10 MB และ Apigee มีการส่งข้อมูล ข้อผิดพลาด
RequestTooLarge
เมื่อขนาดเริ่มเกินขีดจำกัด 10 MB ที่มีรหัสข้อผิดพลาดเป็นprotocol.http.TooBigBody
- หากคุณได้บันทึกการติดตามสำหรับคำขอที่ล้มเหลว โปรดดูขั้นตอนโดยละเอียดใน
Traceและ
ความละเอียด
แก้ไขขนาด
ตัวเลือกที่ 1 [แนะนำ]: แก้ไขแอปพลิเคชันไคลเอ็นต์ไม่ให้ส่งขนาดเพย์โหลดที่ใหญ่กว่า ขีดจำกัดที่อนุญาต
- วิเคราะห์สาเหตุที่ไคลเอ็นต์ที่เฉพาะเจาะจงส่งคำขอ / ขนาดเพย์โหลดเกินที่อนุญาต จำกัดตามที่กำหนดไว้ในขีดจำกัด
หากไม่พึงประสงค์ ให้แก้ไขแอปพลิเคชันไคลเอ็นต์ให้ส่งคำขอ / เพย์โหลด ขนาดน้อยกว่าขีดจำกัดที่อนุญาต
ในตัวอย่างที่พูดถึงข้างต้น คุณสามารถแก้ไขปัญหาโดยการส่งไฟล์ขนาดเล็กลง สมมติว่ามีเพย์โหลด
test5mbfile
(ขนาด 5 MB) ดังที่แสดงด้านล่างcurl https://<host>/testtoobigbody -k -X POST -F file=@test5mbfile -v
- หากต้องการส่งคำขอ/เพย์โหลดเกินขีดจำกัดที่อนุญาต ให้ไปที่ ตัวเลือกถัดไป
รูปแบบ URL ที่ลงนาม
ตัวเลือกที่ 2 [แนะนำ]: ใช้รูปแบบ URL ที่มีการรับรองภายใน Apigee Javacallout
สำหรับเพย์โหลดที่มีขนาดใหญ่กว่า 10 MB Apigee แนะนำให้ใช้รูปแบบ URL ที่มีการรับรองภายใน Apigee Javacallout ที่แสดงโดย ข้อความไฮไลต์ Edge: ตัวอย่างเครื่องมือสร้าง URL ที่ลงนามใน GitHub
สตรีมมิง
ตัวเลือกที่ 3 : ใช้สตรีมมิง
หากพร็อกซี API ของคุณต้องจัดการคำขอและ/หรือการตอบกลับที่มีขนาดใหญ่มาก คุณสามารถเปิดใช้ สตรีมมิงใน Apigee
CwC
ตัวเลือกที่ 4 : ใช้พร็อพเพอร์ตี้ CwC เพื่อเพิ่มขีดจำกัดบัฟเฟอร์
ควรใช้ตัวเลือกนี้เฉพาะเมื่อคุณไม่สามารถใช้ตัวเลือกที่แนะนำ เนื่องจากอาจมี เป็นปัญหาด้านประสิทธิภาพหากมีการเพิ่มขนาดเริ่มต้น
Apigee มอบสิทธิประโยชน์ CwC ที่ทำให้เพิ่ม ขนาดเพย์โหลดคำขอและการตอบกลับ ดูรายละเอียดได้ที่ ตั้งค่าขนาดสูงสุดของข้อความบนเราเตอร์หรือตัวประมวลผลข้อความ
จำกัดสูงสุด
Apigee คาดว่าแอปพลิเคชันไคลเอ็นต์และเซิร์ฟเวอร์แบ็กเอนด์จะไม่ส่งเพย์โหลดที่มีขนาดใหญ่กว่า
ขีดจำกัดที่อนุญาตสำหรับ Request/response size
ใน
ขีดจำกัด Apigee Edge
- หากคุณเป็นผู้ใช้ระบบคลาวด์สาธารณะ ขีดจำกัดสูงสุดสำหรับคำขอและการตอบกลับ
ขนาดเพย์โหลดที่บันทึกไว้สำหรับ
Request/response size
ใน ขีดจำกัด Apigee Edge - หากเป็นผู้ใช้ Private Cloud คุณอาจได้แก้ไขค่าเริ่มต้น ขีดจำกัดสำหรับขนาดเพย์โหลดคำขอและการตอบกลับ (แม้ว่าจะไม่ใช่แนวทางปฏิบัติที่แนะนำก็ตาม) คุณกำหนดขีดจำกัดขนาดเพย์โหลดคำขอสูงสุดได้โดยทำตามวิธีการใน วิธีตรวจสอบขีดจำกัดปัจจุบัน
วิธีตรวจสอบขีดจำกัดปัจจุบัน
ส่วนนี้จะอธิบายวิธียืนยันว่าพร็อพเพอร์ตี้ HTTPRequest.body.buffer.limit
อัปเดตด้วยค่าใหม่ในตัวประมวลผลข้อความแล้ว
- ค้นหาคุณสมบัติในเครื่องประมวลผลข้อความ
HTTPRequest.body.buffer.limit
ในไดเรกทอรี/opt/apigee/edge-message- processor/conf
แล้วตรวจสอบว่าได้ตั้งค่าอะไรโดยใช้ค่าต่อไปนี้ คำสั่ง:grep -ri "HTTPRequest.body.buffer.limit" /opt/apigee/edge-message-processor/conf
- ตัวอย่างผลลัพธ์จากคำสั่งด้านบนมีดังนี้
/opt/apigee/edge-message-processor/conf/http.properties:HTTPRequest.body.buffer.limit=10m
ในตัวอย่างเอาต์พุตด้านบน จะเห็นว่าพร็อพเพอร์ตี้ มีการตั้งค่า
HTTPRequest.body.buffer.limit
ด้วยค่า10m
ในhttp.properties
ค่านี้ระบุว่าขีดจำกัดสำหรับขนาดเพย์โหลดคำขอที่กำหนดค่าใน Apigee สำหรับ Private ระบบคลาวด์มีขนาด 10 MB
หากยังต้องการความช่วยเหลือจากทีมสนับสนุนของ Apigee ให้ไปที่ ต้องรวบรวมข้อมูลการวินิจฉัย
ต้องรวบรวมข้อมูลการวินิจฉัย
รวบรวมข้อมูลการวินิจฉัยต่อไปนี้ จากนั้นให้ติดต่อทีมสนับสนุนของ Apigee Edge
หากคุณเป็นผู้ใช้ระบบคลาวด์สาธารณะ โปรดระบุข้อมูลต่อไปนี้
- ชื่อองค์กร
- ชื่อสภาพแวดล้อม
- ชื่อพร็อกซี API
- ใช้คำสั่ง curl เพื่อสร้างข้อผิดพลาด
413
ซ้ำ - ไฟล์การติดตามสำหรับคำขอ API
หากคุณเป็นผู้ใช้ Private Cloud ให้ระบุข้อมูลต่อไปนี้
- พบข้อความแสดงข้อผิดพลาดทั้งหมดสำหรับคำขอที่ล้มเหลว
- ชื่อองค์กร
- ชื่อสภาพแวดล้อม
- แพ็กเกจพร็อกซี API
- ไฟล์การติดตามสำหรับคำขอ API ที่ล้มเหลว
- ใช้คำสั่ง curl เพื่อสร้างข้อผิดพลาด
413
ซ้ำ บันทึกการเข้าถึง NGINX
/opt/apigee/var/log/edge-router/nginx/ORG~ENV.PORT#_access_log
ที่ไหน: ORG, ENV และ PORT# จะถูกแทนที่ด้วย มูลค่าจริง
- บันทึกระบบของผู้ประมวลผลข้อความ
/opt/apigee/var/log/edge-message-processor/logs/system.log