গুগল শিটস এপিআই একটি শেয়ার্ড পরিষেবা, এবং আমরা সকল ব্যবহারকারীর জন্য গুগল ওয়ার্কস্পেস সিস্টেমের সামগ্রিক কর্মক্ষমতা রক্ষা করার জন্য কোটা এবং সীমাবদ্ধতা প্রয়োগ করি।
কোটার সীমা
যদিও শীটস এপিআই-তে API অনুরোধের জন্য কোনও হার্ড সাইজ লিমিট নেই, ব্যবহারকারীরা Google Sheets দ্বারা নিয়ন্ত্রিত নয় এমন বিভিন্ন প্রক্রিয়াকরণ উপাদান থেকে সীমাবদ্ধতার সম্মুখীন হতে পারেন। অনুরোধের গতি বাড়ানোর জন্য, আমরা সর্বোচ্চ 2 MB পেলোড সুপারিশ করি।
Sheets API-তে প্রতি মিনিটে কোটা থাকে এবং প্রতি মিনিটে সেগুলি পুনরায় পূরণ করা হয়। উদাহরণস্বরূপ, প্রতি প্রকল্পে প্রতি মিনিটে 300টি পড়ার অনুরোধের সীমা রয়েছে। যদি আপনার অ্যাপ এক মিনিটে 350টি অনুরোধ পাঠায়, তাহলে অতিরিক্ত 50টি অনুরোধ কোটা অতিক্রম করে এবং 429: Too many requests HTTP স্ট্যাটাস কোড প্রতিক্রিয়া তৈরি করে। যদি এটি ঘটে, তাহলে আপনার একটি সূচকীয় ব্যাকঅফ অ্যালগরিদম ব্যবহার করা উচিত। 1 মিনিট পরে, আপনি আবার অনুরোধগুলি কার্যকর করতে পারবেন।
নিম্নলিখিত সারণীতে অনুরোধের সীমা সম্পর্কে বিস্তারিত বলা হয়েছে:
| কোটা | |||||
|---|---|---|---|---|---|
| অনুরোধগুলি পড়ুন |
| ||||
| অনুরোধ লিখুন |
| ||||
ফাইলের সীমা সম্পর্কে বিস্তারিত জানার জন্য, Google ড্রাইভে আপনি যে ফাইলগুলি সংরক্ষণ করতে পারেন তা দেখুন।
আচরণ এবং সীমাবদ্ধতা
((sheets_api_short)) এর সাথে কাজ করার সময়, আপনার কোটাগুলিকে প্রভাবিত করে এমন নিম্নলিখিত আচরণ এবং সীমাবদ্ধতাগুলি লক্ষ্য করুন:
রিড রিকোয়েস্ট হলো স্প্রেডশিট থেকে ডেটা পুনরুদ্ধার করে এমন যেকোনো পদ্ধতিতে কল করা, যেমন
getঅথবাsearch। Write রিকোয়েস্ট হলো স্প্রেডশিট পরিবর্তনকারী যেকোনো পদ্ধতিতে কল করা, যেমনupdate,clear, অথবাcopyTo।ব্যবহারকারীরা একই সময়ে একাধিক অনুরোধ জমা দিতে পারবেন, যতক্ষণ না তারা কোটা সীমার মধ্যে থাকে। প্রতিটি ব্যাচ অনুরোধ , যেকোনো সাবরিকোয়েস্ট সহ, আপনার ব্যবহারের সীমার দিকে একটি API অনুরোধ হিসাবে গণনা করা হবে।
সমস্ত পত্রক অনুরোধগুলি পরমাণুভাবে প্রয়োগ করা হয়। অর্থাৎ, যদি কোনও অনুরোধ বৈধ না হয় তবে সম্পূর্ণ আপডেটটি ব্যর্থ হয় এবং (সম্ভাব্যভাবে নির্ভরশীল) কোনও পরিবর্তন প্রয়োগ করা হয় না।
একটি API অনুরোধ প্রক্রিয়াকরণের জন্য সর্বোচ্চ সময়সীমা রয়েছে। যখন Sheets ১৮০ সেকেন্ডের বেশি সময় ধরে একটি অনুরোধ প্রক্রিয়া করে, তখন অনুরোধটি একটি টাইমআউট ত্রুটি ফেরত দেয়।
যদি আপনি প্রতি মিনিটের কোটার মধ্যে থাকেন, তাহলে প্রতিদিন আপনার অনুরোধের সংখ্যার কোনও সীমা নেই।
সময়-ভিত্তিক কোটা ত্রুটিগুলি সমাধান করুন
সকল সময়-ভিত্তিক ত্রুটির জন্য (প্রতি X মিনিটে সর্বাধিক N অনুরোধ), আমরা সুপারিশ করছি যে আপনার কোডটি ব্যতিক্রমটি ধরে এবং আপনার ডিভাইসগুলি অতিরিক্ত লোড তৈরি না করে তা নিশ্চিত করার জন্য একটি ছেঁটে ফেলা সূচকীয় ব্যাকঅফ ব্যবহার করে।
এক্সপোনেনশিয়াল ব্যাকঅফ হল নেটওয়ার্ক অ্যাপ্লিকেশনের জন্য একটি স্ট্যান্ডার্ড ত্রুটি পরিচালনার কৌশল। একটি এক্সপোনেনশিয়াল ব্যাকঅফ অ্যালগরিদম অনুরোধগুলির মধ্যে এক্সপোনেনশিয়ালভাবে বর্ধিত অপেক্ষার সময় ব্যবহার করে অনুরোধগুলি পুনরায় চেষ্টা করে, সর্বোচ্চ ব্যাকঅফ সময় পর্যন্ত। যদি অনুরোধগুলি এখনও ব্যর্থ হয়, তবে অনুরোধটি সফল না হওয়া পর্যন্ত অনুরোধগুলির মধ্যে বিলম্ব সময়ের সাথে সাথে বৃদ্ধি করা গুরুত্বপূর্ণ।
উদাহরণ অ্যালগরিদম
একটি এক্সপোনেনশিয়াল ব্যাকঅফ অ্যালগরিদম এক্সপোনেনশিয়ালভাবে রিট্রাই রিকোয়েস্ট করে, রিট্রাইয়ের মধ্যে অপেক্ষার সময়কে সর্বোচ্চ ব্যাকঅফ টাইম পর্যন্ত বাড়িয়ে দেয়। উদাহরণস্বরূপ:
- গুগল শিটস এপিআই-তে একটি অনুরোধ করুন।
- যদি অনুরোধটি ব্যর্থ হয়, তাহলে ১ +
random_number_millisecondsঅপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন। - যদি অনুরোধটি ব্যর্থ হয়, তাহলে 2 +
random_number_millisecondsঅপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন। - যদি অনুরোধটি ব্যর্থ হয়, তাহলে ৪ +
random_number_millisecondsঅপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন। - এবং এভাবেই,
maximum_backoffসময় পর্যন্ত। - সর্বোচ্চ সংখ্যক পুনঃচেষ্টা পর্যন্ত অপেক্ষা এবং পুনরায় চেষ্টা চালিয়ে যান, তবে পুনঃচেষ্টার মধ্যে অপেক্ষার সময়কাল বাড়াবেন না।
কোথায়:
- অপেক্ষার সময় হল
min(((2^n)+random_number_milliseconds), maximum_backoff), প্রতিটি পুনরাবৃত্তির (অনুরোধ) জন্যn1 দ্বারা বৃদ্ধি করা হয়। -
random_number_millisecondsহল ১,০০০ এর কম বা সমান মিলিসেকেন্ডের একটি র্যান্ডম সংখ্যা। এটি এমন ঘটনা এড়াতে সাহায্য করে যেখানে অনেক ক্লায়েন্ট কোনও পরিস্থিতির দ্বারা সিঙ্ক্রোনাইজ হয় এবং সকলেই একবারে পুনরায় চেষ্টা করে, সিঙ্ক্রোনাইজড তরঙ্গে অনুরোধ পাঠায়। প্রতিটি পুনঃচেষ্টা অনুরোধের পরেrandom_number_millisecondsএর মান পুনরায় গণনা করা হয়। -
maximum_backoffসাধারণত ৩২ অথবা ৬৪ সেকেন্ডের হয়। উপযুক্ত মান ব্যবহারের ক্ষেত্রে নির্ভর করে।
ক্লায়েন্ট maximum_backoff সময় পৌঁছানোর পরেও পুনরায় চেষ্টা চালিয়ে যেতে পারে। এই বিন্দুর পরে পুনরায় চেষ্টা করার জন্য ব্যাকঅফ সময় বাড়ানোর প্রয়োজন নেই। উদাহরণস্বরূপ, যদি কোনও ক্লায়েন্ট 64 সেকেন্ডের maximum_backoff সময় ব্যবহার করে, তাহলে এই মান পৌঁছানোর পরে, ক্লায়েন্ট প্রতি 64 সেকেন্ডে পুনরায় চেষ্টা করতে পারে। এক পর্যায়ে, ক্লায়েন্টদের অনির্দিষ্টকালের জন্য পুনরায় চেষ্টা করা থেকে বিরত রাখা উচিত।
পুনঃপ্রচেষ্টা এবং পুনঃপ্রচেষ্টার সংখ্যার মধ্যে অপেক্ষার সময় আপনার ব্যবহারের ধরণ এবং নেটওয়ার্কের অবস্থার উপর নির্ভর করে।
মূল্য নির্ধারণ
গুগল শিটস এপিআই-এর সম্পূর্ণ ব্যবহার কোনও অতিরিক্ত খরচ ছাড়াই উপলব্ধ। কোটা অনুরোধের সীমা অতিক্রম করলে অতিরিক্ত চার্জ প্রযোজ্য হবে না এবং আপনার অ্যাকাউন্টে বিল করা হবে না।
কোটা বৃদ্ধির অনুরোধ করুন
আপনার প্রকল্পের রিসোর্স ব্যবহারের উপর নির্ভর করে, আপনি কোটা সমন্বয়ের অনুরোধ করতে চাইতে পারেন। একটি পরিষেবা অ্যাকাউন্টের API কলগুলিকে একটি একক অ্যাকাউন্ট ব্যবহার করে বিবেচনা করা হয়। একটি সমন্বয়কৃত কোটার জন্য আবেদন করলে অনুমোদনের নিশ্চয়তা দেওয়া হয় না। কোটার মান উল্লেখযোগ্যভাবে বৃদ্ধি করে এমন কোটা সমন্বয়ের অনুরোধগুলি অনুমোদিত হতে বেশি সময় লাগতে পারে।
সব প্রকল্পের কোটা একই রকম থাকে না। সময়ের সাথে সাথে আপনি যত বেশি গুগল ক্লাউড ব্যবহার করছেন, আপনার কোটার মান বাড়তে পারে। যদি আপনি ভবিষ্যতে ব্যবহারে উল্লেখযোগ্য বৃদ্ধি আশা করেন, তাহলে আপনি গুগল ক্লাউড কনসোলের কোটা পৃষ্ঠা থেকে সক্রিয়ভাবে কোটা সমন্বয়ের অনুরোধ করতে পারেন।
আরও জানতে, নিম্নলিখিত সম্পদগুলি দেখুন: