আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য
উপসর্গ
ক্লায়েন্ট অ্যাপ্লিকেশনটি API কলগুলির প্রতিক্রিয়া হিসাবে ত্রুটি কোড protocol.http.TooBigBody
সহ 413 Request Entity Too Large
একটি HTTP স্ট্যাটাস কোড পায়।http.TooBigBody।
ত্রুটি বার্তা
ক্লায়েন্ট অ্যাপ্লিকেশন নিম্নলিখিত প্রতিক্রিয়া কোড পায়:
HTTP/1.1 413 Request Entity Too Large
উপরন্তু, আপনি নিম্নলিখিত ত্রুটি বার্তা পর্যবেক্ষণ করতে পারেন:
{ "fault":{ "faultstring":"Body buffer overflow", "detail":{ "errorcode":"protocol.http.TooBigBody" } } }
সম্ভাব্য কারণ
HTTP অনুরোধের অংশ হিসাবে Apigee Edge-এ ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা পাঠানো পেলোডের আকার Apigee Edge-এ অনুমোদিত সীমার চেয়ে বেশি হলে এই ত্রুটিটি ঘটে।
এখানে এই ত্রুটির জন্য সম্ভাব্য কারণ আছে:
কারণ | বর্ণনা | সমস্যা সমাধানের নির্দেশাবলী প্রযোজ্য |
---|---|---|
অনুরোধ পেলোড আকার অনুমোদিত সীমা থেকে বড় | Apigee Edge-এ HTTP অনুরোধের অংশ হিসেবে ক্লায়েন্ট অ্যাপ্লিকেশনের পাঠানো পেলোডের আকার Apigee Edge-এ অনুমোদিত সীমার চেয়ে বেশি। | এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা |
অনুরোধ পেলোড আকার ডিকম্প্রেশন পরে অনুমোদিত সীমা অতিক্রম | অ্যাপিজি এজকে HTTP অনুরোধের অংশ হিসাবে ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা সংকুচিত বিন্যাসে পাঠানো পেলোডের আকার Apigee এজ দ্বারা ডিকম্প্রেস করার সময় অনুমোদিত সীমার চেয়ে বেশি। | এজ পাবলিক এবং প্রাইভেট ক্লাউড ব্যবহারকারীরা |
সাধারণ রোগ নির্ণয়ের পদক্ষেপ
এই ত্রুটি নির্ণয় করতে নিম্নলিখিত সরঞ্জাম/কৌশলগুলির মধ্যে একটি ব্যবহার করুন:
API মনিটরিং
API মনিটরিং ব্যবহার করে ত্রুটি নির্ণয় করতে:
- Apigee Edge UI এ একটি উপযুক্ত ভূমিকা সহ ব্যবহারকারী হিসাবে সাইন ইন করুন৷
আপনি যে সংস্থায় সমস্যাটি তদন্ত করতে চান সেখানে যান
- এনালাইজ > API মনিটরিং > ইনভেস্টিগেট পেজে নেভিগেট করুন।
- নির্দিষ্ট সময়সীমা নির্বাচন করুন যেখানে আপনি ত্রুটিগুলি পর্যবেক্ষণ করেছেন।
- আপনি ফল্ট কোড সংকুচিত করতে প্রক্সি ফিল্টার নির্বাচন করতে পারেন।
- সময়ের বিরুদ্ধে প্লট ফল্ট কোড ।
ফল্ট কোড
protocol.http.TooBigBody
আছে এমন একটি সেল নির্বাচন করুন। http.TooBigBody এবং স্ট্যাটাস কোড413
নীচে দেখানো হয়েছে:ফল্ট কোড
protocol.http.TooBigBody
সম্পর্কে তথ্য নীচে দেখানো হয়েছে:- লগ দেখুন ক্লিক করুন এবং ব্যর্থ অনুরোধের জন্য সারি প্রসারিত করুন। তারপরে লগ উইন্ডো থেকে, নীচের মত বিবরণ নোট করুন:
সংকুচিত
পরিস্থিতি #1: পেলোডের অনুরোধ আনকম্প্রেস আকারে পাঠানো হয়েছে
লগ উইন্ডো থেকে, নিম্নলিখিত বিবরণ নোট করুন:
- স্ট্যাটাস কোড:
413
- ফল্ট উত্স:
proxy
- ফল্ট কোড:
protocol.http.TooBigBody
। - অনুরোধের দৈর্ঘ্য(বাইট):
15360440
(~15 MB)
যদি ফল্ট সোর্সের মান
proxy
থাকে , ফল্ট কোডের মানprotocol.http.TooBigBody
থাকে । Apigee মধ্যে .সংকুচিত
পরিস্থিতি #2: সংকুচিত আকারে পেলোড পাঠানোর অনুরোধ
লগ উইন্ডো থেকে, নিম্নলিখিত বিবরণ নোট করুন:
- স্ট্যাটাস কোড:
413
- ফল্ট উত্স:
proxy
- ফল্ট কোড:
protocol.http.TooBigBody
। - অনুরোধের দৈর্ঘ্য(বাইট):
15264
(~15kB)
যদি ফল্ট সোর্সের মান
proxy
থাকে, ফল্ট কোডের মানprotocol.http.TooBigBody
থাকে । এটির সংকুচিত বিন্যাসে সীমা, কিন্তু পেলোডের আকার অনুমোদিত সীমার চেয়ে বেশি যখন Apigee দ্বারা সংকুচিত হয়। - স্ট্যাটাস কোড:
ট্রেস
ট্রেস টুল ব্যবহার করে ত্রুটি নির্ণয় করতে:
- ট্রেস সেশন সক্রিয় করুন এবং হয়
-
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
- ত্রুটি:
ক্লায়েন্টকে পাঠানো প্রতিক্রিয়াতে নেভিগেট করুন এবং ট্রেস থেকে ত্রুটির মানগুলি নোট করুন। নীচের নমুনা ট্রেস দেখায়:
- ত্রুটি:
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
- নিম্নলিখিত সারণীটি ব্যাখ্যা করে কেন
413
ত্রুটিটি Apigee দ্বারা দুটি পরিস্থিতিতে দেওয়া হয়েছে client.received.content.length ভেরিয়েবলের মানের উপর ভিত্তি করে:দৃশ্যকল্প client.received.content.length এর মান ব্যর্থতার কারণ আনকম্প্রেস বিন্যাসে পেলোডের অনুরোধ করুন ~15 এমবি আকার > অনুমোদিত সীমা 10 MB। সংকুচিত বিন্যাসে পেলোডের অনুরোধ করুন ~10 MB ডিকম্প্রেশনের সময় আকারের সীমা ছাড়িয়ে গেছে
এনজিআইএনএক্স
NGINX অ্যাক্সেস লগ ব্যবহার করে ত্রুটি নির্ণয় করতে:
- আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে আপনি HTTP
413
ত্রুটি সম্পর্কে মূল তথ্য নির্ধারণ করতে NGINX অ্যাক্সেস লগ ব্যবহার করতে পারেন। NGINX অ্যাক্সেস লগগুলি পরীক্ষা করুন:
/opt/apigee/var/log/edge-router/nginx/ ORG ~ ENV . PORT# _access_log
- একটি নির্দিষ্ট সময়কালে (যদি সমস্যাটি অতীতে ঘটে থাকে) কোন
413
ত্রুটি আছে কিনা বা413
এর সাথে এখনও কোন অনুরোধ ব্যর্থ হয়েছে কিনা তা দেখতে অনুসন্ধান করুন। - আপনি যদি X-Apigee-fault-code-এর সাথে
protocol.http.TooBigBody
এর মানের সাথে413
টি ত্রুটি খুঁজে পান, তাহলে X-Apigee-ফল্ট-সোর্সের মান নির্ধারণ করুন।সংকুচিত
দৃশ্যকল্প #1 : অসংকুচিত বিন্যাসে পেলোড আকারের অনুরোধ করুন
NGINX অ্যাক্সেস লগ থেকে উপরের নমুনা এন্ট্রিতে X-Apigee-fault-code এবং X-Apigee-fault-source এর জন্য নিম্নলিখিত মান রয়েছে:
প্রতিক্রিয়া শিরোনাম মান এক্স-অ্যাপিজি-ফল্ট-কোড protocol.http.TooBigBody
এক্স-অ্যাপিজি-ফল্ট-উৎস policy
অনুরোধের দৈর্ঘ্য নোট করুন:
15360440
(14.6 MB > অনুমোদিত সীমা)সংকুচিত
দৃশ্যকল্প #2 : সংকুচিত বিন্যাসে পেলোড আকারের অনুরোধ করুন
NGINX অ্যাক্সেস লগ থেকে উপরের নমুনা এন্ট্রিতে X-Apigee-fault-code এবং X-Apigee-fault-source এর জন্য নিম্নলিখিত মান রয়েছে:
প্রতিক্রিয়া শিরোনাম মান এক্স-অ্যাপিজি-ফল্ট-কোড protocol.http.TooBigBody
এক্স-অ্যাপিজি-ফল্ট-উৎস policy
অনুরোধের দৈর্ঘ্য নোট করুন:
15264
(14.9 K < অনুমোদিত সীমা)এই পরিস্থিতিতে, Apigee Edge
413
প্রদান করে যদিও অনুরোধের দৈর্ঘ্য অনুমোদিত সীমার চেয়ে কম কারণ অনুরোধটি সংকুচিত বিন্যাসে পাঠানো হতে পারে এবং Apigee Edge দ্বারা ডিকম্প্রেশনের সময় পেলোডের আকার সীমা অতিক্রম করে।
কারণ: অনুরোধ পেলোডের আকার অনুমোদিত সীমার চেয়ে বেশি
রোগ নির্ণয়
- এপিআই মনিটরিং, ট্রেস টুল, বা এনজিআইএনএক্স অ্যাক্সেস লগ ব্যবহার করে পরিলক্ষিত ত্রুটির জন্য ফল্ট কোড , ফল্ট সোর্স এবং অনুরোধ পেলোড সাইজ নির্ধারণ করুন যেমনটি দৃশ্য # 1 (অসংকুচিত) সহ সাধারণ নির্ণয়ের ধাপে ব্যাখ্যা করা হয়েছে।
- যদি ফল্ট সোর্সের মান
policy
বাproxy
থাকে, তাহলে এটি নির্দেশ করে যে ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা Apigee-এ পাঠানো অনুরোধ পেলোড আকার Apigee এজ-এ অনুমোদিত সীমার চেয়ে বেশি। - ধাপ # 1 থেকে নির্ধারিত অনুরোধের পেলোড আকার যাচাই করুন।
- যদি পেলোড সাইজ > 10 MB অনুমোদিত সীমা থাকে, তাহলে এটি ত্রুটির কারণ।
- যদি পেলোডের আকার < 10 MB অনুমোদিত সীমা থাকে, তাহলে অনুরোধ পেলোড সংকুচিত বিন্যাসে পাস করা সম্ভব। কারণ-এ যান: ডিকম্প্রেশনের পরে পেলোডের আকার অনুমোদিত সীমা ছাড়িয়ে গেছে
- আপনি নিম্নলিখিত পদক্ষেপগুলি ব্যবহার করে প্রকৃত অনুরোধ চেক করে অনুরোধের পেলোডের আকার প্রকৃতপক্ষে > 10 এমবি অনুমোদিত সীমা কিনা তা যাচাই করতে পারেন:
- ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা করা প্রকৃত অনুরোধে আপনার অ্যাক্সেস না থাকলে, রেজোলিউশনে যান।
- ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা করা প্রকৃত অনুরোধে আপনার অ্যাক্সেস থাকলে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
- অনুরোধে পাস করা পেলোডের আকার যাচাই করুন।
- যদি আপনি দেখতে পান যে পেলোডের আকার 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
সাথে সাথে সাথেই উত্তর দেয়। http.TooBigBody।
রোগ নির্ণয়
- ফল্ট কোড, ফল্ট উত্স নির্ধারণ করুন, এবং এপিআই মনিটরিং, ট্রেস টুল, বা এনজিআইএনএক্স অ্যাক্সেস লগ ব্যবহার করে পরিলক্ষিত ত্রুটির জন্য পেলোড আকারের অনুরোধ করুন , যেমনটি দৃশ্য #2 (সংকুচিত) সহ সাধারণ নির্ণয়ের ধাপে ব্যাখ্যা করা হয়েছে।
- যদি ফল্ট সোর্সের মান
policy
বাproxy
থাকে, তাহলে এটি ইঙ্গিত করে যে ক্লায়েন্ট অ্যাপ্লিকেশন দ্বারা Apigee-এ পাঠানো অনুরোধ পেলোড আকার Apigee এজে অনুমোদিত সীমার চেয়ে বেশি। - ধাপ 1 থেকে নির্ধারিত অনুরোধের পেলোড সাইজ যাচাই করুন।
- যদি পেলোড সাইজ > 10 MB অনুমোদিত সীমা থাকে, তাহলে এটি ত্রুটির কারণ।
- যদি পেলোডের আকার < 10 MB অনুমোদিত সীমা থাকে, তাহলে অনুরোধ পেলোড সংকুচিত বিন্যাসে পাস করা সম্ভব। এই ক্ষেত্রে, কম্প্রেসড রিকোয়েস্ট পেলোডের আনকম্প্রেসড সাইজ চেক করুন।
- আপনি যাচাই করতে পারেন যদি ক্লায়েন্টের কাছ থেকে অনুরোধটি সংকুচিত বিন্যাসে পাঠানো হয় এবং নিম্নোক্ত পদ্ধতিগুলির মধ্যে একটি ব্যবহার করে অসংকুচিত আকার অনুমোদিত সীমার চেয়ে বেশি হয়:
ট্রেস
ট্রেস টুল ব্যবহার করে যাচাই করতে:
- আপনি যদি ব্যর্থ অনুরোধের জন্য একটি ট্রেস ক্যাপচার করে থাকেন তবে ট্রেসে বিস্তারিত ধাপগুলি দেখুন এবং
- client.received.content.length ভেরিয়েবলের মান নির্ধারণ করুন
- ক্লায়েন্টের অনুরোধে Content-Encoding:
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
ফাইলটি আকারের সীমার চেয়ে কম; যাইহোক, uncompressed ফাইলtest15mbfile
এর আকার হল ~15 MB এবংContent-Encoding
হেডার হলgzip
।আপনি যদি অন্য কোনো ক্লায়েন্ট ব্যবহার করেন, তাহলে পেলোডের আকার পাঠানোর জন্য ক্লায়েন্ট লগগুলি পান এবং যদি
Content-Encoding
হেডারটিgzip
এ সেট করা থাকে।
- অনুরোধে পাঠানো
বার্তা প্রসেসর লগ
বার্তা প্রসেসর লগ ব্যবহার করে যাচাই করতে:
- আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে আপনি 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 এমবি নির্ধারণ করার সাথে সাথে, এটি নিম্নলিখিত লাইনটি বন্ধ করে এবং মুদ্রণ করে:
Message is too large. TotalRead 10489856 chunkCount 2570
এটা বোঝায় যে রিকোয়েস্ট পেলোড সাইজ 10 MB এর বেশি এবং Apigee ত্রুটি
RequestTooLarge
ছুঁড়ে দেয় যখন সাইজ 10 MB ছাড়িয়ে যেতে শুরু করে ফল্ট কোড সহprotocol.http.TooBigBody
- আপনি যদি ব্যর্থ অনুরোধের জন্য একটি ট্রেস ক্যাপচার করে থাকেন তবে ট্রেসে বিস্তারিত ধাপগুলি দেখুন এবং
রেজোলিউশন
আকার ঠিক করুন
বিকল্প #1 [প্রস্তাবিত]: অনুমোদিত সীমার চেয়ে বেশি পেলোড আকার না পাঠানোর জন্য ক্লায়েন্ট অ্যাপ্লিকেশনটি ঠিক করুন
- নির্দিষ্ট ক্লায়েন্টের অনুরোধ পাঠানোর কারণ বিশ্লেষণ করুন / সীমাতে সংজ্ঞায়িত অনুমোদিত সীমার চেয়ে বেশি পেলোড আকার।
যদি এটি পছন্দসই না হয়, তাহলে আপনার ক্লায়েন্ট অ্যাপ্লিকেশনটি পরিবর্তন করুন যাতে এটি অনুমোদিত সীমার চেয়ে কম অনুরোধ / পেলোড আকার পাঠায়।
উপরে আলোচিত উদাহরণে, আপনি একটি ছোট আকারের ফাইল পাস করে সমস্যাটি সমাধান করতে পারেন, ধরা যাক
test5mbfile
(5 MB আকারের) পেলোড নীচে দেখানো হয়েছে:curl https://<host>/testtoobigbody -k -X POST -F file=@test5mbfile -v
- যদি এটি পছন্দসই হয় এবং আপনি অনুমোদিত সীমার চেয়ে বেশি একটি অনুরোধ/পেলোড পাঠাতে চান তবে পরবর্তী বিকল্পগুলিতে যান।
স্বাক্ষরিত URL প্যাটার্ন
বিকল্প #2 [প্রস্তাবিত]: Apigee JavaCallout এর মধ্যে স্বাক্ষরিত URL প্যাটার্ন ব্যবহার করুন
10 MB-এর থেকে বড় পেলোডের জন্য, Apigee একটি Apigee JavaCallout-এর মধ্যে একটি স্বাক্ষরিত URL প্যাটার্ন ব্যবহার করার পরামর্শ দেয়, এজ কলআউট দ্বারা চিত্রিত: GitHub-এ স্বাক্ষরিত URL জেনারেটর উদাহরণ৷
স্ট্রিমিং
বিকল্প #3 : স্ট্রিমিং ব্যবহার করুন
যদি আপনার API প্রক্সির খুব বড় অনুরোধ এবং/অথবা প্রতিক্রিয়াগুলি পরিচালনা করতে হয়, তাহলে আপনি Apigee-এ স্ট্রিমিং সক্ষম করতে পারেন।
CwC
বিকল্প #4 : বাফার সীমা বাড়ানোর জন্য CwC প্রপার্টি ব্যবহার করুন
এই বিকল্পটি শুধুমাত্র তখনই ব্যবহার করা উচিত যখন আপনি প্রস্তাবিত বিকল্পগুলির কোনোটি ব্যবহার করতে পারবেন না কারণ ডিফল্ট আকার বাড়ানো হলে কর্মক্ষমতা সমস্যা হতে পারে।
Apigee একটি CwC প্রপার্টি প্রদান করে যা এটিকে অনুরোধ এবং রেসপন্স পেলোড সাইজ সীমা বাড়াতে দেয়। বিস্তারিত জানার জন্য, রাউটার বা বার্তা প্রসেসরে বার্তার আকারের সীমা সেট করুন
সীমা
Apigee আশা করে যে ক্লায়েন্ট অ্যাপ্লিকেশন এবং ব্যাকএন্ড সার্ভার Apigee এজ লিমিটে Request/response size
জন্য নথিভুক্ত সীমার চেয়ে বেশি পেলোড আকার পাঠাবে না।
- আপনি যদি একজন পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে Apigee Edge Limits- এ
Request/response size
জন্য নথিভুক্ত অনুরোধ এবং প্রতিক্রিয়া পেলোড আকারের সর্বোচ্চ সীমা। - আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে আপনি অনুরোধ এবং প্রতিক্রিয়া পেলোড আকারের জন্য ডিফল্ট সীমা পরিবর্তন করতে পারেন (যদিও এটি একটি প্রস্তাবিত অনুশীলন নয়)। আপনি বর্তমান সীমা কিভাবে চেক করবেন এর নির্দেশাবলী অনুসরণ করে সর্বাধিক অনুরোধের পেলোড আকারের সীমা নির্ধারণ করতে পারেন।
বর্তমান সীমা চেক কিভাবে?
এই বিভাগটি ব্যাখ্যা করে কিভাবে যাচাই করা যায় যে HTTPRequest.body.buffer.limit
বৈশিষ্ট্যটি মেসেজ প্রসেসরে একটি নতুন মান সহ আপডেট করা হয়েছে।
- মেসেজ প্রসেসর মেশিনে,
/opt/apigee/edge-message- processor/conf
ডিরেক্টরিতেHTTPRequest.body.buffer.limit
প্রপার্টি অনুসন্ধান করুন এবং নিম্নলিখিত কমান্ডটি ব্যবহার করে কোন মান সেট করা হয়েছে তা পরীক্ষা করুন: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
প্রপার্টিhttp.properties
এ10m
মান সহ সেট করা হয়েছে।এটি নির্দেশ করে যে ব্যক্তিগত ক্লাউডের জন্য Apigee-এ কনফিগার করা অনুরোধের পেলোড আকারের সীমা হল 10 MB৷
আপনার যদি এখনও Apigee সাপোর্ট থেকে কোনো সহায়তার প্রয়োজন হয়, তাহলে অবশ্যই ডায়াগনস্টিক তথ্য সংগ্রহ করুন- এ যান।
ডায়াগনস্টিক তথ্য সংগ্রহ করতে হবে
নিম্নলিখিত ডায়াগনস্টিক তথ্য সংগ্রহ করুন, এবং তারপর Apigee Edge সহায়তার সাথে যোগাযোগ করুন:
আপনি যদি একজন পাবলিক ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:
- প্রতিষ্ঠানের নাম
- পরিবেশের নাম
- API প্রক্সি নাম
-
413
ত্রুটি পুনরুত্পাদন করতে ব্যবহৃত সম্পূর্ণ কার্ল কমান্ড - API অনুরোধের জন্য ট্রেস ফাইল
আপনি যদি একজন ব্যক্তিগত ক্লাউড ব্যবহারকারী হন, তাহলে নিম্নলিখিত তথ্য প্রদান করুন:
- ব্যর্থ অনুরোধের জন্য পরিলক্ষিত সম্পূর্ণ ত্রুটি বার্তা
- প্রতিষ্ঠানের নাম
- পরিবেশের নাম
- API প্রক্সি বান্ডেল
- ব্যর্থ API অনুরোধের জন্য ট্রেস ফাইল
-
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