জিমেইল এপিআই ব্যবহারের সীমাবদ্ধতা রয়েছে, যা এপিআই-এর মেথডগুলো কল করার হারকে সীমিত করে। এই সীমাবদ্ধতাগুলো কোটা ইউনিটের মাধ্যমে সংজ্ঞায়িত করা হয়, যা জিমেইল রিসোর্স ব্যবহারের প্রতিনিধিত্বকারী একটি বিমূর্ত পরিমাপের একক।
জিমেইল এপিআই কোটা
দুই ধরনের কোটা বলবৎ করা হয়:
প্রতি মিনিটে প্রতি প্রজেক্টে: এটি হলো কোটা ইউনিটের সংখ্যা যা আপনার গুগল ক্লাউড প্রজেক্ট এক মিনিটে ব্যবহার করতে পারবে।
প্রতি মিনিট, প্রতি ব্যবহারকারী, প্রতি প্রজেক্ট: এটি হলো কোটা ইউনিটের সংখ্যা যা আপনার ক্লাউড প্রজেক্টে কোনো একজন নির্দিষ্ট ব্যবহারকারী ব্যবহার করতে পারবেন। এই সীমার উদ্দেশ্য হলো আপনার ব্যবহারকারীদের মধ্যে ব্যবহারের ন্যায্য বন্টন নিশ্চিত করতে আপনাকে সাহায্য করা।
নিম্নলিখিত সারণিতে এই সীমাগুলো বিস্তারিতভাবে বর্ণনা করা হয়েছে:
| ব্যবহারের সীমাবদ্ধতার ধরণ | সীমা |
|---|---|
| প্রতি মিনিটে প্রতি প্রকল্পে | ১২,০০,০০০ কোটা ইউনিট |
| প্রতি মিনিটে প্রতি ব্যবহারকারী প্রতি প্রকল্পে | ৬,০০০ কোটা ইউনিট |
সীমা সংক্রান্ত ত্রুটি কীভাবে সামলাতে হয়, সে সম্পর্কে তথ্যের জন্য ‘ত্রুটি সমাধান করুন’ দেখুন।
দৈনিক বিলিং সীমা
প্রতিদিন ও প্রতি প্রজেক্টের এই সীমাটি নির্ধারণ করে যে, চার্জ প্রযোজ্য হওয়ার আগে আপনার গুগল ক্লাউড প্রজেক্ট ২৪ ঘণ্টার মধ্যে সর্বোচ্চ কত কোটা ইউনিট ব্যবহার করতে পারবে।
এই সীমার কম ব্যবহারে কোনো অতিরিক্ত চার্জ লাগবে না এবং আপনার গুগল ক্লাউড অ্যাকাউন্টে কোনো বিল করা হবে না। সম্পূর্ণ বিলিং বিবরণ ২০২৬ সালের শেষের দিকে জানানো হবে এবং যেকোনো পরিবর্তন কার্যকর হওয়ার অন্তত ৯০ দিন আগে নোটিশ দেওয়া হবে।
আপনি এই দৈনিক সীমা বৃদ্ধির জন্য অনুরোধ করতে পারবেন না।
নিম্নলিখিত সারণিতে সীমাটি বিস্তারিতভাবে বর্ণনা করা হয়েছে:
| থ্রেশহোল্ড সীমা প্রকার | সীমা |
|---|---|
| প্রতিদিন প্রতি প্রকল্পে | ৮০,০০০,০০০ কোটা ইউনিট |
আরও তথ্যের জন্য, এজেন্ট টুল এবং এপিআই-এর জন্য গুগল ওয়ার্কস্পেসের প্রমিত মডেল দেখুন।
প্রতি-পদ্ধতি কোটা ব্যবহার
ব্যবহৃত মেথডের উপর নির্ভর করে প্রতি অনুরোধে কোটা ইউনিটের পরিমাণ পরিবর্তিত হয়। নিম্নলিখিত সারণিতে মেথড-ভিত্তিক কোটা ইউনিট ব্যবহারের বিবরণ দেওয়া হলো:
| পদ্ধতি | কোটা ইউনিট |
|---|---|
drafts.create | ১০ |
drafts.delete | ১০ |
drafts.get | ২০ |
drafts.list | ৫ |
drafts.send | ১০০ |
drafts.update | ১৫ |
getProfile | ১ |
history.list | ২ |
labels.create | ৫ |
labels.delete | ৫ |
labels.get | ১ |
labels.list | ১ |
labels.update | ৫ |
messages.attachments.get | ২০ |
messages.batchDelete | ৫০ |
messages.batchModify | ৫০ |
messages.delete | ১০ |
messages.get | ২০ |
messages.import | ২৫ |
messages.insert | ২৫ |
messages.list | ৫ |
messages.modify | ৫ |
messages.send | ১০০ |
messages.trash | ২০ |
messages.untrash | ৫ |
settings.delegates.create | ১০০ |
settings.delegates.delete | ৫ |
settings.delegates.get | ১ |
settings.delegates.list | ১ |
settings.filters.create | ৫ |
settings.filters.delete | ৫ |
settings.filters.get | ১ |
settings.filters.list | ১ |
settings.forwardingAddresses.create | ১০০ |
settings.forwardingAddresses.delete | ৫ |
settings.forwardingAddresses.get | ১ |
settings.forwardingAddresses.list | ১ |
settings.getAutoForwarding | ১ |
settings.getImap | ১ |
settings.getPop | ১ |
settings.getVacation | ১ |
settings.sendAs.create | ১০০ |
settings.sendAs.delete | ৫ |
settings.sendAs.get | ১ |
settings.sendAs.list | ১ |
settings.sendAs.update | ১০০ |
settings.sendAs.verify | ১০০ |
settings.updateAutoForwarding | ৫ |
settings.updateImap | ৫ |
settings.updatePop | ১০০ |
settings.updateVacation | ৫ |
stop | ৫০ |
threads.delete | ২০ |
threads.get | ৪০ |
threads.list | ১০ |
threads.modify | ১০ |
threads.trash | ২০ |
threads.untrash | ১০ |
watch | ১০০ |
জিমেইল এপিআই ব্যবহার করার ক্ষেত্রে, প্রতিটি ইমেল বার্তায় প্রাপকের সংখ্যা ৫০০ জনে সীমাবদ্ধ।
সময়-ভিত্তিক কোটা ত্রুটি সমাধান করুন
সমস্ত সময়-ভিত্তিক ত্রুটির (প্রতি X মিনিটে সর্বোচ্চ N সংখ্যক অনুরোধ) ক্ষেত্রে, আমরা সুপারিশ করি যে আপনার কোড যেন এক্সেপশনটি ক্যাচ করে এবং একটি ট্রাঙ্কেটেড এক্সপোনেনশিয়াল ব্যাকঅফ ব্যবহার করে, যাতে আপনার ডিভাইসগুলো অতিরিক্ত লোড তৈরি না করে।
এক্সপোনেনশিয়াল ব্যাকঅফ হলো নেটওয়ার্ক অ্যাপ্লিকেশনগুলির জন্য একটি আদর্শ ত্রুটি পরিচালনা কৌশল। একটি এক্সপোনেনশিয়াল ব্যাকঅফ অ্যালগরিদম একটি সর্বোচ্চ ব্যাকঅফ সময় পর্যন্ত, অনুরোধগুলির মধ্যে সূচকীয়ভাবে ক্রমবর্ধমান অপেক্ষার সময় ব্যবহার করে অনুরোধগুলি পুনরায় চেষ্টা করে। যদি অনুরোধগুলি তখনও অসফল হয়, তবে অনুরোধটি সফল না হওয়া পর্যন্ত সময়ের সাথে সাথে অনুরোধগুলির মধ্যে বিলম্ব বাড়ানো গুরুত্বপূর্ণ।
উদাহরণ অ্যালগরিদম
একটি এক্সপোনেনশিয়াল ব্যাকঅফ অ্যালগরিদম অনুরোধগুলোকে সূচকীয় হারে পুনরায় চেষ্টা করে, এবং একটি সর্বোচ্চ ব্যাকঅফ সময় পর্যন্ত পুনরায় চেষ্টার মধ্যবর্তী অপেক্ষার সময় বাড়িয়ে দেয়। উদাহরণস্বরূপ:
- জিমেইল এপিআই-তে একটি অনুরোধ পাঠান।
- অনুরোধটি ব্যর্থ হলে, 1 +
random_number_millisecondsঅপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন। - অনুরোধটি ব্যর্থ হলে, 2 +
random_number_millisecondsঅপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন। - অনুরোধটি ব্যর্থ হলে, 4 +
random_number_millisecondsঅপেক্ষা করুন এবং অনুরোধটি পুনরায় চেষ্টা করুন। - এবং এভাবেই চলতে থাকে, একটি
maximum_backoffসময় পর্যন্ত। - একটি নির্দিষ্ট সর্বোচ্চ সংখ্যক বার পর্যন্ত অপেক্ষা করতে ও পুনরায় চেষ্টা করতে থাকুন, কিন্তু দুটি চেষ্টার মধ্যবর্তী অপেক্ষার সময়কাল বাড়াবেন না।
যেখানে:
- অপেক্ষার সময় হলো
min(((2^n)+random_number_milliseconds), maximum_backoff), যেখানে প্রতিটি ইটারেশন (অনুরোধ)-এর জন্যnমান ১ করে বৃদ্ধি পায়। -
random_number_millisecondsহলো ১,০০০ বা তার কম মিলিসেকেন্ডের একটি র্যান্ডম সংখ্যা। এটি এমন পরিস্থিতি এড়াতে সাহায্য করে যেখানে অনেক ক্লায়েন্ট কোনো একটি কারণে সিনক্রোনাইজড হয়ে যায় এবং সবাই একযোগে পুনরায় চেষ্টা করে, অর্থাৎ সিনক্রোনাস তরঙ্গে অনুরোধ পাঠায়। প্রতিটি পুনঃপ্রচেষ্টার অনুরোধের পরrandom_number_millisecondsএর মান পুনরায় গণনা করা হয়। -
maximum_backoffসাধারণত ৩২ বা ৬৪ সেকেন্ড হয়ে থাকে। এর উপযুক্ত মান ব্যবহারের ধরনের ওপর নির্ভর করে।
ক্লায়েন্ট maximum_backoff সময়টিতে পৌঁছানোর পরেও পুনরায় চেষ্টা চালিয়ে যেতে পারে। এই সময়ের পরে পুনরায় চেষ্টার জন্য ব্যাকঅফ সময় আর বাড়ানোর প্রয়োজন নেই। উদাহরণস্বরূপ, যদি কোনো ক্লায়েন্ট ৬৪ সেকেন্ডের maximum_backoff সময় ব্যবহার করে, তবে এই মানে পৌঁছানোর পর ক্লায়েন্টটি প্রতি ৬৪ সেকেন্ড পর পর পুনরায় চেষ্টা করতে পারে। একটি নির্দিষ্ট পর্যায়ে, ক্লায়েন্টদের অনির্দিষ্টকালের জন্য পুনরায় চেষ্টা করা থেকে বিরত রাখা উচিত।
পুনরায় চেষ্টার মধ্যবর্তী অপেক্ষার সময় এবং পুনরায় চেষ্টার সংখ্যা আপনার ব্যবহারের ধরণ এবং নেটওয়ার্ক অবস্থার উপর নির্ভর করে।
মূল্য নির্ধারণ
জিমেইল এপিআই-এর সমস্ত সাধারণ ব্যবহার কোনো অতিরিক্ত খরচ ছাড়াই পাওয়া যায়। কোটা অনুরোধের সীমা অতিক্রম করলে ২০২৬ সালের শেষের দিকে আপনার গুগল ক্লাউড বিলিং অ্যাকাউন্টে চার্জ আরোপ করার পরিকল্পনা রয়েছে। আরও তথ্যের জন্য, এজেন্ট টুল এবং এপিআই-এর জন্য গুগল ওয়ার্কস্পেসের প্রমিত মডেল দেখুন।
কোটা বৃদ্ধির জন্য অনুরোধ করুন
আপনার প্রকল্পের রিসোর্স ব্যবহারের উপর নির্ভর করে, আপনি কোটা সমন্বয়ের জন্য অনুরোধ করতে চাইতে পারেন। একটি সার্ভিস অ্যাকাউন্ট দ্বারা করা এপিআই কলগুলোকে একটি একক অ্যাকাউন্ট হিসেবে বিবেচনা করা হয়। সমন্বয়কৃত কোটার জন্য আবেদন করলেই যে তা অনুমোদিত হবে, এমন কোনো নিশ্চয়তা নেই। যে কোটা সমন্বয়ের অনুরোধগুলো কোটার পরিমাণ উল্লেখযোগ্যভাবে বৃদ্ধি করবে, সেগুলো অনুমোদিত হতে বেশি সময় লাগতে পারে।
সব প্রোজেক্টের কোটা এক নয়। সময়ের সাথে সাথে আপনার গুগল ক্লাউডের ব্যবহার বাড়ার সাথে সাথে আপনার কোটার পরিমাণও বৃদ্ধি করার প্রয়োজন হতে পারে। যদি আপনি ভবিষ্যতে ব্যবহারের উল্লেখযোগ্য বৃদ্ধি প্রত্যাশা করেন, তবে আপনি গুগল ক্লাউড কনসোলের 'Quotas & System Limits' পেজ থেকে আগে থেকেই কোটা সমন্বয়ের জন্য অনুরোধ করতে পারেন।
আরও জানতে, নিম্নলিখিত উৎসগুলো দেখুন: